Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
# Radroots CLI `radroots` is the local-first command-line host for the release-v1 Radroots crate graph. It consumes the canonical `radroots` facade and retains command parsing, client composition, output envelopes, and presentation concerns. The CLI is pre-release software. `Cargo.toml` pins the public Radroots library repository at an exact Git revision; `Cargo.lock` and `radroots.lib.source-lock.v1.toml` record the corresponding dependency graph and source evidence. The repository never falls back to a sibling checkout. ## Install and run Use the toolchain declared by `rust-toolchain.toml` and the committed lockfile: ```sh cargo build --locked cargo run --locked -- --help ``` In an extbuild-enabled checkout, run `cargo extbuild doctor` first and route the commands through `cargo extbuild run -- ...`. A standalone checkout does not require an enclosing Radroots workspace or a local dependency override. ## Release-v1 command model Commands are organized by resource. Inspect any level with `--help`: ```sh radroots profile inspect --format json radroots health inspect --format json ``` Only local profile and health inspection are executable in the initial crate release. The complete resource vocabulary remains parseable so automation gets a stable, structured `unsupported_operation` response while private predecessor runtimes are retired. No command silently falls back to a sibling checkout or legacy engine. Global controls include: - `--format terminal|json|ndjson` for stable output envelopes; - `--account-id` for an invocation-scoped account selection; - `--offline` or `--online` for explicit network policy; - `--dry-run` for validation without durable effects; - `--idempotency-key` and `--correlation-id` for mutation receipts; - `--no-input`, `--yes`, and `--approval-proof` for automation-safe approval; - `--quiet`, `--verbose`, and `--trace` for presentation detail. Machine consumers should prefer JSON for a single response and NDJSON for a stream. A nonzero exit is paired with the structured error in the output envelope; scripts should evaluate both. ## Configuration The current executable accepts only the command-line controls shown by `radroots --help`; it does not load `.env`, user, or workspace configuration. `profile inspect` and `health inspect` construct and close the pinned facade's local-only memory client. All write operations remain fail closed until their canonical SDK orchestration is implemented by a later release. `.env.example` is retained as pre-refactor implementation evidence, not as a description of active runtime behavior. Do not treat it as a supported configuration contract. ## Package migration The v1 crate migration removed compatibility namespaces and the CLI-owned generic signing, transport, storage, and sync engines. The initial CLI host uses only the final facade composition. `AGENTS.md` defines the current repository boundary and contribution rules; historical migration guidance is not a standalone build or release input. ## Verification The forge-agnostic standalone checks are: ```sh nix run .#fmt nix run .#check nix run .#test nix run .#release-acceptance ``` Each surface rejects forbidden capsule-local documentation and workflow roots before running its Rust checks. An extbuild-enabled checkout routes these commands through `cargo extbuild run -- ...`. ## Copyright and license Except as otherwise noted, all files in the `radroots_cli` distribution are Copyright © 2026 Tyson Lupul. This repository is licensed under GPL-3.0-or-later. See [`LICENSE`](LICENSE).