env-setuplisted
Install: claude install-skill Roxabi/roxabi-plugins
# Env Setup
Let:
I_TS := `${CLAUDE_PLUGIN_ROOT}/skills/init/init.ts`
Φ := CLAUDE_PLUGIN_ROOT
F := `--force` flag present in `$ARGUMENTS`
σ := `.claude/stack.yml`
D(label, result) := Display: `{label} {result}`
D✅(label) := D(label, "✅ Created")
D⏭(label) := D(label, "⏭ Skipped")
ensureGitignore(entry) := `grep -q '{entry}' .gitignore 2>/dev/null || echo '{entry}' >> .gitignore`
Configure local developer environment: stack config, governance rules, docs stubs, editor settings, LSP.
Runs standalone (`/env-setup`) or called by `/init` as part of full project initialization.
## Phase 1 — Stack Configuration
Set up σ early — later phases read runtime, package manager, commands, deploy platform, hooks tool, docs format.
1. `test -f .claude/stack.yml && echo exists || echo missing`
2. missing → Ask: **Set up stack.yml now** (recommended) | **Skip** (fallback defaults).
3. **Set up** → O_stackSetup:
- `cp "${Φ}/stack.yml.example" .claude/stack.yml`
- Ask ∀ critical field: **Runtime** → bun|node|python → `runtime`+`package_manager` | **Backend path** (e.g. `apps/api`, blank=none) | **Frontend path** (e.g. `apps/web`, blank=none) | **Test command** → `commands.test`
- Write values into σ. Inform: "Fill in remaining fields in σ before running agents."
4. `head -1 CLAUDE.md` → ¬`@.claude/stack.yml` → prepend `@.claude/stack.yml\n`. D✅("@import").
5. ¬`.claude/stack.yml.example` → `cp "${Φ}/stack.yml.example" .claude/stack.yml.example`. D