These procedures are for CommandAgent maintainers. End-user installation and usage stay in the root English and Japanese READMEs.
Run the narrowest relevant check first, then broaden in proportion to risk:
cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
cargo test
cargo run -- --helpBefore a UAT run, verify the binary provenance:
commandagent --version
command -v commandagentcommandagent --version should show the intended commit, dirty marker, and
build timestamp. command -v commandagent should resolve to the expected
target/ binary or installation path for the run.
The offline presentation walkthrough is available for manual TTY review:
COMMANDAGENT_PTY_TESTS=1 cargo test tui_pty_smoke -- --ignored
commandagent --ux-demo
commandagent --helpcommandagent --ux-demo exercises the banner, plan card, phase header, activity
narration, live footer interrupt hint, and terminal summary card without
contacting a provider. If a terminal shows cursor-region artifacts, rerun with
--footer off; scrollback breadcrumbs remain enabled.
OPENAI_API_KEY is read only from the process environment. GEMINI_API_KEY
checks the process environment first and then .env in the active workspace.
Values are redacted from logs.
Live provider tests are gated:
COMMANDAGENT_LIVE_PROVIDER_TESTS=1 cargo test live_ -- --ignoredOverride smoke model IDs with COMMANDAGENT_OPENAI_SMOKE_MODEL and
COMMANDAGENT_GEMINI_SMOKE_MODEL when needed.
The F-0 Luna chokepoint smoke is run separately with the exact model ID:
COMMANDAGENT_LIVE_PROVIDER_TESTS=1 \
COMMANDAGENT_OPENAI_SMOKE_MODEL=gpt-5.6-luna \
cargo test live_openai_luna_chokepoint_smoke -- --ignored --nocapture./scripts/build-release.sh
target/release/commandagent --versionThe release script builds with Cargo's optimized release profile in an isolated
temporary target directory, verifies the staged executable's package version
and Git commit provenance, and publishes it at target/release/commandagent.
On success, that executable is the only entry left under target/release. On a
build or provenance failure, the previously published executable is preserved.
Temporary release artifacts are removed on both paths; ordinary cargo build
and cargo test commands continue to use Cargo's normal cache.
A maintainer may point a local launcher at the clean release binary:
ln -sfn "$(pwd)/target/release/commandagent" "$HOME/.local/bin/commandagent"
commandagent --helpAn existing commandagentdev symlink to target/release/commandagent continues
to use the newly published executable and can be checked with
commandagentdev --version. These symlinks are local conveniences and are not
part of the copy artifact.
Validate that the tracked repository works without local ignored state:
tmp=$(mktemp -d)
git archive --format=tar HEAD | tar -x -C "$tmp"
cd "$tmp"
cargo test
cargo run -- --helpRepository-local Codex skills live under .agents/skills/ and are invoked as
$skill-name. See docs/codex-harness.md for the migrated
command map, orchestration entry point, safety boundaries, and validation
commands.