Expand description
Foundation crate shared across nils-* CLIs.
Each public module documents its own surface; crates/nils-common/README.md carries the
per-module narrative and the consumer index, and
docs/specs/workspace-shared-crate-boundary-v1.md carries the boundary contract.
§Compatibility rules
- Returns structured results only; user-facing warning/error text stays in caller adapters.
- Exit-code mapping stays in caller crates.
- APIs stay domain-neutral and must not encode crate-specific UX policies.
- Quoting and ANSI differences are expressed via explicit mode/policy parameters.
§Determinism contract (Resolved Decision #9)
agent-runtime-cli consumes this crate on its render path, so
std::collections::HashMap, std::time::SystemTime::now, and
chrono::Utc::now are forbidden inside this crate. The crate-wide
#![deny(...)] below pairs with clippy.toml to make every
violation a build failure. Use IndexMap or BTreeMap for any map
that wants stable iteration. Source:
agent-runtime-kit/docs/source/inventory-target-architecture.md
→ Resolved Decision #9.
Modules§
- cli_
contract - Workspace-wide CLI output contract primitives.
- clipboard
- diag_
output - Shared JSON envelope helpers for CLI diagnostic / structured output.
- env
- fs
- git
- markdown
- process
- provider_
runtime - rate_
limits_ ansi - redact
- Domain-neutral secret redaction shared across evidence-producing CLIs.
- shell