@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.
- package/INSTALL.md +221 -0
- package/LICENSE +21 -0
- package/README.md +412 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +236 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +526 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/analyze-mockups.d.ts +18 -0
- package/dist/tools/analyze-mockups.d.ts.map +1 -0
- package/dist/tools/analyze-mockups.js +497 -0
- package/dist/tools/analyze-mockups.js.map +1 -0
- package/dist/tools/autonomous-build.d.ts +19 -0
- package/dist/tools/autonomous-build.d.ts.map +1 -0
- package/dist/tools/autonomous-build.js +287 -0
- package/dist/tools/autonomous-build.js.map +1 -0
- package/dist/tools/check-gate.d.ts +21 -0
- package/dist/tools/check-gate.d.ts.map +1 -0
- package/dist/tools/check-gate.js +446 -0
- package/dist/tools/check-gate.js.map +1 -0
- package/dist/tools/check-scope.d.ts +22 -0
- package/dist/tools/check-scope.d.ts.map +1 -0
- package/dist/tools/check-scope.js +251 -0
- package/dist/tools/check-scope.js.map +1 -0
- package/dist/tools/deploy-vercel.d.ts +18 -0
- package/dist/tools/deploy-vercel.d.ts.map +1 -0
- package/dist/tools/deploy-vercel.js +178 -0
- package/dist/tools/deploy-vercel.js.map +1 -0
- package/dist/tools/diagnose-error.d.ts +20 -0
- package/dist/tools/diagnose-error.d.ts.map +1 -0
- package/dist/tools/diagnose-error.js +351 -0
- package/dist/tools/diagnose-error.js.map +1 -0
- package/dist/tools/enforce-feature.d.ts +25 -0
- package/dist/tools/enforce-feature.d.ts.map +1 -0
- package/dist/tools/enforce-feature.js +387 -0
- package/dist/tools/enforce-feature.js.map +1 -0
- package/dist/tools/execute-atomic-unit.d.ts +23 -0
- package/dist/tools/execute-atomic-unit.d.ts.map +1 -0
- package/dist/tools/execute-atomic-unit.js +107 -0
- package/dist/tools/execute-atomic-unit.js.map +1 -0
- package/dist/tools/fix-commit.d.ts +23 -0
- package/dist/tools/fix-commit.d.ts.map +1 -0
- package/dist/tools/fix-commit.js +213 -0
- package/dist/tools/fix-commit.js.map +1 -0
- package/dist/tools/fix-mockups.d.ts +21 -0
- package/dist/tools/fix-mockups.d.ts.map +1 -0
- package/dist/tools/fix-mockups.js +595 -0
- package/dist/tools/fix-mockups.js.map +1 -0
- package/dist/tools/generate-api-route.d.ts +18 -0
- package/dist/tools/generate-api-route.d.ts.map +1 -0
- package/dist/tools/generate-api-route.js +212 -0
- package/dist/tools/generate-api-route.js.map +1 -0
- package/dist/tools/generate-chatbot.d.ts +20 -0
- package/dist/tools/generate-chatbot.d.ts.map +1 -0
- package/dist/tools/generate-chatbot.js +555 -0
- package/dist/tools/generate-chatbot.js.map +1 -0
- package/dist/tools/generate-component.d.ts +18 -0
- package/dist/tools/generate-component.d.ts.map +1 -0
- package/dist/tools/generate-component.js +159 -0
- package/dist/tools/generate-component.js.map +1 -0
- package/dist/tools/generate-docs.d.ts +21 -0
- package/dist/tools/generate-docs.d.ts.map +1 -0
- package/dist/tools/generate-docs.js +782 -0
- package/dist/tools/generate-docs.js.map +1 -0
- package/dist/tools/generate-e2e-tests.d.ts +12 -0
- package/dist/tools/generate-e2e-tests.d.ts.map +1 -0
- package/dist/tools/generate-e2e-tests.js +37 -0
- package/dist/tools/generate-e2e-tests.js.map +1 -0
- package/dist/tools/generate-migration.d.ts +21 -0
- package/dist/tools/generate-migration.d.ts.map +1 -0
- package/dist/tools/generate-migration.js +94 -0
- package/dist/tools/generate-migration.js.map +1 -0
- package/dist/tools/generate-schema.d.ts +18 -0
- package/dist/tools/generate-schema.d.ts.map +1 -0
- package/dist/tools/generate-schema.js +422 -0
- package/dist/tools/generate-schema.js.map +1 -0
- package/dist/tools/generate-spec.d.ts +18 -0
- package/dist/tools/generate-spec.d.ts.map +1 -0
- package/dist/tools/generate-spec.js +446 -0
- package/dist/tools/generate-spec.js.map +1 -0
- package/dist/tools/generate-store-contracts.d.ts +17 -0
- package/dist/tools/generate-store-contracts.d.ts.map +1 -0
- package/dist/tools/generate-store-contracts.js +356 -0
- package/dist/tools/generate-store-contracts.js.map +1 -0
- package/dist/tools/generate-store.d.ts +16 -0
- package/dist/tools/generate-store.d.ts.map +1 -0
- package/dist/tools/generate-store.js +166 -0
- package/dist/tools/generate-store.js.map +1 -0
- package/dist/tools/generate-unit-tests.d.ts +14 -0
- package/dist/tools/generate-unit-tests.d.ts.map +1 -0
- package/dist/tools/generate-unit-tests.js +85 -0
- package/dist/tools/generate-unit-tests.js.map +1 -0
- package/dist/tools/get-context.d.ts +35 -0
- package/dist/tools/get-context.d.ts.map +1 -0
- package/dist/tools/get-context.js +367 -0
- package/dist/tools/get-context.js.map +1 -0
- package/dist/tools/init-session.d.ts +22 -0
- package/dist/tools/init-session.d.ts.map +1 -0
- package/dist/tools/init-session.js +232 -0
- package/dist/tools/init-session.js.map +1 -0
- package/dist/tools/map-dependencies.d.ts +25 -0
- package/dist/tools/map-dependencies.d.ts.map +1 -0
- package/dist/tools/map-dependencies.js +480 -0
- package/dist/tools/map-dependencies.js.map +1 -0
- package/dist/tools/optimize-performance.d.ts +18 -0
- package/dist/tools/optimize-performance.d.ts.map +1 -0
- package/dist/tools/optimize-performance.js +285 -0
- package/dist/tools/optimize-performance.js.map +1 -0
- package/dist/tools/run-interview.d.ts +23 -0
- package/dist/tools/run-interview.d.ts.map +1 -0
- package/dist/tools/run-interview.js +371 -0
- package/dist/tools/run-interview.js.map +1 -0
- package/dist/tools/run-tests.d.ts +12 -0
- package/dist/tools/run-tests.d.ts.map +1 -0
- package/dist/tools/run-tests.js +30 -0
- package/dist/tools/run-tests.js.map +1 -0
- package/dist/tools/scan-security.d.ts +19 -0
- package/dist/tools/scan-security.d.ts.map +1 -0
- package/dist/tools/scan-security.js +358 -0
- package/dist/tools/scan-security.js.map +1 -0
- package/dist/tools/validate-accessibility.d.ts +18 -0
- package/dist/tools/validate-accessibility.d.ts.map +1 -0
- package/dist/tools/validate-accessibility.js +251 -0
- package/dist/tools/validate-accessibility.js.map +1 -0
- package/dist/tools/validate-mockups.d.ts +21 -0
- package/dist/tools/validate-mockups.d.ts.map +1 -0
- package/dist/tools/validate-mockups.js +433 -0
- package/dist/tools/validate-mockups.js.map +1 -0
- package/dist/tools/verify-completeness.d.ts +13 -0
- package/dist/tools/verify-completeness.d.ts.map +1 -0
- package/dist/tools/verify-completeness.js +68 -0
- package/dist/tools/verify-completeness.js.map +1 -0
- package/dist/tools/verify-mockups.d.ts +14 -0
- package/dist/tools/verify-mockups.d.ts.map +1 -0
- package/dist/tools/verify-mockups.js +85 -0
- package/dist/tools/verify-mockups.js.map +1 -0
- 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"}
|