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 cargo fmt --all --check cargo check --all-targets --locked cargo test --all-targets --locked cargo clippy --all-targets --locked -- -D warnings RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --locked scripts/verify-boundaries.sh scripts/verify-source-lock.sh scripts/verify-supply-chain.sh tools/verify-repository-boundary.sh ``` The source-lock command checks the exact Cargo lock digest, public dependency revision, declared version and resolved shared package sources. It runs offline and rejects local overrides or mismatched inputs. The boundary command includes this check and byte-compares the root-only public API against its reviewed baseline and rejects forbidden repository roots or credential material. The supply-chain command validates the exact locked dependency graph, license policy, approved registries and immutable Lib source, then rejects forbidden capsule-local documentation and workflow roots. An extbuild-enabled checkout routes these commands through `cargo extbuild run -- ...`. The standalone flake exposes exactly one real `radroots` package, check, and application for `aarch64-darwin` and `x86_64-linux`. It exposes no checkout wrapper, development shell, NixOS module, OCI artifact, or other system. ## 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).