@codebakers/mcp 5.4.3 → 5.5.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 (37) hide show
  1. package/INSTALL.md +221 -221
  2. package/LICENSE +21 -21
  3. package/README.md +412 -412
  4. package/dist/cli.js +29 -29
  5. package/dist/cli.js.map +1 -1
  6. package/dist/index.js +11 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/tools/analyze-mockups.js +37 -37
  9. package/dist/tools/autonomous-build.d.ts +18 -18
  10. package/dist/tools/autonomous-build.js +286 -286
  11. package/dist/tools/check-gate.js +6 -6
  12. package/dist/tools/check-scope.js +10 -10
  13. package/dist/tools/enforce-feature.js +15 -15
  14. package/dist/tools/fix-commit.js +18 -18
  15. package/dist/tools/fix-mockups.js +191 -191
  16. package/dist/tools/generate-api-route.js +155 -155
  17. package/dist/tools/generate-chatbot.js +306 -306
  18. package/dist/tools/generate-component.js +117 -117
  19. package/dist/tools/generate-docs.js +525 -525
  20. package/dist/tools/generate-e2e-tests.js +19 -19
  21. package/dist/tools/generate-migration.js +22 -22
  22. package/dist/tools/generate-schema.js +37 -37
  23. package/dist/tools/generate-spec.js +38 -38
  24. package/dist/tools/generate-store-contracts.js +42 -42
  25. package/dist/tools/generate-store.js +109 -109
  26. package/dist/tools/generate-unit-tests.js +57 -57
  27. package/dist/tools/map-dependencies.js +45 -45
  28. package/dist/tools/run-interview.js +142 -142
  29. package/dist/tools/setup-github.js +8 -8
  30. package/dist/tools/setup-supabase.js +8 -8
  31. package/dist/tools/setup-vercel.js +8 -8
  32. package/dist/tools/start.d.ts +12 -0
  33. package/dist/tools/start.d.ts.map +1 -0
  34. package/dist/tools/start.js +220 -0
  35. package/dist/tools/start.js.map +1 -0
  36. package/dist/tools/validate-mockups.js +19 -19
  37. package/package.json +50 -50
@@ -0,0 +1,220 @@
1
+ /**
2
+ * codebakers_start
3
+ *
4
+ * Interactive Onboarding & Session Start
5
+ *
6
+ * Kicks off an interactive CodeBakers session with step-by-step guidance.
7
+ * Use this when starting a new project or resuming an existing one.
8
+ *
9
+ * Purpose: Make CodeBakers approachable and guide users through the process
10
+ */
11
+ import * as fs from 'fs/promises';
12
+ import * as path from 'path';
13
+ export async function start(args) {
14
+ const cwd = process.cwd();
15
+ console.error('🍞 CodeBakers: Interactive Session Start');
16
+ try {
17
+ // Check if .codebakers exists
18
+ const codebakersDir = path.join(cwd, '.codebakers');
19
+ const codebakersExists = await fs.access(codebakersDir).then(() => true).catch(() => false);
20
+ // Check for PROJECT-SPEC.md
21
+ const specPath = path.join(codebakersDir, 'PROJECT-SPEC.md');
22
+ const specExists = codebakersExists && await fs.access(specPath).then(() => true).catch(() => false);
23
+ // Check for BUILD-STATE.md
24
+ const buildStatePath = path.join(codebakersDir, 'BUILD-STATE.md');
25
+ const buildStateExists = codebakersExists && await fs.access(buildStatePath).then(() => true).catch(() => false);
26
+ // Check for mockups
27
+ const mockupDir = path.join(cwd, 'refs', 'design');
28
+ const mockupsExist = await fs.access(mockupDir)
29
+ .then(async () => {
30
+ const files = await fs.readdir(mockupDir);
31
+ return files.some(f => f.match(/\.(png|jpg|jpeg|svg|figma)$/i));
32
+ })
33
+ .catch(() => false);
34
+ // Determine current state and provide interactive guidance
35
+ if (!codebakersExists) {
36
+ // Brand new user, first time
37
+ return `🍞 **Hey! Welcome to CodeBakers, powered by BotMakers.**
38
+
39
+ I'm your professional coding partner, ready to help you build amazing things!
40
+
41
+ Here's what makes this different - **you can talk to me like a regular person.** No commands to memorize, no complex setup, just natural conversation.
42
+
43
+ **I can help you in three ways:**
44
+
45
+ ✨ **Build it FOR you** - Describe your idea, and I'll take it from concept to deployed app (usually ~30 minutes)
46
+
47
+ 🤝 **Build it WITH you** - We'll work together step-by-step. You make the decisions, I handle the technical heavy lifting.
48
+
49
+ 📚 **Teach you while we build** - Want to learn? I'll explain what I'm doing and why, so you understand the whole process.
50
+
51
+ **The best part?** You don't need to know how to code. Just tell me what you want to create, and I'll guide you from there.
52
+
53
+ ---
54
+
55
+ **So... what do you want to build today?**
56
+
57
+ (Just describe it in your own words - like "a recipe app" or "a task manager for my team" - and I'll take care of the rest!)
58
+
59
+ I'm your AI development partner. Together, we'll build your application from idea to deployed product in 30 minutes.
60
+
61
+ **Here's how this works:**
62
+
63
+ **Step 1: Tell me what you want to build** 🎯
64
+ Just describe your idea in plain English. Examples:
65
+ - "A task manager for remote teams"
66
+ - "An expense tracker for freelancers"
67
+ - "A CRM for small businesses"
68
+
69
+ **Step 2: I'll create a complete specification** 📋
70
+ I'll research your domain and generate a detailed PROJECT-SPEC.md with:
71
+ - All features broken down
72
+ - Database schema
73
+ - User flows
74
+ - Tech stack decisions
75
+
76
+ **Step 3: Design mockups** 🎨
77
+ You can either:
78
+ - Upload designs from Figma
79
+ - Have me generate mockups
80
+ - Draw them and I'll analyze
81
+
82
+ **Step 4: I build everything automatically** 🚀
83
+ I'll generate:
84
+ - Database migrations
85
+ - API routes (with security)
86
+ - React components (all 4 states: loading/error/empty/success)
87
+ - Tests (unit + E2E)
88
+ - Documentation
89
+
90
+ **Step 5: Deploy to production** ☁️
91
+ One command and your app is live on Vercel with Supabase backend.
92
+
93
+ ---
94
+
95
+ **Let's get started!**
96
+
97
+ **What do you want to build?** (Just describe it in 1-2 sentences)
98
+
99
+ _I'll take it from there and guide you through each step._`;
100
+ }
101
+ else if (!specExists) {
102
+ // .codebakers exists but no spec - returning user starting fresh project
103
+ return `🍞 **Welcome back to CodeBakers!**
104
+
105
+ I see you're starting a new project. Exciting!
106
+
107
+ **Quick reminder:** You can talk to me like a regular person. Just describe what you want to build, and I'll handle everything - from planning to deployment.
108
+
109
+ ---
110
+
111
+ **What's your idea for this project?**
112
+
113
+ (Describe it in your own words - like "an expense tracker for freelancers" or "a booking system for salons")
114
+
115
+ I'll research your idea, plan out all the features, and we'll get building!`;
116
+ }
117
+ else if (specExists && !mockupsExist) {
118
+ // Have spec, need mockups - user paused after planning
119
+ const specContent = await fs.readFile(specPath, 'utf-8');
120
+ const projectName = specContent.match(/# (.+)/)?.[1] || 'Your Project';
121
+ return `🍞 **Welcome back!** You're building: **${projectName}**
122
+
123
+ Great news - your spec is all done! I've mapped out all the features and know exactly what needs to be built.
124
+
125
+ **Next up:** I need to see what you want it to look like. The designs help me figure out the perfect database structure and how everything connects.
126
+
127
+ **Three easy options:**
128
+
129
+ 🎨 **Upload designs** - Got Figma mockups? Just drag them into the \`refs/design/\` folder
130
+
131
+ ✨ **Let me generate them** - Tell me what screens you're thinking, and I'll create mockups for you
132
+
133
+ 📝 **Sketch it out** - Even hand-drawn sketches work! Take a photo and I'll understand it
134
+
135
+ ---
136
+
137
+ **What works best for you?**`;
138
+ }
139
+ else if (mockupsExist && !buildStateExists) {
140
+ // Have spec + mockups, ready to build - everything is set!
141
+ return `🍞 **Perfect! You're all set to build.**
142
+
143
+ I've got:
144
+ ✅ Your complete project spec
145
+ ✅ Your design mockups
146
+
147
+ **Here's what happens next:**
148
+
149
+ I'm going to analyze your designs and build your entire app. This usually takes 15-30 minutes depending on complexity.
150
+
151
+ I'll:
152
+ - Extract the database structure from your mockups
153
+ - Build all the features
154
+ - Add authentication & security
155
+ - Create tests
156
+ - Make it mobile-friendly
157
+
158
+ **And I'll keep you updated the whole time** so you can see the progress!
159
+
160
+ ---
161
+
162
+ **Ready to go?** Just say "start building" (or really, anything - I know what to do! 😊)`;
163
+ }
164
+ else {
165
+ // Existing project with build state - returning user continuing work
166
+ const buildState = await fs.readFile(buildStatePath, 'utf-8');
167
+ // Parse current phase
168
+ const phaseMatch = buildState.match(/Current Phase: (\d+)/);
169
+ const currentPhase = phaseMatch ? parseInt(phaseMatch[1]) : 0;
170
+ // Parse completed features
171
+ const completedMatch = buildState.match(/Features Complete: (\d+)\/(\d+)/);
172
+ const completed = completedMatch ? parseInt(completedMatch[1]) : 0;
173
+ const total = completedMatch ? parseInt(completedMatch[2]) : 0;
174
+ // Parse project name
175
+ const specContent = specExists ? await fs.readFile(specPath, 'utf-8') : '';
176
+ const projectName = specContent.match(/# (.+)/)?.[1] || 'Your App';
177
+ // Create friendly progress message
178
+ let progressMsg = '';
179
+ if (completed === total && total > 0) {
180
+ progressMsg = `🎉 All ${total} features are complete!`;
181
+ }
182
+ else if (completed > 0) {
183
+ progressMsg = `You've built ${completed} out of ${total} features - great progress!`;
184
+ }
185
+ else {
186
+ progressMsg = `Ready to start building your ${total} features!`;
187
+ }
188
+ return `🍞 **Welcome back!** Let's continue working on **${projectName}**.
189
+
190
+ ${progressMsg}
191
+
192
+ ---
193
+
194
+ **What would you like to do?**
195
+
196
+ **Keep building?** I'll pick up right where we left off and continue with the next features.
197
+
198
+ **Add something new?** Tell me what you want to add and I'll update the plan and build it.
199
+
200
+ **Ready to deploy?** If everything's done, I can get your app live in a few minutes.
201
+
202
+ **Review what's done?** I can show you what we've built and what's left.
203
+
204
+ ---
205
+
206
+ **Just tell me - I'm here to help however you need!** 😊`;
207
+ }
208
+ }
209
+ catch (error) {
210
+ console.error('Error in codebakers_start:', error);
211
+ return `🍞 CodeBakers: Error starting interactive session
212
+
213
+ Error: ${error instanceof Error ? error.message : String(error)}
214
+
215
+ **Fallback: Let's start anyway!**
216
+
217
+ What do you want to build? Describe your idea in 1-2 sentences.`;
218
+ }
219
+ }
220
+ //# sourceMappingURL=start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/tools/start.ts"],"names":[],"mappings":"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"}
@@ -26,13 +26,13 @@ export async function validateMockups(args) {
26
26
  // Check if mockup folder exists
27
27
  const folderExists = await fs.access(mockupPath).then(() => true).catch(() => false);
28
28
  if (!folderExists) {
29
- return `🍞 CodeBakers: Mockup Validation BLOCKED
30
-
31
- ❌ Mockup folder not found: ${mockupFolder}
32
-
33
- Create folder and add mockups:
34
- mkdir -p ${mockupFolder}
35
-
29
+ return `🍞 CodeBakers: Mockup Validation BLOCKED
30
+
31
+ ❌ Mockup folder not found: ${mockupFolder}
32
+
33
+ Create folder and add mockups:
34
+ mkdir -p ${mockupFolder}
35
+
36
36
  Then drop your design mockups (HTML, Figma exports, screenshots).`;
37
37
  }
38
38
  // Get all mockup files
@@ -43,14 +43,14 @@ Then drop your design mockups (HTML, Figma exports, screenshots).`;
43
43
  f.endsWith('.jpg') ||
44
44
  f.endsWith('.jpeg'));
45
45
  if (mockupFiles.length === 0) {
46
- return `🍞 CodeBakers: Mockup Validation BLOCKED
47
-
48
- ❌ No mockup files found in ${mockupFolder}
49
-
50
- Supported formats:
51
- - HTML/HTM (Staff mockups - preferred)
52
- - PNG/JPG (Client mockups - will need analysis)
53
-
46
+ return `🍞 CodeBakers: Mockup Validation BLOCKED
47
+
48
+ ❌ No mockup files found in ${mockupFolder}
49
+
50
+ Supported formats:
51
+ - HTML/HTM (Staff mockups - preferred)
52
+ - PNG/JPG (Client mockups - will need analysis)
53
+
54
54
  Add mockups and run again.`;
55
55
  }
56
56
  console.error(`Found ${mockupFiles.length} mockup files`);
@@ -101,10 +101,10 @@ Add mockups and run again.`;
101
101
  }
102
102
  catch (error) {
103
103
  console.error('Error during mockup validation:', error);
104
- return `🍞 CodeBakers: Mockup Validation Failed
105
-
106
- Error: ${error instanceof Error ? error.message : String(error)}
107
-
104
+ return `🍞 CodeBakers: Mockup Validation Failed
105
+
106
+ Error: ${error instanceof Error ? error.message : String(error)}
107
+
108
108
  Please check mockup files and try again.`;
109
109
  }
110
110
  }
package/package.json CHANGED
@@ -1,50 +1,50 @@
1
- {
2
- "name": "@codebakers/mcp",
3
- "version": "5.4.3",
4
- "description": "CodeBakers Method MCP Server - Complete autonomous app builder with context-aware consulting",
5
- "main": "dist/index.js",
6
- "type": "module",
7
- "bin": {
8
- "codebakers": "./dist/cli.js"
9
- },
10
- "files": [
11
- "dist/",
12
- "README.md",
13
- "INSTALL.md",
14
- "LICENSE"
15
- ],
16
- "scripts": {
17
- "build": "tsc",
18
- "watch": "tsc --watch",
19
- "start": "node dist/index.js",
20
- "dev": "tsc && node dist/index.js"
21
- },
22
- "keywords": [
23
- "codebakers",
24
- "mcp",
25
- "ai-development",
26
- "claude",
27
- "software-development"
28
- ],
29
- "repository": {
30
- "type": "git",
31
- "url": "https://github.com/botmakers-ai/codebakers-v2.git",
32
- "directory": "codebakers-mcp-server"
33
- },
34
- "bugs": {
35
- "url": "https://github.com/botmakers-ai/codebakers-v2/issues"
36
- },
37
- "homepage": "https://github.com/botmakers-ai/codebakers-v2#readme",
38
- "author": "BotMakers Inc.",
39
- "license": "MIT",
40
- "dependencies": {
41
- "@modelcontextprotocol/sdk": "^0.5.0"
42
- },
43
- "devDependencies": {
44
- "@types/node": "^20.11.0",
45
- "typescript": "^5.3.3"
46
- },
47
- "engines": {
48
- "node": ">=18.0.0"
49
- }
50
- }
1
+ {
2
+ "name": "@codebakers/mcp",
3
+ "version": "5.5.0",
4
+ "description": "CodeBakers Method MCP Server - Complete autonomous app builder with context-aware consulting",
5
+ "main": "dist/index.js",
6
+ "type": "module",
7
+ "bin": {
8
+ "codebakers": "./dist/cli.js"
9
+ },
10
+ "files": [
11
+ "dist/",
12
+ "README.md",
13
+ "INSTALL.md",
14
+ "LICENSE"
15
+ ],
16
+ "scripts": {
17
+ "build": "tsc",
18
+ "watch": "tsc --watch",
19
+ "start": "node dist/index.js",
20
+ "dev": "tsc && node dist/index.js"
21
+ },
22
+ "keywords": [
23
+ "codebakers",
24
+ "mcp",
25
+ "ai-development",
26
+ "claude",
27
+ "software-development"
28
+ ],
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/botmakers-ai/codebakers-v2.git",
32
+ "directory": "codebakers-mcp-server"
33
+ },
34
+ "bugs": {
35
+ "url": "https://github.com/botmakers-ai/codebakers-v2/issues"
36
+ },
37
+ "homepage": "https://github.com/botmakers-ai/codebakers-v2#readme",
38
+ "author": "BotMakers Inc.",
39
+ "license": "MIT",
40
+ "dependencies": {
41
+ "@modelcontextprotocol/sdk": "^0.5.0"
42
+ },
43
+ "devDependencies": {
44
+ "@types/node": "^20.11.0",
45
+ "typescript": "^5.3.3"
46
+ },
47
+ "engines": {
48
+ "node": ">=18.0.0"
49
+ }
50
+ }