CLI commands
Binary: shipseal. Every command accepts the shared flags below.
| Flag | Meaning |
|---|---|
--cwd <path> | Run against another directory |
--json | Machine-readable output |
--quiet | Errors only |
--verbose | Extra detail |
shipseal init
Detects the brand, writes .shipseal/brand.json and .shipseal/config.json, offers to update .gitignore, and renders one sample card using the brand it just found.
Flags: --yes accepts the detections without prompting, --force overwrites existing files.
shipseal release
Generates the release pack.
| Flag | Default | Meaning |
|---|---|---|
--tag <tag> | latest tag | Which release to build |
--from <tag> | previous tag | Compare base |
--formats <list> | from config | For example og,x |
--templates <list> | from config | For example release-hero |
--themes <dark|light|both> | brand theme | Which themes to render |
--no-copy | off | Force deterministic copy, no LLM |
--out <dir> | from config | Output directory |
--strict | off | Exit 2 on any fit warning |
--dry-run | off | Print facts, render nothing |
--package <path> | repo root | Pick a workspace package |
shipseal milestone
Reads the current metric and renders a card for the highest threshold you have crossed. If nothing has been crossed it exits 0 with a message and generates nothing.
Flags: --metric <stars|downloads|contributors>, --threshold <n>.
shipseal bench
Renders benchmark cards from a JSON file. Percentages are computed by code, never written by a model.
{
"title": "Rendering got faster",
"metrics": [
{ "label": "Render time", "before": 420, "after": 87, "unit": "ms", "better": "lower" }
],
"note": "vitest bench, M4, 2026-09-10"
}Flags: --file <path>. A regression is rendered honestly as a regression.
shipseal doctor
Checks Node, git, shallow clones, the brand file, fonts, the logo, GITHUB_TOKEN and the renderer.
Exit codes
| Code | Meaning |
|---|---|
0 | Success. Warnings allowed unless --strict |
1 | Error: invalid config, missing required fact, render failure |
2 | Fit warnings present and --strict was set |