Development
Tuff is a Rust CLI project managed with Cargo.
The Starlight/Astro docs use Node 18 or newer and npm.
cargo fetchnpm ciRun tests
Section titled “Run tests”cargo testRun lint
Section titled “Run lint”cargo fmt --checkcargo clippy --all-targets --all-features -- -D warningsRun all checks
Section titled “Run all checks”cargo fmt --checkcargo clippy --all-targets --all-features -- -D warningscargo testIf just is installed:
just checkSmoke test an installed binary
Section titled “Smoke test an installed binary”Use this flow to test Tuff the way a user would: install the current checkout
as a binary, move to a separate directory, and run tuff directly.
cargo install --path crates/tuff-climkdir -p /tmp/tuff-smokecd /tmp/tuff-smoketuff --versiontuff inittuff add /absolute/path/to/tuff/examples/skills/python-uv-defaulttuff listFrom this repo, just smoke-install runs the same flow using the skill example
from the current checkout.
Build docs
Section titled “Build docs”npm run buildServe docs locally
Section titled “Serve docs locally”npm run devIf just is installed:
just docs-serveCLI screenshots used in the docs can be generated with:
just docs-assetsThis uses freeze to capture real command output into website/public/img/generated/,
so the same approach can be reused anywhere the docs benefit from a terminal screenshot
instead of inline text.
Project structure
Section titled “Project structure”crates/tuff-cli/ CLI commands and integration testscrates/tuff-core/ lifecycle engine and adapter contractcrates/tuff-adapter-*/ native harness adapterstests/ shared test assets when presentexamples/ runnable capability examplesdocs/ documentation source files