FORGE Initializer — Initializes FORGE in a new or existing project. Creates the .forge/ structure, templates, CLAUDE.md, and detects the tech stack. Usage: /forge-init or /forge-init <path>
Install
npx skillscat add fwehrling/forge/forge-init Install via the SkillsCat registry.
SKILL.md
/forge-init — FORGE Initialization
Initializes the FORGE framework in a new or existing project.
French Language Rule
All content generated in French MUST use proper accents (é, è, ê, à, ù, ç, ô, î, etc.), follow French grammar rules (agreements, conjugations), and use correct spelling.
Workflow
Detect the context:
- If a path is provided as argument, initialize that directory
- Otherwise, initialize the current directory
- Check if FORGE is already initialized (
.forge/config.ymlexists) - If already initialized: still run Token Saver setup (step 8), then suggest
/forge-resumefor project work
Detect the tech stack:
- Language: TypeScript, Python, Go, Rust, etc. (via tsconfig.json, pyproject.toml, go.mod, Cargo.toml)
- Project type: web-app, api, mobile, library, cli (via package.json, framework markers)
- Framework: React, Next.js, Angular, Express, Django, FastAPI, Expo, etc.
- Package manager: pnpm, npm, yarn, pip, cargo, go modules
Create the FORGE structure:
.forge/ config.yml # Main configuration (generated) sprint-status.yaml # Sprint tracking (empty) templates/ # Artifact templates prd.md architecture.md story.md ux-design.md sprint-status.yaml workflows/ # Workflow definitions quick.yaml standard.yaml enterprise.yaml docs/ stories/ # Stories directory references/ agents/ # Agent personas (copied from FORGE repo)Generate
.forge/config.yml:- Pre-fill
project.name,project.type,project.languagebased on detection - Ask the user to confirm or adjust
- Offer the scale choice: quick, standard, enterprise
- Pre-fill
Generate
CLAUDE.md:- If the file does not exist, create it with:
- Detected project name and type
- List of available FORGE commands
- Conventions (commits, tests, branches)
- Architecture section (placeholder → to be filled by
/forge-architect)
- If the file already exists, offer to add the FORGE Commands section
- If the file does not exist, create it with:
Configure
.gitignore:- Add FORGE entries (.forge/secrets/, .forge/audit.log, .env, etc.)
Copy individual skills:
- Create
.claude/skills/forge-*/SKILL.mdfor each FORGE command - This gives the user immediate access to all
/forge-*commands
- Create
Install Token Saver (global, idempotent):
- Creates
~/.claude/hooks/output-filter.js(PreToolUse hook that rewrites known verbose commands) - Creates
~/.claude/hooks/token-saver.sh(wrapper that executes commands and filters output) - Patches
~/.claude/settings.jsonto add the hook and permission - Skips files that already exist (safe to re-run)
- Covered commands: git, npm, pnpm, yarn, bun, pip, pytest, go, cargo, docker, make, mvn, gradle, dotnet, swift, tsc
- Creates
Display the summary:
- Detected stack
- Created files
- Recommended next steps:
/forge-planto start planning/forge-statusto view the project state
Notes
- The shell script
forge-init.sh(in.claude/skills/forge/) contains the basic initialization logic - This skill extends the script with advanced detection and Claude interactivity
- Never overwrite an existing
CLAUDE.mdwithout asking for confirmation - Never overwrite an existing
.forge/config.yml→ suggest/forge-resumeinstead