init
Auto-detect your project and generate Claude Code config from scratch.
Starting a new Claude Code project means writing CLAUDE.md, settings, hooks, and permissions by hand. Most people skip half of it. Init detects your stack and generates the full setup in one command.
claude-launchpad initFlags
| Flag | Description |
|---|---|
-n, --name | Project name (auto-detected from directory) |
-y, --yes | Accept all defaults without prompting |
-f, --force | Overwrite existing CLAUDE.md |
With --yes, /lp-enhance installation defaults to project scope (unless already installed). --yes without --force exits with code 1 when CLAUDE.md already exists; combine -y --force for full automation.
What it writes
Always writes these files, and creates additional files only when they do not already exist:
- CLAUDE.md: stack, commands, conventions, guardrails, backlog instructions, stop-and-swarm debugging rule
- TASKS.md: sprint tracking that stays concise (one-line completed sprints, max 3 session entries,
## Current Sprintempty between sprints). The SessionStart hook loads this every session so Claude picks up where you left off. - BACKLOG.md: parked features using the 7-field WP template (Priority, Proposed, Stories/Docs, Depends on, Estimate, Trigger to pull, Definition of done). Structural P0/P1/P2/P3 sections plus a Changelog. See workflow for the full lifecycle.
- settings.json: schema, credential blocks (~/.ssh, ~/.aws, ~/.npmrc), bypass mode disabled, and hooks. Hooks run at 100% reliability (unlike CLAUDE.md rules at ~80%). The SessionStart hook loads TASKS.md every session. PostCompact re-loads it after context compression. Includes: .env protection, destructive command blocking, auto-format, sprint review, SessionStart (new + resume), PostCompact, workflow-check.
- .gitignore: prevents local settings, plans, memory from being committed
- .claudeignore: language-specific ignore patterns
- lp-enhance skill: AI-powered CLAUDE.md improver. Installed during init in either project scope (
.claude/skills/lp-enhance/SKILL.md) or global scope (~/.claude/skills/lp-enhance/SKILL.md) when not already present. - rules/conventions.md: language-specific starter rules.
- rules/workflow.md: path-scoped BACKLOG/TASKS rules (YAML frontmatter
paths: ["BACKLOG.md", "TASKS.md"]). Claude Code auto-loads it only when editing those files. See workflow. - rules/hooks.md: path-scoped hook authoring rules (YAML frontmatter
paths: [".claude/settings.json", ".claude/settings.local.json"]). Documents the input-via-stdin-not-env-vars contract, exit code 2 vs 1, multi-matcher caveats, isolation testing pattern. Auto-loads only when editing settings. - hooks/sprint-size-check.sh and hooks/sprint-open-check.sh: warn on microsprints / oversized sprints / BACKLOG drift at commit time.
- hooks/workflow-check.sh: PostToolUse staleness check that warns on duplicate WP IDs across BACKLOG+TASKS, TASKS > 80 lines, Current Sprint > 15 items, Session Log > 3 entries.
Sprint review hook
Init generates a PostToolUse hook that triggers automated code review when a sprint completes. Without this, you commit whatever Claude produced. With it, Claude reviews its own changes before they land:
- Watches for edits to TASKS.md
- When all tasks are checked off (
- [x]), outputs a review nudge - Claude scans for dead code, debug logs, convention violations, and hardcoded values
- Works across long sessions with multiple sprints, even after context compaction
The nudge is a suggestion, not a gate. Claude can ignore it for docs-only or config-only changes.
Supported stacks
Languages: TypeScript, JavaScript, Python, Go, Ruby, Rust, Dart, PHP, Java, Kotlin, Swift, Elixir, C#
Frameworks: Next.js, FastAPI, Django, Rails, Laravel, Express, SvelteKit, Angular, NestJS, and 15+ more.
After init, use /lp-enhance inside Claude Code to have Claude read your actual codebase and fill in the architecture and guardrails - not boilerplate, real project-specific content.