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

About

Command-line interface for Radroots

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages