@only1btayy/g2w 1.0.24 → 1.0.26

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/README.md CHANGED
@@ -75,20 +75,50 @@ Research isn't just a web search. G2W uses Context7 for live library docs, Exa f
75
75
 
76
76
  ---
77
77
 
78
+ ### What Ships With G2W
79
+
80
+ These install automatically — no setup, no API keys, no extra steps:
81
+
82
+ | Tool | What It Does |
83
+ |---|---|
84
+ | [Context7](https://context7.com) | Live library docs in every research and planning phase — no stale training data |
85
+ | [Shadcn/UI MCP](https://www.shadcn.io/mcp) | Real React component implementations with TypeScript props |
86
+ | [Tailwind CSS MCP](https://github.com/CarbonoDev/tailwindcss-mcp-server) | Utility classes, color palettes, CSS-to-Tailwind conversion |
87
+ | [A11y MCP](https://github.com/priyankark/a11y-mcp) | Accessibility audits and WCAG compliance checks |
88
+
89
+ Claude reaches for these automatically when they're relevant. You don't have to call them.
90
+
91
+ ---
92
+
78
93
  ### Power-Ups
79
94
 
80
- G2W works out of the box. These optional tools make it stronger:
95
+ Optional tools that make G2W stronger. Run `g2w power-ups` to set these up anytime.
96
+
97
+ **Free (just needs a key):**
98
+
99
+ | Tool | What It Adds | Get Your Key |
100
+ |---|---|---|
101
+ | [21st.dev](https://21st.dev) | AI-powered UI component generation — like v0 in your IDE | [21st.dev/magic/console](https://21st.dev/magic/console) |
102
+ | [Motion](https://motion.dev) | Production-grade animations with AI Kit | [plus.motion.dev/personal-token](https://plus.motion.dev/personal-token) |
103
+ | [Figma MCP](https://help.figma.com/hc/en-us/articles/32132100833559) | Design-to-code from Figma frames (free during beta) | [figma.com](https://figma.com) |
104
+ | [Marketing Skills](https://github.com/coreyhaines31/marketingskills) | 40+ skills for copywriting, SEO, conversion, growth | No key needed |
105
+
106
+ **Research (paid):**
81
107
 
82
108
  | Tool | What It Adds |
83
109
  |---|---|
84
- | [Repomix](https://github.com/yamadashy/repomix) | Packs entire codebases into one AI-optimized file — `bring2life` and research use this |
85
- | [Context7](https://context7.com) | Live library docs pulled into research — no stale training data |
86
110
  | [Exa](https://exa.ai) | Semantic search for similar projects and best practices |
87
111
  | [Firecrawl](https://firecrawl.dev) | Deep crawling of repos and docs sites during research |
112
+
113
+ **Workflow:**
114
+
115
+ | Tool | What It Adds |
116
+ |---|---|
117
+ | [Repomix](https://github.com/yamadashy/repomix) | Packs entire codebases into one AI-optimized file — `bring2life` uses this |
88
118
  | [MemPalace](https://github.com/milla-jovovich/mempalace) | Persistent memory across sessions — decisions survive context clears |
89
119
  | [Superpowers](https://github.com/supermemoryai/superpowers-claude) | Enhanced planning and review capabilities for Claude users |
90
120
 
91
- Install what you want. G2W uses what's available and falls back gracefully when something isn't there.
121
+ G2W uses what's available and falls back gracefully when something isn't there.
92
122
 
93
123
  ---
94
124
 
@@ -118,7 +148,7 @@ Each Foundation agent is also a direct slash command. The normal flow runs throu
118
148
  | `/g2w:the-challenger` | You wrote your own plan outside G2W and want it stress-tested before building |
119
149
  | `/g2w:the-builder` | Plan is already locked — skip straight to building |
120
150
  | `/g2w:the-inspector` | Code is already written — just verify it against a plan |
121
- | `/g2w:the-leader` | Kick off the full pipeline without the identity, brainstorm, and research phases |
151
+ | `/g2w:the-leader` | Kick off the full pipeline includes automatic code audit before Challenger reviews |
122
152
 
123
153
  These are escape hatches for engineers who don't need the ceremony. G2W has no ceiling.
124
154
 
package/lib/install.js CHANGED
@@ -41,7 +41,7 @@ const G2W_HOOKS = {
41
41
  ]
42
42
  },
43
43
  {
44
- matcher: 'Edit|Write|Bash',
44
+ matcher: 'Edit|Write',
45
45
  hooks: [
46
46
  {
47
47
  type: 'prompt',
@@ -83,6 +83,45 @@ function copyHooks(targetBase) {
83
83
  return dest;
84
84
  }
85
85
 
86
+ const MCP_SERVERS = {
87
+ context7: {
88
+ command: 'npx',
89
+ args: ['-y', '@upstash/context7-mcp@latest']
90
+ },
91
+ 'shadcn-ui': {
92
+ url: 'https://www.shadcn.io/api/mcp'
93
+ },
94
+ 'tailwindcss': {
95
+ command: 'npx',
96
+ args: ['-y', 'tailwindcss-mcp-server']
97
+ },
98
+ 'a11y': {
99
+ command: 'npx',
100
+ args: ['-y', 'a11y-mcp']
101
+ }
102
+ };
103
+
104
+ function mergeMcpServers(targetBase) {
105
+ const settingsPath = path.join(targetBase, '.claude', 'settings.json');
106
+ let existing = {};
107
+ if (fs.existsSync(settingsPath)) {
108
+ try { existing = JSON.parse(fs.readFileSync(settingsPath, 'utf8')); } catch {}
109
+ }
110
+
111
+ if (!existing.mcpServers) existing.mcpServers = {};
112
+
113
+ let added = 0;
114
+ for (const [name, config] of Object.entries(MCP_SERVERS)) {
115
+ if (!existing.mcpServers[name]) {
116
+ existing.mcpServers[name] = config;
117
+ added++;
118
+ }
119
+ }
120
+
121
+ fs.writeFileSync(settingsPath, JSON.stringify(existing, null, 2));
122
+ return added;
123
+ }
124
+
86
125
  function mergeHooks(targetBase) {
87
126
  const settingsPath = path.join(targetBase, '.claude', 'settings.json');
88
127
  const hooksDir = path.join(targetBase, '.claude', 'hooks');
@@ -131,6 +170,19 @@ function removeSkills(targetBase) {
131
170
  return false;
132
171
  }
133
172
 
173
+ function removeMcpServers(targetBase) {
174
+ const settingsPath = path.join(targetBase, '.claude', 'settings.json');
175
+ if (!fs.existsSync(settingsPath)) return;
176
+ let existing = {};
177
+ try { existing = JSON.parse(fs.readFileSync(settingsPath, 'utf8')); } catch { return; }
178
+ if (existing.mcpServers) {
179
+ for (const name of Object.keys(MCP_SERVERS)) {
180
+ delete existing.mcpServers[name];
181
+ }
182
+ }
183
+ fs.writeFileSync(settingsPath, JSON.stringify(existing, null, 2));
184
+ }
185
+
134
186
  function removeHooks(targetBase) {
135
187
  const settingsPath = path.join(targetBase, '.claude', 'settings.json');
136
188
  const hooksDir = path.join(targetBase, '.claude', 'hooks');
@@ -173,6 +225,7 @@ async function run() {
173
225
  const { dest, count } = copySkills(base);
174
226
  copyHooks(base);
175
227
  const settingsPath = mergeHooks(base);
228
+ const mcpAdded = mergeMcpServers(base);
176
229
 
177
230
  writeTTY(`${LOGO}
178
231
  \x1b[32m✅ G2W installed at ${label}\x1b[0m
@@ -181,6 +234,23 @@ async function run() {
181
234
  Hooks → ${path.join(label, 'hooks/')}
182
235
  Config → ${path.join(label, 'settings.json')}
183
236
 
237
+ \x1b[36mIncluded tools:\x1b[0m
238
+ ✅ Context7 — live library docs in every research phase
239
+ ✅ Shadcn/UI — real React component implementations
240
+ ✅ Tailwind CSS — utility classes and CSS conversion
241
+ ✅ A11y — accessibility audits and WCAG checks
242
+
243
+ \x1b[33mPower-Ups (optional — run g2w power-ups to set up):\x1b[0m
244
+ → 21st.dev — AI component generation https://21st.dev/magic/console
245
+ → Motion — production animations https://plus.motion.dev/personal-token
246
+ → Figma MCP — design-to-code from Figma https://figma.com
247
+ → Marketing — 40+ SEO, copy, growth skills https://github.com/coreyhaines31/marketingskills
248
+ → Exa — semantic search (paid) https://exa.ai
249
+ → Firecrawl — deep doc crawling (paid) https://firecrawl.dev
250
+ → Repomix — pack codebases for AI https://github.com/yamadashy/repomix
251
+ → MemPalace — persistent memory https://github.com/milla-jovovich/mempalace
252
+ → Superpowers — enhanced planning + review https://github.com/supermemoryai/superpowers-claude
253
+
184
254
  Open any project with Claude Code and type:
185
255
  /g2w:bring2life — onboard an existing codebase
186
256
  /g2w:back2it — resume a session
@@ -200,6 +270,7 @@ async function uninstall() {
200
270
  const { base, label } = getTarget();
201
271
  const removed = removeSkills(base);
202
272
  removeHooks(base);
273
+ removeMcpServers(base);
203
274
 
204
275
  if (removed) {
205
276
  console.log(`\n✅ G2W removed from ${label}\n`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@only1btayy/g2w",
3
- "version": "1.0.24",
3
+ "version": "1.0.26",
4
4
  "description": "G2W — a relationship protocol for building trust with AI",
5
5
  "bin": {
6
6
  "g2w": "bin/g2w.js"
@@ -99,6 +99,68 @@ Generate all 11:
99
99
  - `CURRENT.md`
100
100
  - `PLAN.md` (leave empty — written by The Visionary when a task begins)
101
101
 
102
+ ## Phase 2b — Code Audit
103
+
104
+ After generating draft docs, run a deep audit of the actual code. Do not wait for the user to ask — this happens automatically. The goal is to show the user the real health of their codebase before they start building on top of it.
105
+
106
+ Scan for:
107
+
108
+ **Bugs & crashes:**
109
+ - Race conditions, thread safety issues
110
+ - Null/undefined access paths
111
+ - Logic errors (duplicate checks, unreachable code, off-by-one)
112
+ - State that can get out of sync
113
+
114
+ **Dead code:**
115
+ - Files with zero references
116
+ - Functions/classes never called
117
+ - Directories that aren't compiled or imported
118
+ - For each: list the file, size, and verdict (delete / flag / verify first)
119
+
120
+ **Anti-patterns:**
121
+ - Copy-pasted logic that should be shared
122
+ - Hardcoded values that should be configurable
123
+ - Missing error handling at system boundaries
124
+ - Overly complex functions that do too many things
125
+
126
+ **Security:**
127
+ - Exposed secrets, API keys, credentials
128
+ - Unvalidated user input
129
+ - Unsafe file operations
130
+
131
+ **Flags worth checking:**
132
+ - Things that work in dev but would break in production
133
+ - Assumptions about paths, environments, or dependencies
134
+
135
+ Write everything to `ERRORS.md` in the project's G2W doc folder. Use this format:
136
+
137
+ ```
138
+ # Errors & Issues — [project-name]
139
+ Generated by bring2life: [date]
140
+
141
+ ## Critical Bugs
142
+ ### ERR-XX — [short title]
143
+ **File:** `path/to/file.ext:line-range`
144
+ **What's wrong:** [explain what the code actually does vs what it should do]
145
+ **The fix:** [specific fix, not vague advice]
146
+
147
+ ## Dead Code
148
+ | File | Size | Verdict |
149
+ |------|------|---------|
150
+ | `file.ext` | XXkb | Delete — [reason] |
151
+
152
+ ## Anti-Patterns
153
+ [list with file references]
154
+
155
+ ## Security
156
+ [list with file references]
157
+
158
+ ## Flags
159
+ [things that need human verification before acting on]
160
+ ```
161
+
162
+ Be specific. File paths, line numbers, what's actually broken and why. No vague "consider improving" — either it's a real issue or don't list it.
163
+
102
164
  ## Phase 3 — Gap Interview
103
165
 
104
166
  After generating drafts, ask the questions you couldn't answer from the code alone. Ask them conversationally — no more than 3 at a time. Cover:
@@ -42,7 +42,9 @@ Attack every dimension:
42
42
 
43
43
  1. **Read `PLAN.md`** from `~/.g2w/projects/[active-project]/`
44
44
 
45
- 1b. **Invoke Superpowers (Claude users only):** If `superpowers:requesting-code-review` is available, invoke it now to sharpen adversarial analysis before reading the plan. If not available, proceed with native capabilities.
45
+ 1b. **Read `ERRORS.md`** from `~/.g2w/projects/[active-project]/` this is the code audit generated by The Leader. Use it as context: if the plan touches code with known bugs, flag it. If the plan ignores critical issues that should be addressed first, call it out. If ERRORS.md doesn't exist, note it as a finding ("no code audit was run").
46
+
47
+ 1c. **Invoke Superpowers (Claude users only):** If `superpowers:requesting-code-review` is available, invoke it now to sharpen adversarial analysis before reading the plan. If not available, proceed with native capabilities.
46
48
 
47
49
  2. **Read the actual codebase** — don't review a plan in a vacuum. Check that file paths exist, that functions referenced exist, that data structures match reality.
48
50
 
@@ -60,10 +60,12 @@ There is no partial pass. The build either passes inspection or it goes back to
60
60
  ## Process
61
61
 
62
62
  1. Read `PLAN.md` — know the contract
63
- 2. Read every file that was modified
64
- 3. Work through the test matrix item by item
65
- 4. Report: PASS (all items verified, user confirmed) or FAIL (specific items failing + fix list)
66
- 5. On PASS tell The Leader: inspection complete, ready for handoff
63
+ 2. Read `ERRORS.md` know the pre-existing issues
64
+ 3. Read every file that was modified
65
+ 4. Work through the test matrix item by item
66
+ 5. **Update `ERRORS.md`** mark any issues that were fixed this session as resolved. Add any new issues discovered during verification. Never delete old entries — mark them with `[RESOLVED — date]`.
67
+ 6. Report: PASS (all items verified, user confirmed) or FAIL (specific items failing + fix list)
68
+ 7. On PASS → tell The Leader: inspection complete, ready for handoff
67
69
 
68
70
  ## Rules
69
71
 
@@ -24,8 +24,16 @@ You are The Leader. You own the pipeline from task definition to handoff. Every
24
24
  - Verify PLAN.md exists and has no TBD/TODO/❓ markers before passing to Challenger
25
25
  - If markers exist → send back to Visionary. Do not pass incomplete plans.
26
26
 
27
+ **Phase 1b — Code Audit (auto):**
28
+ - Check if `ERRORS.md` exists in `~/.g2w/projects/[active-project]/`
29
+ - If it doesn't exist OR is older than 7 days → run a full code audit now
30
+ - Scan the codebase for: bugs, crashes, race conditions, dead code, anti-patterns, security issues
31
+ - Write findings to `ERRORS.md` with file paths, line numbers, and specific descriptions
32
+ - This runs automatically — never ask the user if they want an audit. They always do.
33
+ - If `ERRORS.md` already exists and is current → skip, move on
34
+
27
35
  **Phase 2 — Challenge:**
28
- - Hand plan to The Challenger
36
+ - Hand plan AND `ERRORS.md` to The Challenger
29
37
  - Receive findings
30
38
  - If FAIL → return to Visionary with findings. Loop until Challenger gives PASS.
31
39
  - On PASS → LOCK the plan. Announce: "Plan is locked. No modifications after this point."