Skip to content

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).

About

Command-line interface for Radroots

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages