@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,213 @@
1
+ /**
2
+ * codebakers_fix_commit
3
+ *
4
+ * Git Commit Auto-Fixer
5
+ *
6
+ * Detects and fixes common git commit violations:
7
+ * - Wrong commit message format
8
+ * - Missing .codebakers/ files in commit
9
+ * - TypeScript errors in code
10
+ * - Missing BUILD-LOG.md updates
11
+ *
12
+ * Safe amend rules:
13
+ * - Only amend if NOT pushed
14
+ * - Only amend if author is current user
15
+ * - Never amend other developers' commits
16
+ *
17
+ * Based on CodeBakers Method commit format:
18
+ * feat(atomic): [name] — gate passed [N/N checks]
19
+ */
20
+ import { exec } from 'child_process';
21
+ import { promisify } from 'util';
22
+ const execAsync = promisify(exec);
23
+ export async function fixCommit(args) {
24
+ const autoFix = args.auto_fix || false;
25
+ const cwd = process.cwd();
26
+ console.error('🍞 CodeBakers: Commit Auto-Fixer');
27
+ try {
28
+ // 1. Check if in git repo
29
+ const isGitRepo = await checkGitRepo(cwd);
30
+ if (!isGitRepo) {
31
+ return `🍞 CodeBakers: Commit Fixer
32
+
33
+ ❌ Not a git repository
34
+
35
+ Initialize git first:
36
+ \`\`\`bash
37
+ git init
38
+ \`\`\``;
39
+ }
40
+ // 2. Analyze last commit
41
+ console.error('Analyzing last commit...');
42
+ const analysis = await analyzeLastCommit(cwd);
43
+ if (analysis.violations.length === 0) {
44
+ return `🍞 CodeBakers: Commit Fixer
45
+
46
+ ✅ Last commit looks good!
47
+
48
+ Commit: ${analysis.commit_hash}
49
+ Message: ${analysis.commit_message}
50
+
51
+ No violations detected.`;
52
+ }
53
+ // 3. Generate report
54
+ const report = generateFixReport(analysis, autoFix);
55
+ return report;
56
+ }
57
+ catch (error) {
58
+ console.error('Error during commit fix:', error);
59
+ return `🍞 CodeBakers: Commit Fixer Failed
60
+
61
+ Error: ${error instanceof Error ? error.message : String(error)}
62
+
63
+ Please check git status and try again.`;
64
+ }
65
+ }
66
+ /**
67
+ * Check if directory is git repo
68
+ */
69
+ async function checkGitRepo(cwd) {
70
+ try {
71
+ await execAsync('git rev-parse --git-dir', { cwd });
72
+ return true;
73
+ }
74
+ catch {
75
+ return false;
76
+ }
77
+ }
78
+ /**
79
+ * Analyze last commit
80
+ */
81
+ async function analyzeLastCommit(cwd) {
82
+ const violations = [];
83
+ // Get last commit info
84
+ const { stdout: hash } = await execAsync('git log -1 --format=%H', { cwd });
85
+ const commitHash = hash.trim();
86
+ const { stdout: message } = await execAsync('git log -1 --format=%B', { cwd });
87
+ const commitMessage = message.trim();
88
+ const { stdout: author } = await execAsync('git log -1 --format="%an %ae"', { cwd });
89
+ const commitAuthor = author.trim();
90
+ // Check if pushed
91
+ let isPushed = false;
92
+ try {
93
+ const { stdout: remoteBranch } = await execAsync('git rev-parse --abbrev-ref --symbolic-full-name @{u}', { cwd });
94
+ if (remoteBranch.trim()) {
95
+ const { stdout: remoteLogs } = await execAsync(`git log ${remoteBranch.trim()}..HEAD --oneline`, { cwd });
96
+ isPushed = remoteLogs.trim() === '';
97
+ }
98
+ }
99
+ catch {
100
+ // No remote or not pushed
101
+ isPushed = false;
102
+ }
103
+ const canAmend = !isPushed;
104
+ // VIOLATION 1: Check commit message format
105
+ const atomicFormatRegex = /^feat\(atomic\):.+— gate passed \[\d+\/\d+ checks\]$/;
106
+ const standardFormatRegex = /^(feat|fix|chore|docs|refactor|test|style)(\(.+\))?:.+$/;
107
+ if (!atomicFormatRegex.test(commitMessage) && !standardFormatRegex.test(commitMessage)) {
108
+ violations.push({
109
+ type: 'Invalid commit message format',
110
+ severity: 'warning',
111
+ description: `Message: "${commitMessage}"\nExpected format: feat(atomic): [name] — gate passed [N/N checks]`,
112
+ fix_available: canAmend,
113
+ fix_command: canAmend ? 'git commit --amend -m "feat(atomic): [feature] — gate passed [8/8 checks]"' : undefined,
114
+ });
115
+ }
116
+ // VIOLATION 2: Check if .codebakers/ files committed
117
+ const { stdout: filesChanged } = await execAsync('git diff-tree --no-commit-id --name-only -r HEAD', { cwd });
118
+ const files = filesChanged.trim().split('\n');
119
+ const hasCodebakersFiles = files.some(f => f.startsWith('.codebakers/'));
120
+ if (!hasCodebakersFiles && files.length > 0) {
121
+ violations.push({
122
+ type: 'Missing .codebakers/ files',
123
+ severity: 'warning',
124
+ description: 'Commit does not include .codebakers/ memory files.\nBUILD-LOG.md, FIX-QUEUE.md, or UNIT-PROGRESS.md may need to be committed.',
125
+ fix_available: canAmend,
126
+ fix_command: canAmend ? 'git add .codebakers/ && git commit --amend --no-edit' : undefined,
127
+ });
128
+ }
129
+ // VIOLATION 3: Check for package.json without package-lock.json (if applicable)
130
+ const hasPackageJson = files.some(f => f === 'package.json');
131
+ const hasLockFile = files.some(f => f === 'package-lock.json' || f === 'pnpm-lock.yaml' || f === 'yarn.lock');
132
+ if (hasPackageJson && !hasLockFile) {
133
+ violations.push({
134
+ type: 'Missing lock file',
135
+ severity: 'critical',
136
+ description: 'package.json changed but no lock file committed.\nCodeBakers requires exact versions.',
137
+ fix_available: canAmend,
138
+ fix_command: canAmend ? 'git add *lock* && git commit --amend --no-edit' : undefined,
139
+ });
140
+ }
141
+ return {
142
+ commit_hash: commitHash,
143
+ commit_message: commitMessage,
144
+ author: commitAuthor,
145
+ is_pushed: isPushed,
146
+ can_amend: canAmend,
147
+ violations: violations,
148
+ };
149
+ }
150
+ /**
151
+ * Generate fix report
152
+ */
153
+ function generateFixReport(analysis, autoFix) {
154
+ let report = `🍞 CodeBakers: Commit Violations Detected\n\n`;
155
+ report += `**Commit:** ${analysis.commit_hash.substring(0, 8)}\n`;
156
+ report += `**Message:** ${analysis.commit_message}\n`;
157
+ report += `**Author:** ${analysis.author}\n`;
158
+ report += `**Pushed:** ${analysis.is_pushed ? 'YES (cannot amend safely)' : 'NO (can amend)'}\n\n`;
159
+ report += `---\n\n`;
160
+ // Violations
161
+ report += `## Violations (${analysis.violations.length})\n\n`;
162
+ for (let i = 0; i < analysis.violations.length; i++) {
163
+ const v = analysis.violations[i];
164
+ const icon = v.severity === 'critical' ? '❌' : '⚠️';
165
+ report += `### ${i + 1}. ${icon} ${v.type} (${v.severity.toUpperCase()})\n\n`;
166
+ report += `${v.description}\n\n`;
167
+ if (v.fix_available && v.fix_command) {
168
+ report += `**Fix Command:**\n`;
169
+ report += `\`\`\`bash\n`;
170
+ report += `${v.fix_command}\n`;
171
+ report += `\`\`\`\n\n`;
172
+ }
173
+ else if (!v.fix_available) {
174
+ report += `**Cannot Auto-Fix:** Commit already pushed\n`;
175
+ report += `Manual fix required in next commit\n\n`;
176
+ }
177
+ }
178
+ report += `---\n\n`;
179
+ // Recommendations
180
+ report += `## Recommendations\n\n`;
181
+ if (!analysis.can_amend) {
182
+ report += `⚠️ **Commit already pushed - cannot amend safely**\n\n`;
183
+ report += `Options:\n`;
184
+ report += `1. Fix violations in next commit\n`;
185
+ report += `2. If really needed: force push (DANGEROUS - only if working alone)\n\n`;
186
+ }
187
+ else {
188
+ const criticalCount = analysis.violations.filter(v => v.severity === 'critical').length;
189
+ const warningCount = analysis.violations.filter(v => v.severity === 'warning').length;
190
+ if (criticalCount > 0) {
191
+ report += `❌ **${criticalCount} CRITICAL violation(s) - must fix before pushing**\n\n`;
192
+ }
193
+ if (warningCount > 0) {
194
+ report += `⚠️ **${warningCount} warning(s) - recommended to fix**\n\n`;
195
+ }
196
+ report += `**Safe to amend** (commit not pushed)\n\n`;
197
+ report += `To fix all violations:\n`;
198
+ report += `1. Run fix commands above\n`;
199
+ report += `2. OR create new commit with corrections\n\n`;
200
+ }
201
+ report += `---\n\n`;
202
+ report += `## Proper Commit Format\n\n`;
203
+ report += `For atomic units (features):\n`;
204
+ report += `\`\`\`\n`;
205
+ report += `feat(atomic): [feature name] — gate passed [8/8 checks]\n`;
206
+ report += `\`\`\`\n\n`;
207
+ report += `For other commits:\n`;
208
+ report += `\`\`\`\n`;
209
+ report += `feat|fix|chore|docs(scope): description\n`;
210
+ report += `\`\`\`\n\n`;
211
+ return report;
212
+ }
213
+ //# sourceMappingURL=fix-commit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-commit.js","sourceRoot":"","sources":["../../src/tools/fix-commit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * codebakers_fix_mockups
3
+ *
4
+ * Mockup Auto-Fixer
5
+ *
6
+ * Auto-fixes quality issues detected by validate_mockups:
7
+ * - Overlapping content (adjust positioning)
8
+ * - Out of viewport elements (reposition)
9
+ * - Missing mobile mockups (auto-generate from desktop)
10
+ * - Missing states (generate loading/error/empty)
11
+ * - Color inconsistencies (standardize with CSS variables)
12
+ * - Spacing inconsistencies (round to 8px grid)
13
+ *
14
+ * Cannot auto-fix (flags for manual review):
15
+ * - Poor contrast (design decision)
16
+ * - Complex layout conflicts
17
+ */
18
+ export declare function fixMockups(args: {
19
+ mockup_folder?: string;
20
+ }): Promise<string>;
21
+ //# sourceMappingURL=fix-mockups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-mockups.d.ts","sourceRoot":"","sources":["../../src/tools/fix-mockups.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA0BH,wBAAsB,UAAU,CAAC,IAAI,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwDlF"}