Contributors
Change Nox
with confidence.
Build, test, format, and extend the system without crossing its architecture boundaries.
Use Cargo and Nix together.
cargo fmt --all
cargo test --all-targets
cargo build --release
nix flake checkThe repository also provides Nox tasks for repeatable project commands. Use the Nix shell when you need the declared formatter and toolchain environment.
Test behavior in temporary projects.
Build tests create realistic nox.build fixtures and exercise parsing, graph validation, duplicate bindings, C++ detection, run handlers, and temporary artifacts. New commands should test both successful output and the error path.
tests/
parser_bindings.rs
run_handlers.rs
run_temporary_artifact.rsKeep language behavior at the edge.
Adding a target kind touches the model, parser, executor, toolchain/state boundary, integration tests, and documentation. Adding a language Rider should not add language assumptions to graph traversal. Direct file execution belongs in the Runner registry.
Test the user workflow.
Use a temporary project to verify missing dependencies, cycles, source and header changes, debug/release separation, parallel compilation, custom prefixes, and run argument forwarding. This catches integration failures that unit tests cannot see.