chore: rename packages/ to crates/
Move all 29 workspace members from packages/<name>/ to crates/<name>/. Updates: workspace Cargo.toml (members + path deps), justfile, root CLAUDE.md, scripts/build/CARGO_INSTALL.md, docs/architecture/crates.md (renamed from packages.md), structural references in docs/architecture and docs/configuration, per-crate CLAUDE.md self-references. Historical plans, reports, and building/ docs are left untouched. No behavior change; just check-all stays green and fermata tests pass.
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Package: dirigent_fermata
|
||||
|
||||
Harness-agnostic policy gate for AI coding agents.
|
||||
|
||||
## Quick Facts
|
||||
- **Type**: Library + binary (`fermata`)
|
||||
- **Main Entry**: `src/lib.rs`, `src/bin/fermata.rs`
|
||||
- **Dependencies**: `ignore`, `toml`, `regex`, `globset`, `serde`, `clap` (cli feature)
|
||||
- **Status**: v0.1 — library + CLI + Claude hook adapter
|
||||
|
||||
## Layering
|
||||
|
||||
Three concentric layers; nothing inner imports from anything outer.
|
||||
|
||||
- **`core/`** — harness-unaware, transport-unaware, sync. Types (`Op`, `Decision`), `.botignore` walker, `botignore.toml` parser, `Policy::check` / `check_command`, path extraction. Sync, no tokio.
|
||||
- **`harness/`** — `HarnessAdapter` trait over a normalized `ToolCall`. Each adapter (Claude, future Codex, etc.) lives in its own submodule, feature-gated.
|
||||
- **`bin/fermata.rs`** — only place where `clap`, stdio, and exit codes appear.
|
||||
|
||||
## Release Model
|
||||
|
||||
Developed in this monorepo; planned to be exported as a standalone repo in the future for advertising / external distribution. Development stays here. See `docs/tools/fermata.md`.
|
||||
|
||||
## Dependency Direction
|
||||
|
||||
`dirigent_tools` depends on `dirigent_fermata`, never the reverse. Fermata must remain usable as a standalone hook/MCP without dragging in the in-process ACP tool runtime.
|
||||
|
||||
## Out of scope (v0.1)
|
||||
|
||||
Codex / Gemini hook adapters, MCP server mode, PostToolUse envelope, `readonly_only` Bash mode, audit log, filesystem watcher. Each is a future task with its own plan.
|
||||
|
||||
## See also
|
||||
|
||||
- `docs/tools/fermata.md` — Dirigent integration plan
|
||||
- `docs/workpad/brainstorm/fermata.md` — canonical product spec
|
||||
Reference in New Issue
Block a user