cargo clippy --workspace --all-targets --all-features -- -D warnings
uv run cargo run -- test --reporter llmA single knob (-v / -q flags or TRYKE_LOG env) drives both rust
and python verbosity. RUST_LOG is honored as a power-user override
for the rust side only. Default is warn on rust, off for workers
(no chatter unless asked). See docs/guides/configuration.md for the
full precedence chain.
we use cargo-nextest — install once with
cargo install cargo-nextest --locked, then:
uv run cargo nextest run --workspace --all-features- all changes must be tested. if you're not testing your changes, you're not done.
- get your tests to pass. if you didn't run the tests, your code does not work.
- follow existing code style. check neighboring files for patterns.
- always run
uvx prek run -aat the end of a task. - when making changes that affect CLI output, render the ANSI output and share a screenshot with the user for review.
- When opening a PR, use
.github/pull_request_template.mdand keep each section concise. - When opening a PR, do not add any title prefix such as
[codex],[claude], or a category tag; use the plain title. - avoid falling back to patterns that require panic!, unreachable!, or .unwrap(). Instead, try to encode those constraints in the type system.
- prefer let chains (if let combined with &&) over nested if let statements to reduce indentation and improve readability.
- if you have to suppress a clippy lint, prefer to use #[expect()] over [allow()], where possible.
- in python, always prefer strong, precise typing. use concrete types, typed
protocols, dataclasses, NamedTuple, or TypedDict over
object/Any/ untyped dict. fix the underlying typing problem rather than reaching for# noqa,# type: ignore,cast(),getattr()/hasattr(), or other dynamic escape hatches. if a type checker complains, the first move is to tighten the types, not silence the checker. - use comments purposefully. don't use comments to narrate code, but do use them to explain invariants and why something unusual was done a particular way.
- comments and docs should be capitalized: https://google.github.io/styleguide/cppguide.html#Punctuation_Spelling_and_Grammar and https://peps.python.org/pep-0008/#comments