Ito is a Rust workspace for change-driven development workflows: proposals, specs, tasks, validation, worktrees, orchestration, backend sync, template installation, and web/backend adapters. This guide is an orientation map for agents; source code remains authoritative.
Cargo.toml: workspace membership and shared dependency versions.Makefile: developer verification targets such asmake check,make test, and release helpers.ito-rs/crates/ito-cli/src/main.rs: CLI binary entrypoint.ito-rs/crates/ito-web/src/main.rs: standalone web adapter binary.ito-rs/crates/*/source-guide.md: crate-level atlas pages.
ito-domainowns data shapes and traits.ito-coreowns use-cases, persistence adapters, installers, validation, orchestration, and workflow semantics.ito-cli,ito-web, andito-backendare adapters overito-core.ito-config,ito-common,ito-templates,ito-logging, andito-test-supportprovide shared infrastructure.
- CLI args are parsed in
ito-cliand routed to app handlers. - App handlers compose configuration from
ito-configand callito-coreuse-cases. - Core use-cases read/write repositories defined by
ito-domaintraits and implemented by filesystem, backend, or remote adapters. - Template and instruction assets come from
ito-templatesand are installed or rendered byito-core. - Optional adapters expose the same behavior over HTTP (
ito-backend) or a browser UI (ito-web).
| Directory | Responsibility | Guide |
|---|---|---|
ito-rs/ |
Rust workspace source tree. | ito-rs/source-guide.md |
ito-rs/crates/ |
Crate-by-crate architecture index. | ito-rs/crates/source-guide.md |
.ito/ |
Ito workflow specs, changes, modules, prompts, and project config. | Ito instructions |
- Main/control checkout is read-only for Ito change work; use a dedicated worktree.
.ito/,.opencode/,.github/, and.codex/contain Ito-managed files and may be overwritten byito init/ito update.source-guide.mdfiles are orientation only. Verify behavior in source before editing.- Refresh
source-guide.jsonafter updating source guides so future agents can detect drift.
- Prefer
make checkfor broad verification. - Use targeted
cargo test -p <crate>or integration-test filters for fast feedback. - The repo has a max-lines guardrail; touching already-large files can trigger
make checkfailures.