Thanks for contributing.
quincode is a Rust terminal coding agent (TUI + CLI). This guide covers the expected workflow for code, docs, and issue tracking.
- Rust stable toolchain
- Git
bd(beads) for issue trackingpre-commitgitleakstrivy
- Clone the repo.
- Build and run tests:
cargo build
cargo test- Run the app:
# Interactive mode
cargo run
# One-shot mode
cargo run -- run "inspect this repository"
# Config diagnostics
cargo run -- config doctorsrc/main.rs: CLI entrypoint and command dispatchsrc/cli.rs: Clap command definitionssrc/config.rs: Config schema and merge logicsrc/agent.rs: Agent loop and tool orchestrationsrc/llm/mod.rs: OpenAI/Anthropic compatibility adapterssrc/tools/shell.rs: Shell tool executionsrc/ui/*: TUI state, rendering, formatting
Use bd for all planned work:
bd ready
bd show <id>
bd update <id> --status in_progress
bd close <id>
bd syncIf follow-up work remains, create/adjust issues before ending your session.
- Keep changes focused and testable.
- Prefer small commits with clear intent.
- Run formatting and tests before opening a PR:
cargo fmt
cargo test- If behavior changes, update docs in the same PR (
README.md,AGENTS.md, this file, orSECURITY.mdwhen relevant).
Install and enable hooks:
pre-commit install
pre-commit install --hook-type pre-pushRun all hooks manually:
pre-commit run --all-files- CI runs
gitleaksandtrivyon pushes and pull requests. - Before opening a PR, run local scans:
gitleaks git --no-banner
trivy fs --scanners vuln,misconfig,secret --severity HIGH,CRITICAL --exit-code 1 --no-progress .Use Conventional Commits where possible:
feat: add slash command supportfix: harden terminal resize behaviordocs: update config exampleschore: maintain tooling config
Include:
- What changed and why
- Related issue IDs (
bdor GitHub issues) - Any behavior changes users should know
- Test/verification summary (commands run and outcomes)
AI-assisted changes are welcome. Before submitting:
- Validate generated code and imports
- Remove placeholders/TODO noise unless intentionally tracked
- Ensure command/documentation accuracy against current source
- Re-run
cargo test
When wrapping up implementation work:
git pull --rebase
bd sync
git push
git statusWork is only complete once changes are pushed and the branch is up to date with origin.