Verification
Use this page before publishing changes.
Python Core
Style, lint, and type-check the Python surface:
ruff format --check .
ruff check .
ty check --extra-search-path core
Ty is currently scoped to the core runtime and the CLI compatibility shim in the
repo-level pyproject.toml.
GitHub Actions runs these Python quality checks on every push and pull request
through .github/workflows/python-quality.yml.
Run the Python unit tests:
PYTHONPATH=core .venv/bin/python -m unittest discover core/tests
Targeted tests:
PYTHONPATH=core .venv/bin/python -m unittest core.tests.test_runtime_integration
PYTHONPATH=core .venv/bin/python -m unittest core.tests.test_history_integration
PYTHONPATH=core .venv/bin/python -m unittest core.tests.test_llm_context
PYTHONPATH=core .venv/bin/python -m unittest core.tests.test_help_agent
Rust CLI
cargo fmt --manifest-path cli/Cargo.toml -- --check
cargo clippy --manifest-path cli/Cargo.toml --all-targets -- -D warnings
cargo test --manifest-path cli/Cargo.toml
cargo check --manifest-path cli/Cargo.toml
If formatting or Clippy are missing from a local Rust toolchain, install them with:
rustup component add rustfmt clippy
Runtime diagnostics:
cargo run --manifest-path cli/Cargo.toml -- check
No-model smoke test:
PROTOAGENT_SCAFFOLD=1 cargo run --manifest-path cli/Cargo.toml -- run "show diagnostics"
Docusaurus Docs
cd docs
npm install
npm run build
Local preview:
npm run start
The generated build output is ignored at docs/build/.
End-To-End Debug Artifact
For shareable failing-run evidence:
PROTOAGENT_TRACE=1 cargo run --manifest-path cli/Cargo.toml -- run "your failing task" 2>&1 | tee /tmp/protoagent-debug.txt
tail -n 80 "${PROTOAGENT_CONFIG_DIR:-$HOME/.protoagent}/traces.jsonl"
Attach both /tmp/protoagent-debug.txt and the trace tail if available.