원클릭으로
init-project
Quick-start Claude Code configuration. Auto-detects stack, asks 4 questions to understand the project, generates complete config.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Quick-start Claude Code configuration. Auto-detects stack, asks 4 questions to understand the project, generates complete config.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Audits the Claude Code configuration of a project against the dotforge template. Generates a report with score and gaps.
Sync all GitHub-backed git repos on this machine with origin. Pulls behind repos, pushes ahead repos, reports dirty/non-main/conflict cases for Claude to resolve.
Generate a Claude Code plugin package from the current project's dotforge configuration, ready for marketplace submission.
Fetch official Anthropic/Claude Code docs, detect changes relevant to dotforge, report deltas.
Process the practices inbox, evaluate, incorporate into dotforge, and suggest propagation to projects.
Restore a project's .claude/ directory to the dotforge template from scratch, with backup and rollback option.
| name | init-project |
| description | Quick-start Claude Code configuration. Auto-detects stack, asks 4 questions to understand the project, generates complete config. |
| context | fork |
MANDATORY FLOW: detect stack → ask 4 questions → WAIT for answers → generate config.
You MUST ask the 4 questions in Step 4 and WAIT for the user to answer BEFORE generating any files. Do NOT skip the questions. Do NOT generate config before receiving answers.
If .claude/settings.json exists:
Already initialized. Use /forge sync to update or /forge audit to check score.
Exit without changes.
Scan project files silently using $DOTFORGE_DIR/stacks/detect.md as reference:
python-fastapi: pyproject.toml, requirements.txt with fastapi
react-vite-ts: package.json with react + vite
swift-swiftui: Package.swift, *.xcodeproj
node-express: package.json with express/fastify (no react)
go-api: go.mod
java-spring: pom.xml or build.gradle with spring
supabase: supabase/ dir or supabase in deps
docker-deploy: Dockerfile or docker-compose*
gcp-cloud-run: app.yaml or cloudbuild.yaml
aws-deploy: cdk.json or template.yaml
redis: redis in deps
data-analysis: *.ipynb prominent
devcontainer: .devcontainer/
Also scan existing files for additional context:
Detect language: check previous messages → global CLAUDE.md → system locale → default English.
OVERRIDE RULE: For /forge init, ALWAYS present questions in the detected language, even if global CLAUDE.md says "communicate in Spanish/English/etc." The questions are part of the tool's UI, not a conversation.
Present all 4 questions together in one message. Then STOP and WAIT for the user's response. Do NOT proceed to Step 5 until the user answers.
English version:
═══ FORGE INIT ═══
Stack detected: {stacks or "none — generic config"}
4 quick questions to generate a complete config:
1. What does it do and what does it NOT do?
→ One sentence: the problem it solves, and explicit limits of v0.1.
Example: "REST API for real-time quotes. No auth, no frontend, no historical data yet."
2. Built with what?
→ Stack, language, DB, external services, where it runs.
Example: "Python 3.12, FastAPI, Supabase, deployed on GCP Cloud Run."
3. How do you work?
→ Solo or team, spec-first or prototype-first, testing level from day one.
Example: "Solo, prototype-first, tests only for critical paths."
4. What domain and role?
→ What expertise does Claude need? What business concepts are critical?
Example: "Expert in Jira API v3, agile metrics, dashboard generation.
Key concepts: velocity, cycle time, sprint burndown, JQL."
Spanish version:
═══ FORGE INIT ═══
Stack detected: {stacks or "none — generic config"}
4 quick questions to generate a complete config:
1. What does it do and what does it NOT do?
→ One sentence: the problem it solves, and the explicit limits of v0.1.
Example: "Real-time quotes REST API. No auth, no frontend, no historical data yet."
2. Built with what?
→ Stack, language, DB, external services, where it runs.
Example: "Python 3.12, FastAPI, Supabase, deploy on GCP Cloud Run."
3. How do you work?
→ Solo or team, spec-first or prototype-first, testing level from day one.
Example: "Solo, prototype-first, tests only for critical paths."
4. What domain and role?
→ What expertise does Claude need? What business concepts are critical?
Example: "Expert in Jira API v3, agile metrics, dashboard generation.
Key concepts: velocity, cycle time, sprint burndown, JQL."
Use the appropriate version based on detected language. For other languages, translate the questions following the same structure.
STOP HERE. Wait for the user's response before proceeding.
If the user answers in a single message covering all 4, parse accordingly. If the user says "skip", proceed with auto-detected info only.
Important: Generate CLAUDE.md content in English (Claude-consumed content must be in English per project conventions). The user's answers are incorporated as-is regardless of their language.
Run /bootstrap-project internally with:
standardThen enrich the generated CLAUDE.md with the user's answers:
Insert the user's answers into the <!-- forge:custom --> section of CLAUDE.md:
<!-- forge:custom -->
## What this project does
{answer to question 1 — what it does AND what it doesn't do}
## Stack & infrastructure
{answer to question 2 — expanded with detected stacks}
## Working style
{answer to question 3 — solo/team, approach, testing expectations}
## Role
{Generated from answer to question 4 — Claude's role and expertise for this project}
## Domain
{Generated from answer to question 4 — key domain concepts, business rules, reference data}
If the user provided build/test commands in their answers, also update the ## Build & Test section above the forge:custom marker.
If the user mentioned specific services, external APIs, or sensitive areas in question 2, add relevant deny patterns to settings.json. Examples:
Read(**/.env) covers SUPABASE_* varsIf the user answered question 4 with domain/role info:
.claude/rules/domain/ directoryIf the user skipped question 4, skip this entirely.
Heuristic for "VPS mentioned": answer 2 contains any of ssh, vps, oracle, hetzner, digitalocean, bare metal, self-hosted, ubuntu server, droplet, a hostname, or a bare IP. Also trigger if ~/.ssh/config has a Host alias whose name resembles the project name.
When triggered, ask ONE additional question in the detected language:
5. SSH/VPS connection? (optional)
→ Paste the relevant lines from `cat ~/.ssh/config`, OR answer
"<alias> <user> <host> <key> <app_dir>".
Say "none" if the project does not deploy by SSH.
If answered (not "none"):
vps-ssh stack (add its rules + merge its settings.json.partial).claude/rules/domain/infra.md with frontmatter:
---
globs: "**/deploy*.sh,**/Makefile,**/scripts/*.sh"
description: "Remote host, deploy flow, and ops for this project"
domain: infra
last_verified: <today>
---
TBD if unknown):
## Host — alias, User, HostName, IdentityFile (path only, never key content), port## App — remote app dir, service name (systemd/docker/pm2), runtime user## Deploy — exact command(s) from local → remote, rollback command## Observability — logs command, health-check URL or command~/.ssh/config snippet pasted is not already in the user's ~/.ssh/config, show it and offer to append it (do NOT write ~/.ssh/config without explicit confirmation)IdentityFileIf answered "none" or no VPS heuristic matched, skip this section entirely.
Show a concise summary:
═══ FORGE INIT — DONE ═══
Project: {name}
Stacks: {detected stacks}
Config: dotforge v2.3.0 standard
Generated:
CLAUDE.md → project context (personalized)
.claude/settings.json → permissions + hooks
.claude/rules/ → {N} rules
.claude/hooks/ → {N} hooks
.claude/commands/ → {N} commands
.claude/agent-memory/ → persistent memory
CLAUDE_ERRORS.md → error log
.forge-manifest.json → version tracking
Score: {X}/10 (run /forge audit for details)
<!-- forge:custom --> section (protected from future syncs)/forge bootstrap for full interactive version