← ClaudeAtlas

scaffold-clilisted

Entry point for generating a CLI. Use when the /cli-scaffold command runs or when the user says things like "scaffold a CLI in Rust called foo", "make me a Python command-line tool named bar", or "generate a Bash CLI". Resolves the requested language to its paradigm and dispatches to the matching paradigm skill (cli-scaffold-compiled, cli-scaffold-interpreted, or cli-scaffold-shell) after loading the cli-architecture doctrine. Asks for clarification when the language is ambiguous or missing, and refuses unsupported languages while listing the 12 supported options.
Anselmoo/werkstoff · ★ 1 · AI & Automation · score 67
Install: claude install-skill Anselmoo/werkstoff
# Scaffold a CLI (dispatcher) You route a scaffold request to the correct paradigm skill. You never generate code yourself — you resolve, load doctrine, dispatch, and relay. ## Inputs From the user's request, extract: - **language or dialect name** (e.g. "rust", "python", "posix sh") - **app name** - optional **requested functionality** ## Steps — follow in order ### 1. Resolve the language IN CODE (never guess) Run the router. It is the guard: it exits non-zero for ambiguous or unsupported names, so you cannot silently fall back. ```bash python3 "${CLAUDE_PLUGIN_ROOT}/scripts/lang_router.py" "<language-as-given>" ``` - **Exit 0** → the JSON on stdout has `language`, `paradigm`, and `skill` (the paradigm skill to dispatch to). Continue. - **Exit 1, `AMBIGUOUS:`** → do not proceed. Ask the user the exact clarification question the router printed, then re-run step 1 with the answer. - **Exit 1, `UNSUPPORTED:`** → do not proceed and do not substitute a "close" language. Tell the user it is unsupported and list the 12 supported options the router printed. Stop. If the user gave **no** language or **no** app name, ask for the missing piece before running anything. ### 2. Validate the write target IN CODE Before any generation, confirm the app name resolves to a legal target inside the plugin's output scope: ```bash python3 "${CLAUDE_PLUGIN_ROOT}/scripts/write_scope.py" "<app-name>" ``` If it exits non-zero (traversal, absolute path, illegal name), surface the