forgecraft 1.0.0

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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,105 @@
1
+ # Changelog
2
+
3
+ All notable changes to ForgeAI are documented here.
4
+
5
+ ## [1.0.0] - 2026-03-15
6
+
7
+ ### Added
8
+ - **`forge doctor`** — diagnose setup issues: checks Node, Git, Claude CLI, auth, framework tools, GitHub CLI
9
+ - **`forge diff <v1> [v2]`** — show colorized diff between any two versions, tags, or commits with summary stats
10
+ - **`forge clean`** — reset sprint state (plan, snapshots, designs) while preserving config; `--snapshots` flag for partial clean
11
+ - **`forge export`** — export sprint plan as formatted markdown with checkboxes, dependencies, and progress
12
+ - **Config validation** — validates `forge.config.json` on every command with clear error messages and fix suggestions
13
+ - **Graceful shutdown** — SIGINT/SIGTERM handler saves plan state and commits progress before exit; shows `forge resume` hint
14
+ - **`add-story` in `forge fix`** — when the Orchestrator detects a new feature request, it now actually adds the story to the plan (was a TODO stub)
15
+
16
+ ### Changed
17
+ - **Pipeline rewrite** — step-by-step Pipeline no longer creates feature branches (was causing merge conflicts); builds on main with per-story commits, matching the AutoPipeline strategy
18
+ - **Framework-aware Orchestrator** — plan generation prompt now includes framework name, language, design support status; example JSON uses the actual configured framework
19
+ - **JSON validation** — plan generation now validates the response has required fields (epics array) and provides clear error messages on malformed JSON
20
+ - **Routing fallback** — `routeUserInput` returns a text answer instead of crashing when the AI returns non-JSON
21
+ - **Regen depth limit** — `runPlanPhase` recursion capped at 5 attempts to prevent stack overflow
22
+ - **Design phase skip** — Pipeline auto-skips design for frameworks without Storybook support (Django)
23
+ - **Review error handling** — Pipeline review phase now catches errors per-story instead of crashing the entire phase
24
+ - **Worker constructor** — all callers updated to use the new `(config, sandboxOpts, mute)` signature
25
+ - **Removed peerDependencies** — `next` and `@storybook/react` removed from package.json (this is a CLI tool, not a library that depends on frameworks)
26
+ - **18 total commands** — up from 14 in v0.3
27
+ - **Version bumped** to 1.0.0
28
+
29
+ ### Fixed
30
+ - Worker constructor mismatch: Pipeline was calling `new Worker(config)` but Worker requires 2-3 args — runtime crash
31
+ - `forge fix` created feature branches and merge conflicts — now works on main
32
+ - `forge fix` "add-story" action showed success message but never actually added the story to the plan
33
+ - Orchestrator plan prompt hardcoded `"framework": "nextjs"` in example JSON
34
+ - Pipeline review phase had no error handling — one failed review crashed all subsequent reviews
35
+ - `forge init` showed "Coming in v0.4" for Flutter — updated to generic "coming soon"
36
+ - Unused `processingQueue` property removed from AutoPipeline
37
+
38
+ ## [0.3.0] - 2026-03-14
39
+
40
+ ### Added
41
+ - **React + Vite adapter** — `forge init` now supports React + Vite (TypeScript SPA with Tailwind, React Router, Vite)
42
+ - **Django adapter** — `forge init` now supports Django (Python + DRF + django-cors-headers)
43
+ - **Framework adapter system** — pluggable adapter architecture in `src/core/adapters/` so adding new frameworks is straightforward
44
+ - **`forge map`** — terminal sprint visualization showing stories as a tree with status icons, dependency arrows, progress bar, and git tags
45
+ - **`forge resume`** — resume an interrupted sprint from where it left off, with option to retry blocked stories
46
+ - **Token expiry handling** — Worker and Orchestrator detect auth/token errors (401, expired session), notify the user, and automatically retry after re-authentication (up to 3 attempts, 30s between retries)
47
+ - **Chat queue improvements** — readline no longer conflicts with ora spinners, shows `[queued #N]` confirmation with count, re-shows input hint after each queued message
48
+ - **Progress save on error** — pipeline saves plan state and commits before failing, so no work is lost on crashes or auth expiry
49
+ - **Framework-aware prompts** — Worker build/review/fix prompts now include framework-specific instructions (Next.js App Router, Vite config, Django migrations, etc.)
50
+
51
+ ### Changed
52
+ - **State Manager caching** — in-memory cache with mtime validation avoids redundant disk reads; directory creation cache skips repeated `mkdir` calls
53
+ - **Worker memory optimization** — removed `messages[]` array from WorkerResult (was storing every SDK message in memory); only tracks files, errors, usage, summary
54
+ - **Git operation reduction** — branch name caching, repo verification caching, `commitAll` catches "nothing to commit" instead of running a separate `status` check
55
+ - **Version bumped** to 0.3.0
56
+
57
+ ### Fixed
58
+ - readline `output: process.stdout` was interfering with ora spinners — now uses `terminal: false`
59
+ - Git `ensureMainBranch` was listing all branches even when already on main
60
+
61
+ ## [0.2.0] - 2026-03-13
62
+
63
+ ### Added
64
+ - **Autonomous mode** (`forge auto`) — fully autonomous pipeline with no human gates (except review gate after build)
65
+ - **Parallel story execution** — stories grouped by dependency, independent stories built concurrently with `Promise.all`
66
+ - **`forge undo`** — interactive commit selection with `git revert`, conflict handling, story status reset
67
+ - **`forge history`** — version timeline with checkpoints, color-coded activity log
68
+ - **`forge checkout`** — jump to any forge tag or commit hash
69
+ - **Design import** (`forge design --import <path>`) — import screenshots/mockups as design references
70
+ - **GitHub Issues sync** — `GitHubSync` class creates/updates GitHub Issues with labels from sprint plan
71
+ - **Safety caps** — per-mode turn limits (design: 30, build: 50, review: 20, fix: 15) prevent agent loops
72
+ - **Review gate** — pause after build phase with notification sound, user chooses: continue/skip/abort
73
+ - **Live elapsed timer** — `[M:SS]` prefix on all spinner text, 1s interval keeps ticking during agent thinking
74
+ - **Sound notifications** — macOS `afplay`, Linux `paplay`, fallback terminal bell
75
+ - **Auto-generated README** — Worker generates README.md based on plan + actual code after build
76
+ - **GitHub Pages deploy** (`--deploy` flag) — configures next.config for static export + GitHub Actions workflow
77
+ - **`--skip-design`** flag — skip Storybook design phase for faster builds
78
+ - **`--mute`** flag — suppress notification sounds
79
+ - **`--quiet`** flag — spinners only, hide tool details
80
+ - **Auth check** — verifies Claude Code CLI is installed and logged in before running
81
+ - **SEO/assets in prompts** — favicon, og.png, metadata, robots.txt, sitemap.xml, manifest.json
82
+
83
+ ### Changed
84
+ - Git strategy: build on `main` with per-story commits + tags (no more feature branches in auto mode — prevents merge conflicts)
85
+ - Token usage display: uses `=` not `+=` for SDK cumulative totals
86
+
87
+ ### Fixed
88
+ - Merge conflicts during autonomous mode caused by multiple branches adding same config files
89
+ - Token usage double-counting from SDK result messages
90
+ - Agent infinite loops (now capped by `MODE_MAX_TURNS`)
91
+
92
+ ## [0.1.0] - 2026-03-12
93
+
94
+ ### Added
95
+ - Initial release
96
+ - Two-agent architecture: Orchestrator (plans, routes, reviews) + Worker (design, build, review, fix modes)
97
+ - Step-by-step pipeline: `forge plan` → `forge design` → `forge build` → `forge review`
98
+ - `forge sprint` — full pipeline with human gates between phases
99
+ - `forge init` — initialize project with framework/model selection
100
+ - `forge status` — show sprint progress
101
+ - `forge fix` — targeted bug fixes and small changes
102
+ - Next.js support with App Router, Tailwind CSS, shadcn/ui
103
+ - Storybook design previews with CSF3 format
104
+ - Git integration with per-story commits, tags, and snapshots
105
+ - `.forge/` directory for state management (plan.json, state.json, snapshots/)
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Joel John
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,458 @@
1
+ <p align="center">
2
+ <img src="https://img.shields.io/npm/v/forgeai?style=flat-square&color=000" alt="npm version" />
3
+ <img src="https://img.shields.io/badge/node-%3E%3D18-000?style=flat-square" alt="node version" />
4
+ <img src="https://img.shields.io/github/license/joeljohn159/forgeai?style=flat-square&color=000" alt="license" />
5
+ <img src="https://img.shields.io/badge/frameworks-Next.js%20%7C%20React%20%7C%20Django-000?style=flat-square" alt="frameworks" />
6
+ </p>
7
+
8
+ <h1 align="center">ForgeAI</h1>
9
+
10
+ <p align="center">
11
+ <strong>Ship production apps from a single sentence.</strong><br/>
12
+ An AI orchestration framework that plans, designs, builds, reviews, and deploys software<br/>using a structured multi-agent pipeline — not a chat window.
13
+ </p>
14
+
15
+ <br/>
16
+
17
+ ```
18
+ $ forge auto "a personal finance tracker with budget categories, expense logging, and monthly reports"
19
+
20
+ forge auto
21
+ sandbox on · type a message anytime to queue feedback
22
+
23
+ [0:03] Plan ready
24
+
25
+ Personal Finance Tracker · nextjs
26
+ 12 stories across 4 epics
27
+
28
+ Layout & Navigation
29
+ [full] App shell with sidebar navigation
30
+ [full] Dashboard landing page
31
+ Expense Management
32
+ [full] Add expense form with categories
33
+ [full] Expense list with filters
34
+ [ui] Category management page
35
+ Budget Tracking
36
+ [full] Budget setup per category
37
+ [ui] Budget vs actual progress bars
38
+ [full] Budget alerts and notifications
39
+ Reports
40
+ [ui] Monthly expense breakdown chart
41
+ [ui] Category pie chart
42
+ [full] Export to CSV
43
+ [full] Date range selector
44
+
45
+ Build · 12 stories
46
+
47
+ [0:15] [1/12] App shell with sidebar navigation · 8 files 2.1k in / 18.4k out
48
+ [0:48] [2/12] Dashboard landing page · 4 files 1.8k in / 12.1k out
49
+ [1:22] parallel: Add expense form, Category management
50
+ [2:01] [3/12] Add expense form with categories · 6 files 2.4k in / 21.0k out
51
+ [2:01] [4/12] Category management page · 3 files 1.2k in / 9.8k out
52
+ ...
53
+
54
+ [14:02] Pushed to GitHub
55
+ ─────────────────────────────────
56
+ Done in 14m 23s · 12/12 stories
57
+ 28.4k in / 198.2k out
58
+ ```
59
+
60
+ <br/>
61
+
62
+ ---
63
+
64
+ <br/>
65
+
66
+ ## The Problem
67
+
68
+ Every AI coding tool today works the same way: you type into a chat, the AI writes some code, you paste it in, something breaks, you go back and forth. There is no structure, no planning, no design phase, no review. You are the project manager, the QA engineer, and the glue holding it all together.
69
+
70
+ ForgeAI replaces that entire loop.
71
+
72
+ <br/>
73
+
74
+ ## How It Works
75
+
76
+ ForgeAI runs a complete software development pipeline autonomously. One command, six phases, zero copy-pasting.
77
+
78
+ ```
79
+ PLAN DESIGN BUILD REVIEW PUSH SHIP
80
+ ──── ────── ───── ────── ──── ────
81
+ Break into Generate Implement QA check Auto-push Tag, merge,
82
+ epics & Storybook each story each story, commits & deploy
83
+ stories previews with full auto-fix tags to
84
+ CLI power minor issues GitHub
85
+
86
+ Orchestrator Worker Worker Worker Git Git
87
+ Agent (design mode) (build mode) (review mode) Manager Manager
88
+ ```
89
+
90
+ Each phase has a clear input, a clear output, and a gate between them. Stories that don't depend on each other build **in parallel**. After everything completes, the project is **automatically pushed to GitHub** (if a remote is configured). The whole thing runs on `main` with per-story commits and tags for easy rollback.
91
+
92
+ <br/>
93
+
94
+ ## Quick Start
95
+
96
+ ```bash
97
+ # Prerequisites: Node 18+, Claude Code CLI (logged in)
98
+
99
+ # Install globally
100
+ npm install -g forgeai
101
+
102
+ # Create a new project directory
103
+ mkdir my-app && cd my-app
104
+
105
+ # Initialize (choose Next.js, React+Vite, or Django)
106
+ forge init
107
+
108
+ # Build something
109
+ forge auto "a task management app with projects, due dates, and team assignment"
110
+
111
+ # Start the dev server
112
+ forge start
113
+
114
+ # If interrupted, resume where you left off
115
+ forge resume
116
+
117
+ # Fix a bug (supports screenshots)
118
+ forge fix "the sidebar overlaps on mobile" --image screenshot.png
119
+
120
+ # Push to GitHub manually (auto-push happens after forge auto)
121
+ forge push
122
+ ```
123
+
124
+ That's it. Come back in 15 minutes to a working app with proper types, responsive design, SEO metadata, favicons, and a README — already pushed to your repo.
125
+
126
+ <br/>
127
+
128
+ ## Features
129
+
130
+ ### Structured Pipeline, Not a Chat
131
+ Every project goes through Plan, Design, Build, Review, Push. Each phase has specialized prompts, tool permissions, and quality gates. The AI doesn't just write code — it writes code that builds, lints, and type-checks before moving on.
132
+
133
+ ### Two-Agent Architecture
134
+ Instead of one monolithic agent or a swarm of disconnected ones, ForgeAI uses two:
135
+
136
+ - **Orchestrator** — The tech lead. Plans the sprint, crafts detailed prompts for each story, routes your feedback, reviews output. Never touches code.
137
+ - **Worker** — The engineer. Same agent, four modes (`design`, `build`, `review`, `fix`), each with different system prompts and tool permissions. Preserves context across the entire build.
138
+
139
+ ### Parallel Execution
140
+ Stories are grouped by dependency. Independent stories build concurrently using `Promise.all`, cutting total build time significantly. A 12-story app that takes 45 minutes sequentially finishes in ~15 minutes.
141
+
142
+ ### Live Feedback Loop
143
+ Type a message at any point during the build. It gets queued and processed at the next safe point between stories. The Orchestrator classifies your input and routes it:
144
+
145
+ ```
146
+ "make the header sticky" → Worker fix mode
147
+ "redesign the settings page" → Worker design mode → build mode
148
+ "the API returns 404 on /expenses" → Worker fix mode (debug)
149
+ "add a dark mode toggle" → New story added to sprint
150
+ "what's the database schema?" → Orchestrator answers directly
151
+ ```
152
+
153
+ ### Screenshot-Based Bug Fixing
154
+ Pass a screenshot to `forge fix` and Claude reads the image to understand the visual issue:
155
+
156
+ ```bash
157
+ forge fix "the button is cut off on mobile" --image screenshot.png
158
+ ```
159
+
160
+ ### Auto-Push to GitHub
161
+ After `forge auto` or `forge resume` completes, commits and tags are automatically pushed to your GitHub remote. No manual `git push` needed. If the push fails, a warning is shown and you can retry with `forge push`.
162
+
163
+ ### Safety Caps
164
+ Each worker mode has a maximum turn limit (`design: 30`, `build: 50`, `review: 20`, `fix: 15`). If an agent gets stuck in a loop, it stops gracefully instead of burning through your usage.
165
+
166
+ ### Review Gate
167
+ After the build phase completes, ForgeAI pauses and plays a notification sound. You choose: continue to review, skip review, or abort. You're always in control.
168
+
169
+ ### Production Defaults
170
+ Every project gets the things most AI tools forget:
171
+ - `favicon.ico`, `icon.svg`, `apple-touch-icon.png`
172
+ - Open Graph image (`og.png`) for social sharing
173
+ - Complete metadata — title, description, OG tags, Twitter cards
174
+ - `robots.txt`, `sitemap.xml`, `manifest.json`
175
+ - `next/image` for all images
176
+ - Auto-generated `README.md` based on what was actually built
177
+
178
+ ### Multi-Framework Support
179
+ ForgeAI isn't locked to one framework. Each adapter knows how to scaffold, build, lint, and run a project in its stack:
180
+
181
+ | Framework | Language | Design Phase | Status |
182
+ |-----------|----------|-------------|--------|
183
+ | **Next.js** | TypeScript | Storybook | Stable |
184
+ | **React + Vite** | TypeScript | Storybook | Stable |
185
+ | **Django** | Python | Skipped | Stable |
186
+ | Flutter | Dart | — | Planned |
187
+
188
+ Worker prompts automatically adapt to the framework — Next.js gets App Router instructions, Vite gets SPA routing, Django gets migration commands.
189
+
190
+ ### Sprint Resume
191
+ If a build gets interrupted (auth expires, network drops, you close the terminal), your progress is saved. Run `forge resume` to pick up exactly where you left off. Blocked stories can be retried.
192
+
193
+ ### Optional GitHub Pages Deploy
194
+ Pass `--deploy` and ForgeAI configures `next.config` for static export and creates a GitHub Actions workflow for automatic deployment.
195
+
196
+ <br/>
197
+
198
+ ## Commands
199
+
200
+ ### Autonomous Mode (recommended)
201
+
202
+ ```bash
203
+ forge auto "description" # Full autonomous pipeline (auto-pushes to GitHub)
204
+ forge auto "description" --skip-design # Skip Storybook previews (faster)
205
+ forge auto "description" --deploy # Add GitHub Pages deployment
206
+ forge auto "description" --mute # No notification sounds
207
+ forge auto "description" --quiet # Spinners only, no tool details
208
+ ```
209
+
210
+ ### Step-by-Step Mode
211
+
212
+ ```bash
213
+ forge init # Initialize ForgeAI in current directory
214
+ forge plan "description" # Generate sprint plan
215
+ forge design # Generate Storybook design previews
216
+ forge build # Build stories sequentially
217
+ forge review # Run QA review on built stories
218
+ forge sprint "description" # Run full pipeline with human gates
219
+ ```
220
+
221
+ ### Run & Deploy
222
+
223
+ ```bash
224
+ forge start # Start the dev server (auto-detects framework)
225
+ forge push # Push commits + tags to GitHub
226
+ ```
227
+
228
+ ### Utilities
229
+
230
+ ```bash
231
+ forge status # Show current sprint progress
232
+ forge map # Visual sprint map with status + dependencies
233
+ forge diff <v1> [v2] # Show changes between two versions
234
+ forge fix "description" # Fix a bug or make a small change
235
+ forge fix "desc" --image <path> # Fix with a screenshot for visual context
236
+ forge undo # Revert the last agent action
237
+ forge resume # Resume an interrupted sprint (auto-pushes)
238
+ forge history # Show version timeline and activity log
239
+ forge checkout <version> # Jump to a specific version or checkpoint
240
+ forge export # Export sprint plan as markdown
241
+ forge clean # Reset sprint state (keeps config)
242
+ forge doctor # Diagnose setup issues
243
+ ```
244
+
245
+ <br/>
246
+
247
+ ## Architecture
248
+
249
+ ```
250
+ src/
251
+ ├── cli/
252
+ │ ├── index.ts # CLI entry point (commander)
253
+ │ └── commands/
254
+ │ ├── auto.ts # forge auto — autonomous mode
255
+ │ ├── resume.ts # forge resume — resume interrupted sprint
256
+ │ ├── start.ts # forge start — start dev server
257
+ │ ├── push.ts # forge push — push to GitHub
258
+ │ ├── init.ts # forge init
259
+ │ ├── plan.ts # forge plan
260
+ │ ├── design.ts # forge design
261
+ │ ├── build.ts # forge build
262
+ │ ├── review.ts # forge review
263
+ │ ├── sprint.ts # forge sprint
264
+ │ ├── status.ts # forge status
265
+ │ ├── map.ts # forge map — visual sprint map
266
+ │ ├── fix.ts # forge fix (supports --image)
267
+ │ ├── undo.ts # forge undo
268
+ │ └── history.ts # forge history + forge checkout
269
+
270
+ ├── core/
271
+ │ ├── orchestrator/
272
+ │ │ ├── index.ts # Orchestrator agent — plans, routes, reviews
273
+ │ │ └── prompts.ts # Orchestrator system prompt
274
+ │ │
275
+ │ ├── worker/
276
+ │ │ ├── index.ts # Worker agent — executes in 4 modes
277
+ │ │ └── prompts/
278
+ │ │ └── index.ts # Framework-aware mode-specific prompts
279
+ │ │
280
+ │ ├── pipeline/
281
+ │ │ ├── index.ts # Step-by-step pipeline
282
+ │ │ └── auto.ts # Autonomous pipeline (parallel, timer, gates, resume, auto-push)
283
+ │ │
284
+ │ ├── adapters/
285
+ │ │ ├── base.ts # FrameworkAdapter interface
286
+ │ │ ├── nextjs.ts # Next.js adapter
287
+ │ │ ├── react-vite.ts # React + Vite adapter
288
+ │ │ ├── django.ts # Django adapter
289
+ │ │ └── index.ts # Adapter registry + factory
290
+ │ │
291
+ │ ├── git/
292
+ │ │ └── index.ts # Git operations (branch, commit, tag, push)
293
+ │ │
294
+ │ ├── github/
295
+ │ │ └── index.ts # GitHub Issues sync (via gh CLI)
296
+ │ │
297
+ │ └── utils/
298
+ │ ├── config.ts # Config validation
299
+ │ └── sound.ts # Notification sounds (macOS/Linux/fallback)
300
+
301
+ ├── state/
302
+ │ └── index.ts # State manager (.forge/ directory, cached)
303
+
304
+ └── types/
305
+ └── plan.ts # TypeScript types for the entire system
306
+ ```
307
+
308
+ <br/>
309
+
310
+ ## State & Git
311
+
312
+ ForgeAI tracks everything in a `.forge/` directory inside your repo:
313
+
314
+ ```
315
+ .forge/
316
+ ├── plan.json # Epics, stories, status, dependencies
317
+ ├── state.json # Current phase, queue, history
318
+ ├── config.json # Framework, model, preferences
319
+ ├── snapshots/ # Pre-action snapshots for undo
320
+ └── designs/ # Design approval metadata
321
+ ```
322
+
323
+ Every story gets a commit. Every milestone gets a tag:
324
+
325
+ ```
326
+ main ────●────●────●────●────●────●──── HEAD → pushed to origin
327
+ │ │ │ │ │ │
328
+ │ │ │ │ │ └── forge/v0.6-export-csv
329
+ │ │ │ │ └── forge/v0.5-budget-alerts
330
+ │ │ │ └── forge/v0.4-budget-setup
331
+ │ │ └── forge/v0.3-expense-list
332
+ │ └── forge/v0.2-add-expense
333
+ └── forge/v0.1-designs
334
+ ```
335
+
336
+ Roll back to any point with `git checkout forge/v0.3-expense-list`.
337
+
338
+ <br/>
339
+
340
+ ## Requirements
341
+
342
+ | Requirement | Details |
343
+ |-------------|---------|
344
+ | **Node.js** | v18 or higher |
345
+ | **Claude Code** | Installed and logged in (`npm i -g @anthropic-ai/claude-code && claude login`) |
346
+ | **Git** | Any recent version |
347
+ | **Subscription** | Claude Max, Team, or Enterprise |
348
+
349
+ ForgeAI uses the Claude Agent SDK which authenticates through your Claude Code session. No separate API key needed.
350
+
351
+ <br/>
352
+
353
+ ## Configuration
354
+
355
+ After `forge init`, your `forge.config.json` controls:
356
+
357
+ ```json
358
+ {
359
+ "framework": "nextjs",
360
+ "model": "sonnet",
361
+ "designPreview": "storybook",
362
+ "autoCommit": true,
363
+ "storybook": {
364
+ "port": 6006
365
+ }
366
+ }
367
+ ```
368
+
369
+ <br/>
370
+
371
+ ## Comparison
372
+
373
+ | | ChatGPT / Claude Chat | GitHub Copilot | Cursor | **ForgeAI** |
374
+ |---|---|---|---|---|
375
+ | Planning | Manual | None | None | **Automated sprint planning** |
376
+ | Design preview | None | None | None | **Storybook generation** |
377
+ | Build | Copy-paste | Autocomplete | Inline edit | **Full autonomous build** |
378
+ | Review | Manual | None | None | **Automated QA + auto-fix** |
379
+ | Git strategy | Manual | Manual | Manual | **Auto commits + tags + push** |
380
+ | Parallelism | N/A | N/A | N/A | **Dependency-grouped parallel** |
381
+ | Human oversight | Full control | None | Approve/reject | **Stage gates + live feedback** |
382
+ | Bug fix with screenshots | N/A | N/A | N/A | **forge fix --image** |
383
+ | SEO & assets | You remember | You remember | You remember | **Built-in defaults** |
384
+ | Multi-framework | N/A | Any | Any | **Next.js, React, Django** |
385
+ | Resume on failure | Start over | N/A | N/A | **Auto-save + resume** |
386
+
387
+ <br/>
388
+
389
+ ## Roadmap
390
+
391
+ **v0.1** — Core pipeline, two-agent architecture, Next.js support
392
+
393
+ **v0.2** — Autonomous mode, parallel execution, undo/history, GitHub sync
394
+
395
+ **v0.3** — React + Vite and Django adapters, `forge map`, `forge resume`
396
+
397
+ **v1.0** — Current
398
+ - 21 CLI commands covering the full development lifecycle
399
+ - 3 framework adapters (Next.js, React + Vite, Django)
400
+ - Framework-aware prompts via pluggable adapter system
401
+ - `forge start` — auto-detect and launch dev server
402
+ - `forge push` — push commits + tags to GitHub
403
+ - `forge fix --image` — screenshot-based bug fixing
404
+ - Auto-push to GitHub after `forge auto` and `forge resume`
405
+ - Graceful shutdown with automatic progress save
406
+ - Config validation with actionable error messages
407
+ - Token expiry handling with auto-retry
408
+
409
+ **v1.1** — Next Up
410
+ - **Flutter adapter** — Dart support with widget-based design previews
411
+ - **Vue.js / Nuxt adapter** — Vue 3 + Composition API + Nuxt 3 SSR support
412
+ - **Svelte / SvelteKit adapter** — Svelte 5 with runes and SvelteKit routing
413
+ - **Test generation phase** — auto-generate unit and integration tests after build (Vitest, pytest, Flutter test)
414
+ - **Custom adapter plugin API** — drop a JS file in `.forge/adapters/` to add your own framework
415
+
416
+ **v1.2** — Planned
417
+ - **Multi-provider support** — swap Claude for OpenAI, Gemini, or local models (Ollama) per agent
418
+ - **Web dashboard** — browser-based sprint monitoring with real-time build progress, token usage charts, and story diffs
419
+ - **CI/CD integration** — GitHub Actions / GitLab CI pipeline generation, auto-run tests on PR, deploy previews
420
+ - **Cost estimation** — token budget planning before sprint starts, per-story cost breakdown, spending alerts
421
+
422
+ **v2.0** — Future
423
+ - **Team collaboration** — multiple users can queue feedback on the same sprint, role-based permissions (lead reviews, dev builds)
424
+ - **Monorepo support** — run separate pipelines for `packages/*` with shared dependency tracking
425
+ - **Visual regression testing** — screenshot comparison between versions, flag UI drift automatically
426
+ - **Database schema generation** — auto-generate migrations, seed data, and ERD diagrams from plan descriptions
427
+ - **Accessibility audit phase** — automated WCAG checks after build, auto-fix common a11y issues
428
+ - **i18n / localization** — generate translation keys and locale files from built UI, support RTL layouts
429
+ - **Plugin system** — community-built pipeline phases (e.g., performance audit, API docs, Docker setup)
430
+ - **Template library** — starter templates for common app types (SaaS dashboard, e-commerce, blog, landing page)
431
+
432
+ <br/>
433
+
434
+ ## Contributing
435
+
436
+ ```bash
437
+ git clone https://github.com/joeljohn159/forgeai.git
438
+ cd forgeai
439
+ npm install
440
+ npm run build
441
+ npm link # Makes 'forge' available globally
442
+ ```
443
+
444
+ Make changes in `src/`, then `npm run build` to test.
445
+
446
+ <br/>
447
+
448
+ ## License
449
+
450
+ MIT
451
+
452
+ <br/>
453
+
454
+ ---
455
+
456
+ <p align="center">
457
+ Built by <a href="https://github.com/joeljohn159">Joel John</a>
458
+ </p>