Contributing

Table of contents

  1. Development setup
  2. Build commands
  3. Pre-push checklist
  4. Manual testing
  5. Pull request process
  6. Project status

Development setup

git clone https://github.com/discostu105/lox
cd lox
cargo build
cargo test

No live Miniserver is needed for development. All unit tests use pure functions or mocked data.

Build commands

cargo build              # debug build
cargo build --release    # production binary (~4MB)
cargo test               # run all tests
cargo clippy -- -D warnings  # lint (warnings are errors)
cargo fmt --check        # check formatting

Pre-push checklist

All four checks must pass before pushing (mirrors CI):

cargo fmt --check
cargo clippy -- -D warnings
cargo build --release
cargo test

Manual testing

To test against a real Miniserver:

  1. Loxone Miniserver (Gen 1 or Gen 2) on your local network
  2. Configure credentials: lox setup set --host ... --user ... --pass ...
  3. Verify: lox status

Pull request process

  • One feature or fix per PR
  • Tests expected for new logic
  • Run cargo fmt and cargo clippy before submitting
  • Update CHANGELOG.md under [Unreleased]

Project status

This is an experimental project. Contributions welcome — especially for:

  • Testing with different Miniserver configurations
  • New control type support
  • Bug reports and fixes
  • Documentation improvements