diff --git a/.claude/skills/changelog/watermark b/.claude/skills/changelog/watermark index 60e33b400..f75bde743 100644 --- a/.claude/skills/changelog/watermark +++ b/.claude/skills/changelog/watermark @@ -1 +1 @@ -9122d42de851f9b6260000c93fa193699f4e1f47 +d6fdeb81353d3bdf86a87fc499a2a5889206524b diff --git a/.claude/skills/docs/watermark b/.claude/skills/docs/watermark index 60e33b400..f75bde743 100644 --- a/.claude/skills/docs/watermark +++ b/.claude/skills/docs/watermark @@ -1 +1 @@ -9122d42de851f9b6260000c93fa193699f4e1f47 +d6fdeb81353d3bdf86a87fc499a2a5889206524b diff --git a/docs/changelog/2026-03-18.mdx b/docs/changelog/2026-03-18.mdx new file mode 100644 index 000000000..2c2978461 --- /dev/null +++ b/docs/changelog/2026-03-18.mdx @@ -0,0 +1,33 @@ +--- +title: "Secret management and repo commands" +date: "2026-03-18" +--- + +## Secret management from the CLI + +Managing API keys and credentials previously meant manually editing `~/.fabro/.env`. The new `fabro secret` commands let you get, set, list, and remove secrets directly from the CLI. + +```bash +fabro secret set ANTHROPIC_API_KEY sk-ant-... +fabro secret list +fabro secret get ANTHROPIC_API_KEY +fabro secret rm ANTHROPIC_API_KEY +``` + +## Repository lifecycle with `fabro repo` + +Project setup commands now live under `fabro repo`. You can initialize a project with `fabro repo init` and, when you want to remove Fabro from a project, reverse it with `fabro repo deinit` — which removes `fabro.toml` and the `fabro/` directory. + +```bash +fabro repo init +fabro repo deinit +``` + +The old `fabro init` still works but prints a deprecation warning. + +## More + + +- Moved `fabro init` to `fabro repo init` with a backwards-compatible deprecation shim +- Added `--show-values` flag to `fabro secret list` to reveal secret values + diff --git a/docs/docs.json b/docs/docs.json index 76a40f140..4862d4f74 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -272,6 +272,7 @@ "group": "March 2026", "icon": "clock-rotate-left", "pages": [ + "changelog/2026-03-18", "changelog/2026-03-17", "changelog/2026-03-16", "changelog/2026-03-15", diff --git a/docs/reference/cli.mdx b/docs/reference/cli.mdx index a2255aa2b..48ae9becc 100644 --- a/docs/reference/cli.mdx +++ b/docs/reference/cli.mdx @@ -537,12 +537,12 @@ fabro parse workflow.fabro --- -## `fabro init` +## `fabro repo init` -Initialize a new Fabro project in the current git repository. Creates an `fabro.toml` project config and a sample `hello` workflow. +Initialize a new Fabro project in the current git repository. Creates a `fabro.toml` project config and a sample `hello` workflow. ```bash -fabro init +fabro repo init ``` The command must be run inside a git repository. It creates: @@ -550,6 +550,18 @@ The command must be run inside a git repository. It creates: - `fabro/workflows/hello/workflow.fabro` — a simple greeting workflow - `fabro/workflows/hello/workflow.toml` — run config for the hello workflow + +The old `fabro init` still works but prints a deprecation warning. Use `fabro repo init` instead. + + +## `fabro repo deinit` + +Remove Fabro from a project by deleting `fabro.toml` and the `fabro/` directory. Fails with an error if the project is not initialized. + +```bash +fabro repo deinit +``` + ## `fabro diff` Show the diff from a workflow run. Displays the `final.patch` for completed runs, or connects to the sandbox for a live diff from in-progress runs. @@ -686,6 +698,58 @@ fabro install --- +## `fabro secret set` + +Store a secret in `~/.fabro/.env`. + +```bash +fabro secret set ANTHROPIC_API_KEY sk-ant-... +``` + +| Argument | Description | +|---|---| +| `` | Name of the secret (required) | +| `` | Value to store (required) | + +## `fabro secret get` + +Print the value of a secret from `~/.fabro/.env`. + +```bash +fabro secret get ANTHROPIC_API_KEY +``` + +| Argument | Description | +|---|---| +| `` | Name of the secret (required) | + +## `fabro secret list` + +List secret names stored in `~/.fabro/.env`. + +```bash +fabro secret list +fabro secret list --show-values +``` + +| Flag | Description | +|---|---| +| `--show-values` | Print values alongside keys | + +## `fabro secret rm` + +Remove a secret from `~/.fabro/.env`. + +```bash +fabro secret rm ANTHROPIC_API_KEY +``` + +| Argument | Description | +|---|---| +| `` | Name of the secret to remove (required) | + +--- + ## `fabro docs` Open the Fabro documentation website in your default browser.