@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,212 @@
1
+ /**
2
+ * codebakers_generate_api_route
3
+ *
4
+ * API Route Generator
5
+ *
6
+ * Generates Next.js API routes with:
7
+ * - Supabase integration
8
+ * - Security filters (user_id)
9
+ * - Error handling
10
+ * - TypeScript types
11
+ */
12
+ import * as fs from 'fs/promises';
13
+ import * as path from 'path';
14
+ export async function generateApiRoute(args) {
15
+ const cwd = process.cwd();
16
+ const { entity, operation } = args;
17
+ const tableName = entity.toLowerCase() + 's';
18
+ const routePath = operation === 'list' || operation === 'create'
19
+ ? `src/app/api/${tableName}/route.ts`
20
+ : `src/app/api/${tableName}/[id]/route.ts`;
21
+ let code = '';
22
+ if (operation === 'list') {
23
+ code = generateListRoute(entity, tableName);
24
+ }
25
+ else if (operation === 'get') {
26
+ code = generateGetRoute(entity, tableName);
27
+ }
28
+ else if (operation === 'create') {
29
+ code = generateCreateRoute(entity, tableName);
30
+ }
31
+ else if (operation === 'update') {
32
+ code = generateUpdateRoute(entity, tableName);
33
+ }
34
+ else if (operation === 'delete') {
35
+ code = generateDeleteRoute(entity, tableName);
36
+ }
37
+ const fullPath = path.join(cwd, routePath);
38
+ await fs.mkdir(path.dirname(fullPath), { recursive: true });
39
+ await fs.writeFile(fullPath, code, 'utf-8');
40
+ return `🍞 CodeBakers: API Route Generated
41
+
42
+ **File:** ${routePath}
43
+ **Entity:** ${entity}
44
+ **Operation:** ${operation}
45
+
46
+ Includes:
47
+ ✅ Authentication check
48
+ ✅ Security filter (user_id)
49
+ ✅ Error handling
50
+ ✅ TypeScript types
51
+ ✅ Supabase integration
52
+ ✅ Uses .maybeSingle() (not .single())`;
53
+ }
54
+ function generateListRoute(entity, table) {
55
+ return `import { createClient } from '@/lib/supabase/server';
56
+ import { NextRequest, NextResponse } from 'next/server';
57
+
58
+ export async function GET(req: NextRequest) {
59
+ const supabase = createClient();
60
+
61
+ const { data: { user } } = await supabase.auth.getUser();
62
+ if (!user) {
63
+ return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
64
+ }
65
+
66
+ const { data, error } = await supabase
67
+ .from('${table}')
68
+ .select('*')
69
+ .eq('user_id', user.id)
70
+ .order('created_at', { ascending: false });
71
+
72
+ if (error) {
73
+ return NextResponse.json({ error: error.message }, { status: 500 });
74
+ }
75
+
76
+ return NextResponse.json({ data });
77
+ }
78
+ `;
79
+ }
80
+ function generateGetRoute(entity, table) {
81
+ return `import { createClient } from '@/lib/supabase/server';
82
+ import { NextRequest, NextResponse } from 'next/server';
83
+
84
+ export async function GET(
85
+ req: NextRequest,
86
+ { params }: { params: { id: string } }
87
+ ) {
88
+ const supabase = createClient();
89
+
90
+ const { data: { user } } = await supabase.auth.getUser();
91
+ if (!user) {
92
+ return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
93
+ }
94
+
95
+ const { data, error } = await supabase
96
+ .from('${table}')
97
+ .select('*')
98
+ .eq('id', params.id)
99
+ .eq('user_id', user.id)
100
+ .maybeSingle();
101
+
102
+ if (error) {
103
+ return NextResponse.json({ error: error.message }, { status: 500 });
104
+ }
105
+
106
+ if (!data) {
107
+ return NextResponse.json({ error: 'Not found' }, { status: 404 });
108
+ }
109
+
110
+ return NextResponse.json({ data });
111
+ }
112
+ `;
113
+ }
114
+ function generateCreateRoute(entity, table) {
115
+ return `import { createClient } from '@/lib/supabase/server';
116
+ import { NextRequest, NextResponse } from 'next/server';
117
+
118
+ export async function POST(req: NextRequest) {
119
+ const supabase = createClient();
120
+
121
+ const { data: { user } } = await supabase.auth.getUser();
122
+ if (!user) {
123
+ return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
124
+ }
125
+
126
+ const body = await req.json();
127
+
128
+ const { data, error } = await supabase
129
+ .from('${table}')
130
+ .insert({
131
+ ...body,
132
+ user_id: user.id,
133
+ })
134
+ .select()
135
+ .maybeSingle();
136
+
137
+ if (error) {
138
+ return NextResponse.json({ error: error.message }, { status: 500 });
139
+ }
140
+
141
+ return NextResponse.json({ data }, { status: 201 });
142
+ }
143
+ `;
144
+ }
145
+ function generateUpdateRoute(entity, table) {
146
+ return `import { createClient } from '@/lib/supabase/server';
147
+ import { NextRequest, NextResponse } from 'next/server';
148
+
149
+ export async function PATCH(
150
+ req: NextRequest,
151
+ { params }: { params: { id: string } }
152
+ ) {
153
+ const supabase = createClient();
154
+
155
+ const { data: { user } } = await supabase.auth.getUser();
156
+ if (!user) {
157
+ return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
158
+ }
159
+
160
+ const body = await req.json();
161
+
162
+ const { data, error } = await supabase
163
+ .from('${table}')
164
+ .update(body)
165
+ .eq('id', params.id)
166
+ .eq('user_id', user.id)
167
+ .select()
168
+ .maybeSingle();
169
+
170
+ if (error) {
171
+ return NextResponse.json({ error: error.message }, { status: 500 });
172
+ }
173
+
174
+ if (!data) {
175
+ return NextResponse.json({ error: 'Not found' }, { status: 404 });
176
+ }
177
+
178
+ return NextResponse.json({ data });
179
+ }
180
+ `;
181
+ }
182
+ function generateDeleteRoute(entity, table) {
183
+ return `import { createClient } from '@/lib/supabase/server';
184
+ import { NextRequest, NextResponse } from 'next/server';
185
+
186
+ export async function DELETE(
187
+ req: NextRequest,
188
+ { params }: { params: { id: string } }
189
+ ) {
190
+ const supabase = createClient();
191
+
192
+ const { data: { user } } = await supabase.auth.getUser();
193
+ if (!user) {
194
+ return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
195
+ }
196
+
197
+ const { error } = await supabase
198
+ .from('${table}')
199
+ .delete()
200
+ .eq('id', params.id)
201
+ .eq('user_id', user.id)
202
+ .maybeSingle();
203
+
204
+ if (error) {
205
+ return NextResponse.json({ error: error.message }, { status: 500 });
206
+ }
207
+
208
+ return NextResponse.json({ success: true });
209
+ }
210
+ `;
211
+ }
212
+ //# sourceMappingURL=generate-api-route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-api-route.js","sourceRoot":"","sources":["../../src/tools/generate-api-route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAO7B,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAe;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAEnC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC;IAC7C,MAAM,SAAS,GAAG,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,QAAQ;QAC9D,CAAC,CAAC,eAAe,SAAS,WAAW;QACrC,CAAC,CAAC,eAAe,SAAS,gBAAgB,CAAC;IAE7C,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC/B,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE5C,OAAO;;YAEG,SAAS;cACP,MAAM;iBACH,SAAS;;;;;;;;sCAQY,CAAC;AACvC,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,KAAa;IACtD,OAAO;;;;;;;;;;;;aAYI,KAAK;;;;;;;;;;;CAWjB,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,KAAa;IACrD,OAAO;;;;;;;;;;;;;;;aAeI,KAAK;;;;;;;;;;;;;;;;CAgBjB,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,KAAa;IACxD,OAAO;;;;;;;;;;;;;;aAcI,KAAK;;;;;;;;;;;;;;CAcjB,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,KAAa;IACxD,OAAO;;;;;;;;;;;;;;;;;aAiBI,KAAK;;;;;;;;;;;;;;;;;CAiBjB,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,KAAa;IACxD,OAAO;;;;;;;;;;;;;;;aAeI,KAAK;;;;;;;;;;;;CAYjB,CAAC;AACF,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * codebakers_generate_chatbot
3
+ *
4
+ * AI Chatbot Generator - In-App Help Assistant
5
+ *
6
+ * Generates AI chatbot component that:
7
+ * - Knows entire source code
8
+ * - Can answer questions about the app
9
+ * - Helps users navigate features
10
+ * - Integrates into help section
11
+ * - Uses RAG (retrieval-augmented generation)
12
+ */
13
+ interface ChatbotArgs {
14
+ position?: 'bottom-right' | 'bottom-left' | 'sidebar';
15
+ include_api_knowledge?: boolean;
16
+ include_component_knowledge?: boolean;
17
+ }
18
+ export declare function generateChatbot(args?: ChatbotArgs): Promise<string>;
19
+ export {};
20
+ //# sourceMappingURL=generate-chatbot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-chatbot.d.ts","sourceRoot":"","sources":["../../src/tools/generate-chatbot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,SAAS,CAAC;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAED,wBAAsB,eAAe,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B7E"}