From dev-init
Initialize project — orchestrates env-setup, ci-setup, release-setup + axial ADR. Invoke as /dev-init:init (¬ native /init). Triggers: "dev-init" | "setup project" | "initialize project" | "/dev-init:init".
How this skill is triggered — by the user, by Claude, or both
Slash command
/dev-init:init [--force] [--skip-axial][--force] [--skip-axial]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Let:
README.md__tests__/discover.test.ts__tests__/docs.test.ts__tests__/fumadocs.test.ts__tests__/protection.test.ts__tests__/scaffold-rules.test.ts__tests__/scaffold.test.ts__tests__/workflows.test.tsinit.tslib/discover.tslib/docs.tslib/fumadocs.tslib/protection.tslib/scaffold-rules.tslib/scaffold.tslib/types.tstemplates/docs/architecture/index.mdtemplates/docs/architecture/patterns.mdtemplates/docs/architecture/ubiquitous-language.mdtemplates/docs/contributing.mdLet:
I_TS := ${CLAUDE_PLUGIN_ROOT}/skills/init/init.ts
F := --force flag present in $ARGUMENTS
SKIP_AXIAL := --skip-axial flag present in $ARGUMENTS
args := join(F ? "--force" : "", SKIP_AXIAL ? "--skip-axial" : "")
Full project initialization harness. Orchestrates three focused sub-skills in sequence, each independently re-runnable.
Invoke: /dev-init:init (plugin-namespaced). Claude Code's built-in /init (scaffold CLAUDE.md) is a different command — do not confuse them.
Requires: dev-core installed + enabled (sub-skills + axial-adr-create live there).
| Sub-skill | Concern |
|---|---|
/dev-core:env-setup | stack.yml, CLAUDE.md rules, docs stubs, VS Code, LSP |
axial-adr-create (agent) | Axis of decomposition ADR — mandatory drift prevention (N×M trap). Skippable via --skip-axial for trivial single-axis projects. See shared/references/axial-decomposition.md |
/dev-core:ci-setup | GitHub Actions, TruffleHog, Dependabot, hooks, marketplace plugins |
/dev-core:release-setup | Commit standards (Commitizen), hook additions, release automation (semantic-release / Release Please) |
Run sub-skills directly to reconfigure a single concern without re-running the full init.
¬F → check existing: test -f .claude/dev-core.yml && echo "1" || grep -c 'dev-core' .env 2>/dev/null || echo "0".
result > 0 → present choice Re-configure (≡F) | Skip (abort).
Run: bun $I_TS prereqs. Parse JSON → display ✅/❌ table for bun, gh, git remote.
∃ ❌ → show install links:
gh auth logingit remote add origin <url>→ present choice Abort | Continue anyway (warn: some features won't work).
Call sub-skills in order. Each runs its own phases, asks its own questions, displays its own progress.
skill: "dev-core:env-setup", args: "{args}"
Foundational decision: which axis of variation is primary in this system. Project init is the only moment where the cost of asking is zero — post-scaffold, the axis is implicit in code structure and changing it costs a refactor. Without this ADR, projects drift N×M (target × concern duplication).
Reference: ${CLAUDE_PLUGIN_ROOT}/../shared/references/axial-decomposition.md
Skip path: SKIP_AXIAL ∨ F → emit D("Axial ADR", "⏭️ skipped via --skip-axial") (or --force for blanket override), continue. Trivial single-axis projects (single-purpose CLI utilities, libraries with no transport/adapter axis) legitimately exit here.
Gate path (¬SKIP_AXIAL ∧ ¬F):
Grep tool: pattern="^axial: true|axis of decomposition", path="docs/architecture/adr/", -l, -i
axial-adr-review later to surface the violation.)axial-adr-create sub-agent via Agent tool:
subagent_type: "axial-adr-create"
description: "Elicit axial decomposition decision"
prompt: "Conduct the axial-decomposition interview for this project. Read ${CLAUDE_PLUGIN_ROOT}/../shared/references/axial-decomposition.md first. Output: ADR file in docs/architecture/adr/ with `axial: true` frontmatter (grep-discoverable canonical marker — singleton invariant)."
created ∨ superseded ∨ kept → D("Axial ADR", "✅ {status}"), continue.cancelled ∧ ¬F → halt /dev-init:init:
⛔ Axial ADR required before scaffolding can continue.
State: env-setup has already completed (idempotent on re-run).
ci-setup, release-setup have NOT run.
Options:
• Re-run `/dev-init:init` — will redo env-setup (idempotent) + re-prompt axial-adr-create.
• Invoke the agent standalone: spawn `axial-adr-create` directly, then re-run `/dev-init:init`.
• Skip if this is a trivial single-axis project: `/dev-init:init --skip-axial` (re-runs env-setup; documents the skip in dev-core.yml).
Rationale: shared/references/axial-decomposition.md
cancelled ∧ F → ⚠️ warn "axial ADR skipped via --force — drift risk acknowledged", continue.skill: "dev-core:ci-setup", args: "{args}"
skill: "dev-core:release-setup", args: "{args}"
dev-init complete
=================
Run /dev-core:checkup to verify full configuration health
Run /dev-core:seed-docs to populate docs stubs from CLAUDE.md + codebase
Next steps:
/dev-core:checkup Verify full configuration health
/dev-core:seed-docs Populate scaffolded docs with content from CLAUDE.md + codebase
/dev-core:dev #N Start working on an issue
/dev-init:init --force Re-configure anytime
/dev-core:env-setup Re-run environment setup only
/dev-core:ci-setup Re-run CI/CD setup only
/dev-core:release-setup Re-run release setup only
.env must be gitignored (.claude/dev-core.yml contains only public repo configuration — commit it)$ARGUMENTS
Guides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
npx claudepluginhub roxabi/roxabi-plugins --plugin dev-init