forge-workflow 1.4.3 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: forge-workflow
3
+ description: 9-stage TDD-first workflow for feature development. Use when building features, fixing bugs, or shipping PRs.
4
+ category: Development Workflow
5
+ tags: [tdd, workflow, pr, git, testing]
6
+ tools: [Bash, Read, Write, Edit, Grep, Glob]
7
+ ---
8
+
9
+ # Forge Workflow Skill
10
+
11
+ A TDD-first workflow for AI coding agents. Ship features with confidence.
12
+
13
+ ## When to Use
14
+
15
+ Automatically invoke this skill when the user wants to:
16
+ - Build a new feature
17
+ - Fix a bug
18
+ - Create a pull request
19
+ - Run the development workflow
20
+
21
+ ## 9 Stages
22
+
23
+ | Stage | Command | Description |
24
+ |-------|---------|-------------|
25
+ | 1 | `/status` | Check current context, active work, recent completions |
26
+ | 2 | `/research` | Deep research with web search, document to docs/research/ |
27
+ | 3 | `/plan` | Create implementation plan, branch, OpenSpec if strategic |
28
+ | 4 | `/dev` | TDD development (RED-GREEN-REFACTOR cycles) |
29
+ | 5 | `/check` | Validation (type/lint/security/tests) |
30
+ | 6 | `/ship` | Create PR with full documentation |
31
+ | 7 | `/review` | Address ALL PR feedback |
32
+ | 8 | `/merge` | Update docs, merge PR, cleanup |
33
+ | 9 | `/verify` | Final documentation verification |
34
+
35
+ ## Workflow Flow
36
+
37
+ ```
38
+ /status -> /research -> /plan -> /dev -> /check -> /ship -> /review -> /merge -> /verify
39
+ ```
40
+
41
+ ## Core Principles
42
+
43
+ - **TDD-First**: Write tests BEFORE implementation (RED-GREEN-REFACTOR)
44
+ - **Research-First**: Understand before building, document decisions
45
+ - **Security Built-In**: OWASP Top 10 analysis for every feature
46
+ - **Documentation Progressive**: Update at each stage, verify at end
package/CLAUDE.md CHANGED
@@ -1,4 +1,4 @@
1
- # Claude Code - Project Instructions
1
+ # Project Instructions
2
2
 
3
3
  This is a [describe what this project does in one sentence].
4
4
 
@@ -46,31 +46,35 @@ See [docs/WORKFLOW.md](docs/WORKFLOW.md) for complete workflow guide.
46
46
 
47
47
  ---
48
48
 
49
- ## MCP Servers
50
-
51
- This project uses MCP servers for enhanced capabilities. Copy [.mcp.json.example](.mcp.json.example) to `.mcp.json`:
52
-
53
- ```json
54
- {
55
- "mcpServers": {
56
- "context7": {
57
- "command": "npx",
58
- "args": ["-y", "@upstash/context7-mcp@latest"]
59
- },
60
- "grep-app": {
61
- "command": "npx",
62
- "args": ["-y", "@ai-tools-all/grep_app_mcp"]
63
- }
64
- }
65
- }
66
- ```
49
+ ## MCP Servers (Enhanced Capabilities)
50
+
51
+ This project uses MCP (Model Context Protocol) servers for enhanced capabilities. If your AI agent supports MCP, set up these servers:
67
52
 
68
- **Available MCP servers**:
53
+ **Available MCP servers:**
69
54
 
70
55
  - **Context7**: Up-to-date library documentation and API reference
71
56
  - **grep.app**: Search 1M+ GitHub repos for real-world code examples
72
57
 
73
- See [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md) for complete setup instructions.
58
+ **Setup for your agent:**
59
+
60
+ See [.mcp.json.example](.mcp.json.example) for configuration. Setup varies by agent:
61
+
62
+ - **Claude Code**: Copy `.mcp.json.example` to `.mcp.json` in project root
63
+ - **Cline**: Add MCP servers in VSCode settings (Extensions > Cline > MCP Servers)
64
+ - **Continue**: Add to `.continue/config.json` under `mcpServers`
65
+ - **Cursor**: Check Cursor Settings > MCP for setup
66
+ - **Your agent**: If MCP-capable, configure using the example file
67
+
68
+ **Agent instructions:**
69
+
70
+ ```text
71
+ If you support MCP and don't have these servers configured:
72
+ 1. Read .mcp.json.example to see the configuration
73
+ 2. Set up Context7 and grep.app based on your MCP implementation
74
+ 3. Verify by testing: "Search grep.app for React hooks examples"
75
+ ```
76
+
77
+ See [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md) for detailed MCP setup instructions.
74
78
 
75
79
  ---
76
80
 
package/bin/forge.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  /**
4
- * Forge v1.3.0 - Universal AI Agent Workflow
4
+ * Forge v1.4.3 - Universal AI Agent Workflow
5
5
  * https://github.com/harshanandak/forge
6
6
  *
7
7
  * Usage:
@@ -1458,13 +1458,49 @@ function showBanner(subtitle = 'Universal AI Agent Workflow') {
1458
1458
  console.log(' ██╔══╝ ██║ ██║██╔══██╗██║ ██║██╔══╝ ');
1459
1459
  console.log(' ██║ ╚██████╔╝██║ ██║╚██████╔╝███████╗');
1460
1460
  console.log(' ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝');
1461
- console.log(' v1.3.0');
1461
+ console.log(' v1.4.4');
1462
1462
  console.log('');
1463
1463
  if (subtitle) {
1464
1464
  console.log(` ${subtitle}`);
1465
1465
  }
1466
1466
  }
1467
1467
 
1468
+ // Setup core documentation and directories
1469
+ function setupCoreDocs() {
1470
+ // Create core directories
1471
+ ensureDir('docs/planning');
1472
+ ensureDir('docs/research');
1473
+
1474
+ // Copy WORKFLOW.md
1475
+ const workflowSrc = path.join(packageDir, 'docs/WORKFLOW.md');
1476
+ if (copyFile(workflowSrc, 'docs/WORKFLOW.md')) {
1477
+ console.log(' Created: docs/WORKFLOW.md');
1478
+ }
1479
+
1480
+ // Copy research TEMPLATE.md
1481
+ const templateSrc = path.join(packageDir, 'docs/research/TEMPLATE.md');
1482
+ if (copyFile(templateSrc, 'docs/research/TEMPLATE.md')) {
1483
+ console.log(' Created: docs/research/TEMPLATE.md');
1484
+ }
1485
+
1486
+ // Create PROGRESS.md if not exists
1487
+ const progressPath = path.join(projectRoot, 'docs/planning/PROGRESS.md');
1488
+ if (!fs.existsSync(progressPath)) {
1489
+ writeFile('docs/planning/PROGRESS.md', `# Project Progress
1490
+
1491
+ ## Current Focus
1492
+ <!-- What you're working on -->
1493
+
1494
+ ## Completed
1495
+ <!-- Completed features -->
1496
+
1497
+ ## Upcoming
1498
+ <!-- Next priorities -->
1499
+ `);
1500
+ console.log(' Created: docs/planning/PROGRESS.md');
1501
+ }
1502
+ }
1503
+
1468
1504
  // Minimal installation (postinstall)
1469
1505
  function minimalInstall() {
1470
1506
  // Check if this looks like a project (has package.json)
@@ -1487,9 +1523,8 @@ function minimalInstall() {
1487
1523
  showBanner();
1488
1524
  console.log('');
1489
1525
 
1490
- // Create core directories
1491
- ensureDir('docs/planning');
1492
- ensureDir('docs/research');
1526
+ // Setup core documentation
1527
+ setupCoreDocs();
1493
1528
 
1494
1529
  // Copy AGENTS.md (only if not exists - preserve user customizations in minimal install)
1495
1530
  const agentsPath = path.join(projectRoot, 'AGENTS.md');
@@ -1509,34 +1544,6 @@ function minimalInstall() {
1509
1544
  }
1510
1545
  }
1511
1546
 
1512
- // Copy documentation
1513
- const workflowSrc = path.join(packageDir, 'docs/WORKFLOW.md');
1514
- if (copyFile(workflowSrc, 'docs/WORKFLOW.md')) {
1515
- console.log(' Created: docs/WORKFLOW.md');
1516
- }
1517
-
1518
- const templateSrc = path.join(packageDir, 'docs/research/TEMPLATE.md');
1519
- if (copyFile(templateSrc, 'docs/research/TEMPLATE.md')) {
1520
- console.log(' Created: docs/research/TEMPLATE.md');
1521
- }
1522
-
1523
- // Create PROGRESS.md if not exists
1524
- const progressPath = path.join(projectRoot, 'docs/planning/PROGRESS.md');
1525
- if (!fs.existsSync(progressPath)) {
1526
- writeFile('docs/planning/PROGRESS.md', `# Project Progress
1527
-
1528
- ## Current Focus
1529
- <!-- What you're working on -->
1530
-
1531
- ## Completed
1532
- <!-- Completed features -->
1533
-
1534
- ## Upcoming
1535
- <!-- Next priorities -->
1536
- `);
1537
- console.log(' Created: docs/planning/PROGRESS.md');
1538
- }
1539
-
1540
1547
  console.log('');
1541
1548
  console.log('Minimal installation complete!');
1542
1549
  console.log('');
@@ -1897,6 +1904,11 @@ async function interactiveSetup() {
1897
1904
  }
1898
1905
  }
1899
1906
  }
1907
+ console.log('');
1908
+
1909
+ // Setup core documentation
1910
+ setupCoreDocs();
1911
+ console.log('');
1900
1912
 
1901
1913
  // Load Claude commands if needed
1902
1914
  let claudeCommands = {};
@@ -1952,7 +1964,7 @@ async function interactiveSetup() {
1952
1964
  // =============================================
1953
1965
  console.log('');
1954
1966
  console.log('==============================================');
1955
- console.log(' Forge v1.3.0 Setup Complete!');
1967
+ console.log(' Forge v1.4.3 Setup Complete!');
1956
1968
  console.log('==============================================');
1957
1969
  console.log('');
1958
1970
  console.log('What\'s installed:');
@@ -2128,6 +2140,11 @@ async function quickSetup(selectedAgents, skipExternal) {
2128
2140
  if (copyFile(agentsSrc, 'AGENTS.md')) {
2129
2141
  console.log(' Created: AGENTS.md (universal standard)');
2130
2142
  }
2143
+ console.log('');
2144
+
2145
+ // Setup core documentation
2146
+ setupCoreDocs();
2147
+ console.log('');
2131
2148
 
2132
2149
  // Load Claude commands if needed
2133
2150
  let claudeCommands = {};
@@ -2190,7 +2207,7 @@ async function quickSetup(selectedAgents, skipExternal) {
2190
2207
  // Final summary
2191
2208
  console.log('');
2192
2209
  console.log('==============================================');
2193
- console.log(' Forge v1.3.0 Quick Setup Complete!');
2210
+ console.log(' Forge v1.4.3 Quick Setup Complete!');
2194
2211
  console.log('==============================================');
2195
2212
  console.log('');
2196
2213
  console.log('Next steps:');
@@ -2385,6 +2402,11 @@ async function interactiveSetupWithFlags(flags) {
2385
2402
  }
2386
2403
  }
2387
2404
  }
2405
+ console.log('');
2406
+
2407
+ // Setup core documentation
2408
+ setupCoreDocs();
2409
+ console.log('');
2388
2410
 
2389
2411
  // Load Claude commands if needed
2390
2412
  let claudeCommands = {};
@@ -2445,7 +2467,7 @@ async function interactiveSetupWithFlags(flags) {
2445
2467
  // =============================================
2446
2468
  console.log('');
2447
2469
  console.log('==============================================');
2448
- console.log(' Forge v1.3.0 Setup Complete!');
2470
+ console.log(' Forge v1.4.3 Setup Complete!');
2449
2471
  console.log('==============================================');
2450
2472
  console.log('');
2451
2473
  console.log('What\'s installed:');
@@ -2581,6 +2603,11 @@ async function main() {
2581
2603
  if (copyFile(agentsSrc, 'AGENTS.md')) {
2582
2604
  console.log(' Created: AGENTS.md (universal standard)');
2583
2605
  }
2606
+ console.log('');
2607
+
2608
+ // Setup core documentation
2609
+ setupCoreDocs();
2610
+ console.log('');
2584
2611
 
2585
2612
  // Load Claude commands if needed
2586
2613
  let claudeCommands = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forge-workflow",
3
- "version": "1.4.3",
3
+ "version": "1.4.4",
4
4
  "description": "9-stage TDD workflow for ALL AI coding agents (Claude, Cursor, Windsurf, Kilo, OpenCode, Copilot, Cline, Roo, Aider, Continue, Antigravity)",
5
5
  "bin": {
6
6
  "forge": "bin/forge.js"