← ClaudeAtlas

stack-setuplisted

Interactive wizard to fill in .claude/stack.yml through guided questions — asks about runtime, backend, frontend, build, testing, deploy, docs, commands, and standards paths, then writes the file. Triggers: "stack setup" | "setup stack" | "configure stack" | "fill stack.yml" | "stack wizard" | "stack-setup".
Roxabi/roxabi-plugins · ★ 9 · Web & Frontend · score 75
Install: claude install-skill Roxabi/roxabi-plugins
# Stack Setup Wizard Auto-discover project config → confirm → write `.claude/stack.yml`. Safe to re-run. Let: σ := `.claude/stack.yml` | π := proposed config table ## Phase 0 — Idempotency `test -f .claude/stack.yml && echo exists || echo missing` σ ∃ ∧ `--force` ∉ `$ARGUMENTS` → → DP(A) **Re-configure** | **Skip** → Skip: "Keeping existing σ. Run with `--force` to reconfigure." σ ∄ → `mkdir -p .claude` ## Phase 1 — Check /init prerequisite `test -f .claude/dev-core.yml && grep -q 'gh_project_id' .claude/dev-core.yml && echo done || (test -f .env && grep -q 'GH_PROJECT_ID' .env && echo done || echo missing)` `missing` → → DP(A) **Continue anyway** | **Abort (run /init first)** ## Phase 2 — Auto-discover Run all detection; derive π: ```bash # Runtime & package manager echo "--- RUNTIME ---" if [ -f pyproject.toml ]; then grep -q '\[tool\.uv\]' pyproject.toml && echo "runtime=python pm=uv" || echo "runtime=python pm=pip" elif [ -f bun.lockb ]; then echo "runtime=bun pm=bun" elif [ -f pnpm-lock.yaml ]; then echo "runtime=node pm=pnpm" elif [ -f yarn.lock ]; then echo "runtime=node pm=yarn" elif [ -f package.json ]; then echo "runtime=node pm=npm" else echo "runtime=unknown pm=unknown" fi # Source / backend path echo "--- SOURCE PATH ---" grep -oP '(?<=packages = \[")[^"]+' pyproject.toml 2>/dev/null | head -1 \ || (test -d src && echo "src") \ || (test -d apps/api && echo "apps/api") \ || echo "" # Backend framework echo "--- BACKEND FRAMEWORK ---" grep -iE