init-project
Init Project
Automatically configure Claude Code best practices for new projects: directory skeleton, general-purpose agents, hooks, and CLAUDE.md.
Execution Flow
-
Phase 1: Generate Skeleton (deterministic script) → Run
scripts/init-skeleton.shto create directory structure + boilerplate files → Output which files were created -
Phase 2: Interactive CLAUDE.md Fill (LLM + AskUserQuestion) → Process
<!-- init-project: 待填充 -->placeholders section by section → For each section: read codebase → generate draft → AskUserQuestion to confirm → write → User can reply "skip" to skip any section → Detailed guide templates indetails/claude-md-sections.md -
Phase 3: Profile Overlay (optional) → AskUserQuestion: "Want to overlay an additional profile? Currently supported: research" → If research selected → run
scripts/init-research-profile.sh→ Profile details indetails/research-profile.md -
Output Summary → List all generated/modified files → Suggest next steps: review content, git add, start developing
Phase 2 Section Processing Strategy
| Section | Auto-exploration | User prompt |
|---|---|---|
| Project overview | Read README, pyproject.toml, package.json | "One-line description of this project's core goal?" |
| Directory structure | ls + read key file docstrings | "Does this directory layout look correct? Anything to adjust?" |
| Dev workflow | Detect CI, Makefile, scripts/ | "Use the default brainstorming→plans→dev→verify flow?" |
| Dev guide | Detect venv, .env, Dockerfile | "Any special environment setup steps?" |
| Always Do (project-specific) | Read rules/, lint config | "Any cross-module consistency requirements?" |
| Ask First | Scan core files (interfaces, config) | "Which files/dirs require confirmation before modifying?" |
| Never Do | Detect third_party/, .env | "Any absolute don't-touch conventions?" |
| Progressive references | Scan docs/, skills, agents | "Any additional task→reference file mappings to add?" |
Constraints
- Idempotent: existing files are never overwritten, only gaps are filled
- No auto git add/commit: user decides when to commit
- No existing content modification: only
<!-- init-project: 待填充 -->placeholders are touched - Scripts run standalone:
init-skeleton.shandinit-research-profile.shwork independently of the skill
References
- Skeleton file manifest:
details/skeleton-manifest.md - CLAUDE.md section guide:
details/claude-md-sections.md - Agent templates:
details/agent-templates.md - Research profile:
details/research-profile.md