Installation
Zero to pforge smith green in 10 minutes.
Prerequisites
| Requirement | Minimum Version | Check Command | Required for |
|---|---|---|---|
| Git | 2.30+ | git --version | Everyone |
| VS Code (or Insiders) | 1.99+ | code --version | UI path |
| GitHub Copilot extension | Copilot subscription active | Copilot icon visible in status bar | UI path |
| Node.js | 18+ | node --version | CLI / server path |
pforge.ps1 / pforge.sh, and the 105 tools (REST API + WebSocket hub). Skip Node.js if you'll only use the core pipeline, prompts, instruction files, agents, and skills all live inside .github/ and run entirely inside Copilot Chat.
Option A: Clone & Setup
The fastest path, clone the repo and run the setup wizard:
git clone https://github.com/srnichols/plan-forge.git my-project-plans
cd my-project-plans
.\setup.ps1 -Preset <your-stack>
This installs all guardrails, agents, prompts, skills, and MCP tools into your project. See the preset list below.
Option B: Setup Wizard
Clone the template and run the setup wizard:
git clone https://github.com/srnichols/plan-forge.git my-project-plans
cd my-project-plans
# Interactive, the wizard asks which preset
.\setup.ps1
# Or specify directly
.\setup.ps1 -Preset dotnet
chmod +x setup.sh
./setup.sh --preset typescript
The wizard detects your tech stack (or uses the preset you specify), creates .github/ with instruction files, agents, prompts, skills, and hooks, generates .forge.json, and sets up .vscode/settings.json.
Clone Plan Forge alongside your project, then point the setup wizard at your repo:
git clone https://github.com/srnichols/plan-forge.git ../plan-forgecd ../plan-forge && ./setup.ps1 -ProjectPath ../my-existing-app -Preset typescriptThis copies prompts, instructions, agents, and hooks into your existing repo without touching your source code.
Choosing Your Preset
Nine presets, each tailored to a tech stack. Each installs ~18 instruction files, 12 agents, 11 skills, and 8 pipeline prompts.
.\setup.ps1 -Preset dotnet,typescript
What Just Happened?
After setup completes, your project has:
.github/
├── instructions/ ~26 files (architecture, security, testing, database, ..., 18 preset + 8 shared)
├── agents/ 19 files (6 stack-specific + 7 cross-stack + 5 pipeline + 1 audit-classifier)
├── prompts/ ~23 files (15 preset + 8 shared pipeline: project-profile + step0–step6)
├── skills/ 11 dirs (varies by preset: dotnet 11, typescript 10)
├── hooks/ 5 items (PreDeploy.md, PreCommit.mjs, PreAgentHandoff.md, PostSlice.md, plan-forge.json)
└── copilot-instructions.md (master config)
.forge.json (project configuration)
.vscode/settings.json (Copilot settings)
docs/plans/
├── DEPLOYMENT-ROADMAP.md (phase tracker)
└── AI-Plan-Hardening-Runbook.md (methodology reference)
pforge.ps1 / pforge.sh (CLI scripts)
PreDeploy, PreCommit, PreAgentHandoff, and PostSlice (plus the plan-forge.json hook config). These are not the same as Claude Code's hook names (SessionStart, PreToolUse, etc.), if you're coming from Claude Code, the trigger semantics differ. See .github/hooks/plan-forge.json for the live configuration.
Verify with pforge smith
The Smith inspects your forge, environment, VS Code config, setup health, version currency. Run it to confirm everything is green:
.\pforge.ps1 smith
╔══════════════════════════════════════════════════════════════╗
║ Plan Forge, The Smith ║
╚══════════════════════════════════════════════════════════════╝
Environment:
✓ git 2.44.0
✓ code (VS Code CLI) 1.99.0
✓ PowerShell 7.5.0
✓ node 22.3.0
VS Code Configuration:
✓ chat.agent.enabled = true
✓ chat.promptFiles = true
Setup Health:
✓ .forge.json valid (preset: dotnet, v2.17.0)
✓ 21 instruction files (expected: ≥17 for dotnet)
✓ 21 agent definitions
✓ copilot-instructions.md exists
────────────────────────────────────────────────────
Results: 10 passed | 0 failed | 0 warnings
FIX: suggestion. Common fix: add "chat.agent.enabled": true to .vscode/settings.json. See Chapter 15: Troubleshooting for more.
Multi-Agent Setup
Plan Forge works primarily with VS Code + GitHub Copilot. But if you also use Claude Code, Cursor, Codex, Gemini, or Windsurf, add their adapters during setup:
# Add Claude Code support
.\setup.ps1 -Preset dotnet -Agent claude
# Add all agent adapters at once
.\setup.ps1 -Preset dotnet -Agent all
| Agent Flag | Tool | Files Created |
|---|---|---|
copilot (default) | GitHub Copilot | .github/ instructions, agents, skills, prompts, hooks |
claude | Claude Code | CLAUDE.md with embedded guardrails + slash commands |
cursor | Cursor | .cursorrules + .cursor/rules/*.mdc |
codex | Codex CLI | AGENTS.md + skill scripts |
gemini | Gemini CLI | GEMINI.md + .gemini/commands/*.toml |
windsurf | Windsurf | .windsurfrules + .windsurf/rules/*.md |
generic | Any AI tool | AI-ASSISTANT.md, copy-paste guardrails |
See Chapter 13: Multi-Agent Setup for detailed configuration per agent, feature parity matrix, and quorum mode.
Updating
When a new Plan Forge version is available, pforge smith will tell you. Update without re-running the full setup:
# Preview what would change
.\pforge.ps1 update --dry-run
# Apply updates
.\pforge.ps1 update
Updates replace framework files (pipeline prompts, shared instructions, hooks) but never touch your customized files (copilot-instructions.md, project principles, plan files, .forge.json).
pforge update pull from?
By default (auto), it picks the newer of a local sibling clone at ../plan-forge and the latest GitHub tag, so a stale master checkout won't drag you onto unreleased -dev bytes. See Appendix G: Update Source Modes for the github-tags and local-sibling options and when to use them.
📄 Full reference: Multi-Agent Setup, Quick Start on GitHub