@codebakers/mcp 5.2.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.
Files changed (140) hide show
  1. package/INSTALL.md +221 -0
  2. package/LICENSE +21 -0
  3. package/README.md +412 -0
  4. package/dist/cli.d.ts +9 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +236 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/index.d.ts +12 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +526 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/tools/analyze-mockups.d.ts +18 -0
  13. package/dist/tools/analyze-mockups.d.ts.map +1 -0
  14. package/dist/tools/analyze-mockups.js +497 -0
  15. package/dist/tools/analyze-mockups.js.map +1 -0
  16. package/dist/tools/autonomous-build.d.ts +19 -0
  17. package/dist/tools/autonomous-build.d.ts.map +1 -0
  18. package/dist/tools/autonomous-build.js +287 -0
  19. package/dist/tools/autonomous-build.js.map +1 -0
  20. package/dist/tools/check-gate.d.ts +21 -0
  21. package/dist/tools/check-gate.d.ts.map +1 -0
  22. package/dist/tools/check-gate.js +446 -0
  23. package/dist/tools/check-gate.js.map +1 -0
  24. package/dist/tools/check-scope.d.ts +22 -0
  25. package/dist/tools/check-scope.d.ts.map +1 -0
  26. package/dist/tools/check-scope.js +251 -0
  27. package/dist/tools/check-scope.js.map +1 -0
  28. package/dist/tools/deploy-vercel.d.ts +18 -0
  29. package/dist/tools/deploy-vercel.d.ts.map +1 -0
  30. package/dist/tools/deploy-vercel.js +178 -0
  31. package/dist/tools/deploy-vercel.js.map +1 -0
  32. package/dist/tools/diagnose-error.d.ts +20 -0
  33. package/dist/tools/diagnose-error.d.ts.map +1 -0
  34. package/dist/tools/diagnose-error.js +351 -0
  35. package/dist/tools/diagnose-error.js.map +1 -0
  36. package/dist/tools/enforce-feature.d.ts +25 -0
  37. package/dist/tools/enforce-feature.d.ts.map +1 -0
  38. package/dist/tools/enforce-feature.js +387 -0
  39. package/dist/tools/enforce-feature.js.map +1 -0
  40. package/dist/tools/execute-atomic-unit.d.ts +23 -0
  41. package/dist/tools/execute-atomic-unit.d.ts.map +1 -0
  42. package/dist/tools/execute-atomic-unit.js +107 -0
  43. package/dist/tools/execute-atomic-unit.js.map +1 -0
  44. package/dist/tools/fix-commit.d.ts +23 -0
  45. package/dist/tools/fix-commit.d.ts.map +1 -0
  46. package/dist/tools/fix-commit.js +213 -0
  47. package/dist/tools/fix-commit.js.map +1 -0
  48. package/dist/tools/fix-mockups.d.ts +21 -0
  49. package/dist/tools/fix-mockups.d.ts.map +1 -0
  50. package/dist/tools/fix-mockups.js +595 -0
  51. package/dist/tools/fix-mockups.js.map +1 -0
  52. package/dist/tools/generate-api-route.d.ts +18 -0
  53. package/dist/tools/generate-api-route.d.ts.map +1 -0
  54. package/dist/tools/generate-api-route.js +212 -0
  55. package/dist/tools/generate-api-route.js.map +1 -0
  56. package/dist/tools/generate-chatbot.d.ts +20 -0
  57. package/dist/tools/generate-chatbot.d.ts.map +1 -0
  58. package/dist/tools/generate-chatbot.js +555 -0
  59. package/dist/tools/generate-chatbot.js.map +1 -0
  60. package/dist/tools/generate-component.d.ts +18 -0
  61. package/dist/tools/generate-component.d.ts.map +1 -0
  62. package/dist/tools/generate-component.js +159 -0
  63. package/dist/tools/generate-component.js.map +1 -0
  64. package/dist/tools/generate-docs.d.ts +21 -0
  65. package/dist/tools/generate-docs.d.ts.map +1 -0
  66. package/dist/tools/generate-docs.js +782 -0
  67. package/dist/tools/generate-docs.js.map +1 -0
  68. package/dist/tools/generate-e2e-tests.d.ts +12 -0
  69. package/dist/tools/generate-e2e-tests.d.ts.map +1 -0
  70. package/dist/tools/generate-e2e-tests.js +37 -0
  71. package/dist/tools/generate-e2e-tests.js.map +1 -0
  72. package/dist/tools/generate-migration.d.ts +21 -0
  73. package/dist/tools/generate-migration.d.ts.map +1 -0
  74. package/dist/tools/generate-migration.js +94 -0
  75. package/dist/tools/generate-migration.js.map +1 -0
  76. package/dist/tools/generate-schema.d.ts +18 -0
  77. package/dist/tools/generate-schema.d.ts.map +1 -0
  78. package/dist/tools/generate-schema.js +422 -0
  79. package/dist/tools/generate-schema.js.map +1 -0
  80. package/dist/tools/generate-spec.d.ts +18 -0
  81. package/dist/tools/generate-spec.d.ts.map +1 -0
  82. package/dist/tools/generate-spec.js +446 -0
  83. package/dist/tools/generate-spec.js.map +1 -0
  84. package/dist/tools/generate-store-contracts.d.ts +17 -0
  85. package/dist/tools/generate-store-contracts.d.ts.map +1 -0
  86. package/dist/tools/generate-store-contracts.js +356 -0
  87. package/dist/tools/generate-store-contracts.js.map +1 -0
  88. package/dist/tools/generate-store.d.ts +16 -0
  89. package/dist/tools/generate-store.d.ts.map +1 -0
  90. package/dist/tools/generate-store.js +166 -0
  91. package/dist/tools/generate-store.js.map +1 -0
  92. package/dist/tools/generate-unit-tests.d.ts +14 -0
  93. package/dist/tools/generate-unit-tests.d.ts.map +1 -0
  94. package/dist/tools/generate-unit-tests.js +85 -0
  95. package/dist/tools/generate-unit-tests.js.map +1 -0
  96. package/dist/tools/get-context.d.ts +35 -0
  97. package/dist/tools/get-context.d.ts.map +1 -0
  98. package/dist/tools/get-context.js +367 -0
  99. package/dist/tools/get-context.js.map +1 -0
  100. package/dist/tools/init-session.d.ts +22 -0
  101. package/dist/tools/init-session.d.ts.map +1 -0
  102. package/dist/tools/init-session.js +232 -0
  103. package/dist/tools/init-session.js.map +1 -0
  104. package/dist/tools/map-dependencies.d.ts +25 -0
  105. package/dist/tools/map-dependencies.d.ts.map +1 -0
  106. package/dist/tools/map-dependencies.js +480 -0
  107. package/dist/tools/map-dependencies.js.map +1 -0
  108. package/dist/tools/optimize-performance.d.ts +18 -0
  109. package/dist/tools/optimize-performance.d.ts.map +1 -0
  110. package/dist/tools/optimize-performance.js +285 -0
  111. package/dist/tools/optimize-performance.js.map +1 -0
  112. package/dist/tools/run-interview.d.ts +23 -0
  113. package/dist/tools/run-interview.d.ts.map +1 -0
  114. package/dist/tools/run-interview.js +371 -0
  115. package/dist/tools/run-interview.js.map +1 -0
  116. package/dist/tools/run-tests.d.ts +12 -0
  117. package/dist/tools/run-tests.d.ts.map +1 -0
  118. package/dist/tools/run-tests.js +30 -0
  119. package/dist/tools/run-tests.js.map +1 -0
  120. package/dist/tools/scan-security.d.ts +19 -0
  121. package/dist/tools/scan-security.d.ts.map +1 -0
  122. package/dist/tools/scan-security.js +358 -0
  123. package/dist/tools/scan-security.js.map +1 -0
  124. package/dist/tools/validate-accessibility.d.ts +18 -0
  125. package/dist/tools/validate-accessibility.d.ts.map +1 -0
  126. package/dist/tools/validate-accessibility.js +251 -0
  127. package/dist/tools/validate-accessibility.js.map +1 -0
  128. package/dist/tools/validate-mockups.d.ts +21 -0
  129. package/dist/tools/validate-mockups.d.ts.map +1 -0
  130. package/dist/tools/validate-mockups.js +433 -0
  131. package/dist/tools/validate-mockups.js.map +1 -0
  132. package/dist/tools/verify-completeness.d.ts +13 -0
  133. package/dist/tools/verify-completeness.d.ts.map +1 -0
  134. package/dist/tools/verify-completeness.js +68 -0
  135. package/dist/tools/verify-completeness.js.map +1 -0
  136. package/dist/tools/verify-mockups.d.ts +14 -0
  137. package/dist/tools/verify-mockups.d.ts.map +1 -0
  138. package/dist/tools/verify-mockups.js +85 -0
  139. package/dist/tools/verify-mockups.js.map +1 -0
  140. package/package.json +50 -0
@@ -0,0 +1,251 @@
1
+ /**
2
+ * codebakers_check_scope
3
+ *
4
+ * Scope Verification
5
+ *
6
+ * Verifies that a feature request is defined in PROJECT-SPEC.md.
7
+ * Prevents scope creep by enforcing spec boundaries.
8
+ *
9
+ * Rules:
10
+ * - Feature must be in Gate 1 (Entities) or Gate 2 (State Changes)
11
+ * - If not found, must either:
12
+ * 1. Add to spec (formal amendment)
13
+ * 2. Descope (remove from request)
14
+ * 3. Flag for future iteration
15
+ * - Never silently expand scope
16
+ *
17
+ * Based on CodeBakers Method Principle #7: Fixed Appetite, Not Open Scope
18
+ */
19
+ import * as fs from 'fs/promises';
20
+ import * as path from 'path';
21
+ export async function checkScope(args) {
22
+ const description = args.feature_description || 'unknown';
23
+ const cwd = process.cwd();
24
+ console.error('🍞 CodeBakers: Scope Verification');
25
+ console.error(`Checking: ${description}`);
26
+ try {
27
+ // 1. Load PROJECT-SPEC.md
28
+ const specPath = path.join(cwd, '.codebakers', 'PROJECT-SPEC.md');
29
+ const specExists = await fs.access(specPath).then(() => true).catch(() => false);
30
+ if (!specExists) {
31
+ return `🍞 CodeBakers: Scope Check BLOCKED
32
+
33
+ ❌ PROJECT-SPEC.md not found
34
+
35
+ Cannot verify scope without specification.
36
+
37
+ Next step: Run Phase 0 first (codebakers_generate_spec)`;
38
+ }
39
+ const specContent = await fs.readFile(specPath, 'utf-8');
40
+ // 2. Extract entities and state changes from spec
41
+ const entities = extractEntities(specContent);
42
+ const stateChanges = extractStateChanges(specContent);
43
+ console.error(`Spec contains ${entities.length} entities and ${stateChanges.length} state changes`);
44
+ // 3. Check if feature matches spec
45
+ const result = checkFeatureAgainstSpec(description, entities, stateChanges);
46
+ console.error(`Match confidence: ${result.confidence}`);
47
+ console.error(`In scope: ${result.in_scope}`);
48
+ // 4. Generate report
49
+ const report = generateScopeReport(description, result, entities, stateChanges);
50
+ return report;
51
+ }
52
+ catch (error) {
53
+ console.error('Error during scope check:', error);
54
+ return `🍞 CodeBakers: Scope Check Failed
55
+
56
+ Error: ${error instanceof Error ? error.message : String(error)}
57
+
58
+ Please verify PROJECT-SPEC.md exists and is readable.`;
59
+ }
60
+ }
61
+ /**
62
+ * Extract entities from spec
63
+ */
64
+ function extractEntities(spec) {
65
+ const entities = [];
66
+ // Extract from Gate 1 section
67
+ const gate1Match = spec.match(/## Gate 1: Entities([\s\S]*?)(?=---|\n## Gate|$)/);
68
+ if (!gate1Match)
69
+ return entities;
70
+ const gate1Content = gate1Match[1];
71
+ // Extract entity names (markdown headers like ### User, ### Message, etc.)
72
+ const entityMatches = gate1Content.matchAll(/### (\w+)/g);
73
+ for (const match of entityMatches) {
74
+ entities.push(match[1].toLowerCase());
75
+ }
76
+ return entities;
77
+ }
78
+ /**
79
+ * Extract state changes from spec
80
+ */
81
+ function extractStateChanges(spec) {
82
+ const stateChanges = [];
83
+ // Extract from Gate 2 section
84
+ const gate2Match = spec.match(/## Gate 2: State Changes([\s\S]*?)(?=---|\n## Gate|$)/);
85
+ if (!gate2Match)
86
+ return stateChanges;
87
+ const gate2Content = gate2Match[1];
88
+ // Extract from table format: | createUser | User | create | ... |
89
+ const stateMatches = gate2Content.matchAll(/\|\s*(\w+)\s*\|/g);
90
+ for (const match of stateMatches) {
91
+ const action = match[1];
92
+ // Skip table headers
93
+ if (action !== 'Action' && action !== 'Affects' && action !== 'Type' && action !== 'Description') {
94
+ stateChanges.push(action.toLowerCase());
95
+ }
96
+ }
97
+ return stateChanges;
98
+ }
99
+ /**
100
+ * Check feature against spec
101
+ */
102
+ function checkFeatureAgainstSpec(description, entities, stateChanges) {
103
+ const lowerDesc = description.toLowerCase();
104
+ const words = lowerDesc.split(/\s+/);
105
+ const matchedEntities = [];
106
+ const matchedStateChanges = [];
107
+ // Check entity matches
108
+ for (const entity of entities) {
109
+ if (lowerDesc.includes(entity)) {
110
+ matchedEntities.push(entity);
111
+ }
112
+ }
113
+ // Check state change matches
114
+ for (const stateChange of stateChanges) {
115
+ if (lowerDesc.includes(stateChange.replace(/^(create|update|delete)/, '')) ||
116
+ words.some(w => stateChange.includes(w))) {
117
+ matchedStateChanges.push(stateChange);
118
+ }
119
+ }
120
+ // Check for CRUD verbs
121
+ const crudVerbs = ['create', 'add', 'new', 'update', 'edit', 'modify', 'delete', 'remove'];
122
+ const hasCrudVerb = crudVerbs.some(verb => lowerDesc.includes(verb));
123
+ // Determine confidence
124
+ let confidence;
125
+ let inScope;
126
+ let recommendation;
127
+ let specAmendmentRequired;
128
+ if (matchedEntities.length > 0 && matchedStateChanges.length > 0) {
129
+ // Strong match
130
+ confidence = 'high';
131
+ inScope = true;
132
+ recommendation = `✅ Feature matches spec. Entity: ${matchedEntities.join(', ')}. State change: ${matchedStateChanges.join(', ')}.`;
133
+ specAmendmentRequired = false;
134
+ }
135
+ else if (matchedEntities.length > 0 && hasCrudVerb) {
136
+ // Moderate match - entity found, CRUD verb present
137
+ confidence = 'medium';
138
+ inScope = true;
139
+ recommendation = `⚠️ Entity found in spec (${matchedEntities.join(', ')}), but specific state change not defined. May need spec amendment.`;
140
+ specAmendmentRequired = false; // Lenient - allow if entity exists
141
+ }
142
+ else if (matchedEntities.length > 0) {
143
+ // Entity found but no clear action
144
+ confidence = 'low';
145
+ inScope = false;
146
+ recommendation = `⚠️ Entity exists (${matchedEntities.join(', ')}), but action unclear. Clarify or add state change to spec.`;
147
+ specAmendmentRequired = true;
148
+ }
149
+ else {
150
+ // No matches
151
+ confidence = 'none';
152
+ inScope = false;
153
+ recommendation = `❌ Feature not found in spec. This appears to be scope creep.`;
154
+ specAmendmentRequired = true;
155
+ }
156
+ return {
157
+ in_scope: inScope,
158
+ matched_entities: matchedEntities,
159
+ matched_state_changes: matchedStateChanges,
160
+ confidence: confidence,
161
+ recommendation: recommendation,
162
+ spec_amendment_required: specAmendmentRequired,
163
+ };
164
+ }
165
+ /**
166
+ * Generate scope report
167
+ */
168
+ function generateScopeReport(description, result, entities, stateChanges) {
169
+ let report = `🍞 CodeBakers: Scope Verification\n\n`;
170
+ report += `**Feature:** ${description}\n`;
171
+ report += `**Confidence:** ${result.confidence.toUpperCase()}\n`;
172
+ report += `**In Scope:** ${result.in_scope ? 'YES' : 'NO'}\n\n`;
173
+ report += `---\n\n`;
174
+ // Matches
175
+ report += `## Analysis\n\n`;
176
+ if (result.matched_entities.length > 0) {
177
+ report += `**Matched Entities:**\n`;
178
+ for (const entity of result.matched_entities) {
179
+ report += `- ${entity}\n`;
180
+ }
181
+ report += `\n`;
182
+ }
183
+ else {
184
+ report += `**Matched Entities:** None\n\n`;
185
+ }
186
+ if (result.matched_state_changes.length > 0) {
187
+ report += `**Matched State Changes:**\n`;
188
+ for (const change of result.matched_state_changes) {
189
+ report += `- ${change}\n`;
190
+ }
191
+ report += `\n`;
192
+ }
193
+ else {
194
+ report += `**Matched State Changes:** None\n\n`;
195
+ }
196
+ report += `---\n\n`;
197
+ // Recommendation
198
+ report += `## Recommendation\n\n`;
199
+ report += `${result.recommendation}\n\n`;
200
+ // Next steps
201
+ report += `---\n\n`;
202
+ report += `## Next Steps\n\n`;
203
+ if (result.in_scope && !result.spec_amendment_required) {
204
+ report += `✅ **APPROVED** - Feature is in scope\n\n`;
205
+ report += `Proceed with build:\n`;
206
+ report += `1. Use: codebakers_enforce_feature\n`;
207
+ report += `2. Follow atomic unit protocol\n`;
208
+ report += `3. Build feature\n\n`;
209
+ }
210
+ else if (result.in_scope && result.spec_amendment_required) {
211
+ report += `⚠️ **CONDITIONAL APPROVAL** - Clarification needed\n\n`;
212
+ report += `Options:\n`;
213
+ report += `1. Add specific state change to spec (amendment)\n`;
214
+ report += `2. Clarify feature description to match existing spec\n`;
215
+ report += `3. Proceed with caution if action is implied\n\n`;
216
+ }
217
+ else {
218
+ report += `❌ **SCOPE CREEP DETECTED** - Feature not in spec\n\n`;
219
+ report += `You MUST choose one:\n\n`;
220
+ report += `**Option 1: Spec Amendment (Recommended)**\n`;
221
+ report += `1. Review PROJECT-SPEC.md\n`;
222
+ report += `2. Add this feature to Gate 1 (Entities) or Gate 2 (State Changes)\n`;
223
+ report += `3. Get human approval for spec change\n`;
224
+ report += `4. Then proceed with build\n\n`;
225
+ report += `**Option 2: Descope**\n`;
226
+ report += `Remove this feature from request\n\n`;
227
+ report += `**Option 3: Future Iteration**\n`;
228
+ report += `Flag for next phase/version\n\n`;
229
+ report += `**NOT ALLOWED:**\n`;
230
+ report += `❌ Silently building features not in spec\n`;
231
+ report += `❌ Expanding scope without formal amendment\n\n`;
232
+ }
233
+ // Spec reference
234
+ report += `---\n\n`;
235
+ report += `## Spec Reference\n\n`;
236
+ report += `**Entities in spec (${entities.length}):**\n`;
237
+ for (const entity of entities) {
238
+ report += `- ${entity}\n`;
239
+ }
240
+ report += `\n`;
241
+ report += `**State changes in spec (${stateChanges.length}):**\n`;
242
+ for (const change of stateChanges.slice(0, 10)) {
243
+ report += `- ${change}\n`;
244
+ }
245
+ if (stateChanges.length > 10) {
246
+ report += `- ... and ${stateChanges.length - 10} more\n`;
247
+ }
248
+ report += `\n`;
249
+ return report;
250
+ }
251
+ //# sourceMappingURL=check-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-scope.js","sourceRoot":"","sources":["../../src/tools/check-scope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * codebakers_deploy_vercel
3
+ *
4
+ * Vercel Deployment Automation
5
+ *
6
+ * Deploys app to Vercel:
7
+ * - Configures project
8
+ * - Sets environment variables
9
+ * - Deploys to production
10
+ * - Returns live URL
11
+ */
12
+ interface DeployArgs {
13
+ production?: boolean;
14
+ env_file?: string;
15
+ }
16
+ export declare function deployVercel(args?: DeployArgs): Promise<string>;
17
+ export {};
18
+ //# sourceMappingURL=deploy-vercel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-vercel.d.ts","sourceRoot":"","sources":["../../src/tools/deploy-vercel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,UAAU,UAAU;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,YAAY,CAAC,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAsCzE"}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * codebakers_deploy_vercel
3
+ *
4
+ * Vercel Deployment Automation
5
+ *
6
+ * Deploys app to Vercel:
7
+ * - Configures project
8
+ * - Sets environment variables
9
+ * - Deploys to production
10
+ * - Returns live URL
11
+ */
12
+ import * as fs from 'fs/promises';
13
+ import * as path from 'path';
14
+ import { execSync } from 'child_process';
15
+ export async function deployVercel(args = {}) {
16
+ const cwd = process.cwd();
17
+ const { production = true, env_file = '.env' } = args;
18
+ console.error('🍞 CodeBakers: Deploying to Vercel');
19
+ try {
20
+ // Step 1: Check if Vercel CLI is installed
21
+ await ensureVercelCLI();
22
+ // Step 2: Check if project is linked
23
+ const projectLinked = await isProjectLinked(cwd);
24
+ if (!projectLinked) {
25
+ console.error('Project not linked to Vercel - linking now...');
26
+ await linkProject(cwd);
27
+ }
28
+ // Step 3: Load environment variables
29
+ const envVars = await loadEnvVars(cwd, env_file);
30
+ // Step 4: Set environment variables in Vercel
31
+ if (envVars.length > 0) {
32
+ console.error(`Setting ${envVars.length} environment variables...`);
33
+ await setEnvVars(cwd, envVars);
34
+ }
35
+ // Step 5: Deploy
36
+ console.error(production ? 'Deploying to production...' : 'Deploying preview...');
37
+ const url = await deploy(cwd, production);
38
+ // Step 6: Update BRAIN.md with deployment info
39
+ await updateBrainWithDeployment(cwd, url);
40
+ return generateDeploymentReport(url, production, envVars.length);
41
+ }
42
+ catch (error) {
43
+ return `🍞 CodeBakers: Deployment Failed\n\nError: ${error instanceof Error ? error.message : String(error)}`;
44
+ }
45
+ }
46
+ async function ensureVercelCLI() {
47
+ try {
48
+ execSync('vercel --version', { stdio: 'ignore' });
49
+ }
50
+ catch {
51
+ throw new Error('Vercel CLI not installed.\n\n' +
52
+ 'Install with: npm install -g vercel\n' +
53
+ 'Then run: vercel login');
54
+ }
55
+ }
56
+ async function isProjectLinked(cwd) {
57
+ const vercelDir = path.join(cwd, '.vercel');
58
+ try {
59
+ await fs.access(vercelDir);
60
+ return true;
61
+ }
62
+ catch {
63
+ return false;
64
+ }
65
+ }
66
+ async function linkProject(cwd) {
67
+ try {
68
+ // Try to link project (requires user interaction)
69
+ execSync('vercel link', {
70
+ cwd,
71
+ stdio: 'inherit'
72
+ });
73
+ }
74
+ catch (error) {
75
+ throw new Error('Failed to link project to Vercel.\n\n' +
76
+ 'Run: vercel link\n' +
77
+ 'Then retry deployment.');
78
+ }
79
+ }
80
+ async function loadEnvVars(cwd, envFile) {
81
+ const envPath = path.join(cwd, envFile);
82
+ const envVars = [];
83
+ try {
84
+ const content = await fs.readFile(envPath, 'utf-8');
85
+ const lines = content.split('\n');
86
+ for (const line of lines) {
87
+ // Skip comments and empty lines
88
+ if (!line.trim() || line.trim().startsWith('#'))
89
+ continue;
90
+ const match = line.match(/^([A-Z_][A-Z0-9_]*)\s*=\s*(.+)$/);
91
+ if (match) {
92
+ const [, key, value] = match;
93
+ // Remove quotes if present
94
+ const cleanValue = value.replace(/^["']|["']$/g, '');
95
+ envVars.push({ key, value: cleanValue });
96
+ }
97
+ }
98
+ }
99
+ catch {
100
+ // .env doesn't exist - that's okay
101
+ }
102
+ return envVars;
103
+ }
104
+ async function setEnvVars(cwd, envVars) {
105
+ // Note: vercel env add requires interactive input
106
+ // For automation, we'll provide guidance instead
107
+ console.error('\nEnvironment variables detected.\n' +
108
+ 'Set them in Vercel dashboard or run:\n');
109
+ for (const { key } of envVars) {
110
+ console.error(` vercel env add ${key}`);
111
+ }
112
+ console.error('\nSkipping automatic env setup - deploy will continue...\n');
113
+ }
114
+ async function deploy(cwd, production) {
115
+ try {
116
+ const args = production ? '--prod' : '';
117
+ const output = execSync(`vercel ${args} --yes`, {
118
+ cwd,
119
+ encoding: 'utf-8',
120
+ stdio: ['pipe', 'pipe', 'pipe']
121
+ });
122
+ // Extract URL from output
123
+ const urlMatch = output.match(/https:\/\/[^\s]+/);
124
+ if (urlMatch) {
125
+ return urlMatch[0];
126
+ }
127
+ throw new Error('Deployment succeeded but URL not found in output');
128
+ }
129
+ catch (error) {
130
+ throw new Error('Deployment failed.\n\n' +
131
+ 'Possible causes:\n' +
132
+ '- Not logged in: Run `vercel login`\n' +
133
+ '- Build errors: Check TypeScript and Next.js config\n' +
134
+ '- Missing environment variables\n\n' +
135
+ `Error: ${error instanceof Error ? error.message : String(error)}`);
136
+ }
137
+ }
138
+ async function updateBrainWithDeployment(cwd, url) {
139
+ const brainPath = path.join(cwd, '.codebakers', 'BRAIN.md');
140
+ try {
141
+ let content = await fs.readFile(brainPath, 'utf-8');
142
+ // Update or add deployment section
143
+ const deploymentSection = `\n## Deployment\n\n**Production URL:** ${url}\n**Last deployed:** ${new Date().toISOString()}\n**Platform:** Vercel\n`;
144
+ if (content.includes('## Deployment')) {
145
+ content = content.replace(/## Deployment[\s\S]*?(?=\n##|$)/, deploymentSection);
146
+ }
147
+ else {
148
+ content += deploymentSection;
149
+ }
150
+ await fs.writeFile(brainPath, content, 'utf-8');
151
+ }
152
+ catch {
153
+ // BRAIN.md doesn't exist - create minimal version
154
+ await fs.mkdir(path.dirname(brainPath), { recursive: true });
155
+ await fs.writeFile(brainPath, `# Project Memory\n\n## Deployment\n\n**Production URL:** ${url}\n**Last deployed:** ${new Date().toISOString()}\n**Platform:** Vercel\n`, 'utf-8');
156
+ }
157
+ }
158
+ function generateDeploymentReport(url, production, envCount) {
159
+ let report = `🍞 CodeBakers: Deployment ${production ? 'Complete' : 'Preview Ready'}\n\n`;
160
+ report += `✅ **Live URL:** ${url}\n\n`;
161
+ report += `## Deployment Details\n\n`;
162
+ report += `- **Environment:** ${production ? 'Production' : 'Preview'}\n`;
163
+ report += `- **Platform:** Vercel\n`;
164
+ report += `- **Deployed:** ${new Date().toLocaleString()}\n`;
165
+ if (envCount > 0) {
166
+ report += `- **Environment variables:** ${envCount} loaded\n`;
167
+ }
168
+ report += `\n## Next Steps\n\n`;
169
+ report += `1. Visit: ${url}\n`;
170
+ report += `2. Test core functionality\n`;
171
+ report += `3. Monitor errors: https://vercel.com/dashboard\n`;
172
+ if (envCount > 0) {
173
+ report += `4. Verify environment variables in Vercel dashboard\n`;
174
+ }
175
+ report += `\n✨ Your app is live!\n`;
176
+ return report;
177
+ }
178
+ //# sourceMappingURL=deploy-vercel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-vercel.js","sourceRoot":"","sources":["../../src/tools/deploy-vercel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * codebakers_diagnose_error
3
+ *
4
+ * AI-Powered Error Diagnosis
5
+ *
6
+ * Analyzes errors and provides:
7
+ * - Root cause analysis
8
+ * - Affected files
9
+ * - Multiple fix approaches
10
+ * - Confidence scores
11
+ * - Related patterns from ERROR-LOG.md
12
+ */
13
+ interface DiagnoseArgs {
14
+ error_message: string;
15
+ stack_trace?: string;
16
+ context?: string;
17
+ }
18
+ export declare function diagnoseError(args: DiagnoseArgs): Promise<string>;
19
+ export {};
20
+ //# sourceMappingURL=diagnose-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnose-error.d.ts","sourceRoot":"","sources":["../../src/tools/diagnose-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,UAAU,YAAY;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAiBD,wBAAsB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAmCvE"}