Caution
AI replies to Discussions and Issues are restricted. Only use AI to reply to a thread if you created it, opened a PR that fixes it, or have already had a contribution, attributed to your GitHub account, merged into the default branch of fnox. Everyone else is not allowed to, including with lightly edited, reviewed, or disclosed model output. Doing this is an instant ban across all of jdx's projects. See Community Participation.
Read the contribution expectations before starting a substantial change. For repository conventions, see AGENTS.md.
mise install
mise run buildDevelopment uses the debug build in target/debug. An activated mise shell puts the project tools on PATH.
mise run test:cargo # Rust tests
mise run build # Build before Bats tests
mise run test:bats -- test/init.bats # One end-to-end test file
mise run test:bats # All Bats tests
mise run lint # Formatting and lint checks
mise run ci # Build, tests, and lintProvider tests may require credentials or local services. See the test guide for setup and skip behavior.
aube install
aube run docs:dev
aube run docs:buildThe build checks internal links and social previews as well as rendering the site. See docs/README.md for layout, generated CLI pages, and visual checks. Markdown-only changes do not require the full Rust test suite.
mise wraps cargo with mbx, so compiled work is shared across checkouts. mise run tasks and mise exec -- cargo … use the wrapper; plain cargo does too once mise is activated in your shell. Builds that set MBX_DISABLE=1, including CI, skip the cache.