Development
Build
bash
git clone https://github.com/qingjiuzys/anycode.git
cd anycode
cargo build --releaseInstall to PATH (optional)
bash
cargo install --path crates/cli --force
anycode --helpCommon commands
bash
cargo test
cargo fmt
cargo clippyArchitecture reading order (~5 minutes)
crates/core/src/traits.rs—Tool,LLMClient,MemoryStore, and other ports.crates/agent/src/runtime/—AgentRuntimeand the tool/LLM loop (session.rs); orchestration authority is notAgent::execute(seedocs/adr/000-runtime-orchestration.mdin the repo).crates/cli/src/bootstrap/runtime.rs— builds the shared runtime for CLI/TUI/channel bridges (initialize_runtime).- Contributing extensions — checklists for registry, catalog, and providers.
Changing the default tool surface
When adding or changing tools exposed to the model by default, follow the checklist at the top of crates/tools/src/registry.rs (ins! registration, catalog constants, DEFAULT_TOOL_IDS, tests, etc.). If a tool can write files, hit the network, spawn sub-agents, or similar, also add its API name to catalog::SECURITY_SENSITIVE_TOOL_IDS in crates/tools/src/catalog.rs — the CLI bootstrap registers SecurityLayer from this; do not maintain a parallel list only in bootstrap.
Before merging, run at least:
bash
cargo test -p anycode-tools
cargo test --workspaceSee Architecture for registry boundaries and orchestration.
Workspace notes
anycode-channelsremains in the repo; the CLI does not depend on it yet — reserved for multi-channel expansion.anycode-memoryis a workspace member and is wired through CLIbootstrapwhen configured (memory.backend, etc.);cargo test -p anycode-memoryvalidates the library.
Related
- Root README — full contributor workflow
- Roadmap — staged tool work
