cli-scaffold-compiledlisted
Install: claude install-skill Anselmoo/werkstoff
# Compiled CLI scaffold (Rust / Go / .NET)
You generate a CLI in Rust, Go, or .NET. All rules come from the
**`cli-architecture`** doctrine — load it first and follow it; this skill does
not restate it.
## Step 1 — Load doctrine
Load the `cli-architecture` skill. Do not generate anything before it is loaded.
## Step 2 — Read the per-language reference
Read the reference for the resolved language (each maps 1:1 onto the five pillars):
- Rust → `${CLAUDE_PLUGIN_ROOT}/skills/cli-scaffold-compiled/references/rust.md`
- Go → `${CLAUDE_PLUGIN_ROOT}/skills/cli-scaffold-compiled/references/go.md`
- .NET → `${CLAUDE_PLUGIN_ROOT}/skills/cli-scaffold-compiled/references/dotnet.md`
## Step 3 — Resolve the write target (in code)
```bash
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/write_scope.py" "<app-name>"
```
Write the scaffold **only** under the path it prints. If it exits non-zero, stop
and ask for a valid app name — never write outside the declared output scope.
## Step 4 — Generate the scaffold freeform
Following the reference idioms (not stored boilerplate), generate:
- the **lib + binary split**: a core library file with zero CLI-framework
imports, and a thin binary entry point that only parses, dispatches into the
core, formats output, and maps the frozen exit codes;
- **packaging metadata** for the one idiomatic channel named in the reference;
- a **snapshot test** for `--help`;
- the discoverability, NO_COLOR, `--json`, `--no-input`, and stdout/stderr
behavior the