codingbuddy 5.1.0 → 5.1.2
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/dist/src/checklist/checklist.types.d.ts +1 -1
- package/dist/src/checklist/checklist.types.js +1 -0
- package/dist/src/checklist/checklist.types.js.map +1 -1
- package/dist/src/config/config.schema.d.ts +9 -0
- package/dist/src/config/config.schema.js +10 -0
- package/dist/src/config/config.schema.js.map +1 -1
- package/dist/src/keyword/keyword.service.d.ts +2 -0
- package/dist/src/keyword/keyword.service.js +24 -0
- package/dist/src/keyword/keyword.service.js.map +1 -1
- package/dist/src/mcp/handlers/index.d.ts +2 -0
- package/dist/src/mcp/handlers/index.js +5 -1
- package/dist/src/mcp/handlers/index.js.map +1 -1
- package/dist/src/mcp/handlers/plugin-validation.handler.d.ts +12 -0
- package/dist/src/mcp/handlers/plugin-validation.handler.js +148 -0
- package/dist/src/mcp/handlers/plugin-validation.handler.js.map +1 -0
- package/dist/src/mcp/handlers/release-check.handler.d.ts +16 -0
- package/dist/src/mcp/handlers/release-check.handler.js +247 -0
- package/dist/src/mcp/handlers/release-check.handler.js.map +1 -0
- package/dist/src/mcp/mcp.module.js +2 -0
- package/dist/src/mcp/mcp.module.js.map +1 -1
- package/dist/src/shared/version.d.ts +1 -1
- package/dist/src/shared/version.js +1 -1
- package/dist/src/tui-bundle.mjs +18 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var ReleaseCheckHandler_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.ReleaseCheckHandler = void 0;
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const promises_1 = require("fs/promises");
|
|
16
|
+
const path_1 = require("path");
|
|
17
|
+
const abstract_handler_1 = require("./abstract-handler");
|
|
18
|
+
const config_service_1 = require("../../config/config.service");
|
|
19
|
+
const response_utils_1 = require("../response.utils");
|
|
20
|
+
const validation_constants_1 = require("../../shared/validation.constants");
|
|
21
|
+
const ECOSYSTEMS = {
|
|
22
|
+
node: {
|
|
23
|
+
name: 'Node.js',
|
|
24
|
+
versionFiles: ['package.json'],
|
|
25
|
+
lockfiles: ['yarn.lock', 'package-lock.json', 'pnpm-lock.yaml'],
|
|
26
|
+
},
|
|
27
|
+
python: {
|
|
28
|
+
name: 'Python',
|
|
29
|
+
versionFiles: ['pyproject.toml', 'setup.py', 'setup.cfg'],
|
|
30
|
+
lockfiles: ['Pipfile.lock', 'poetry.lock'],
|
|
31
|
+
},
|
|
32
|
+
go: {
|
|
33
|
+
name: 'Go',
|
|
34
|
+
versionFiles: ['go.mod'],
|
|
35
|
+
lockfiles: ['go.sum'],
|
|
36
|
+
},
|
|
37
|
+
rust: {
|
|
38
|
+
name: 'Rust',
|
|
39
|
+
versionFiles: ['Cargo.toml'],
|
|
40
|
+
lockfiles: ['Cargo.lock'],
|
|
41
|
+
},
|
|
42
|
+
java: {
|
|
43
|
+
name: 'Java',
|
|
44
|
+
versionFiles: ['build.gradle', 'build.gradle.kts', 'pom.xml'],
|
|
45
|
+
lockfiles: ['gradle.lockfile'],
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
let ReleaseCheckHandler = ReleaseCheckHandler_1 = class ReleaseCheckHandler extends abstract_handler_1.AbstractHandler {
|
|
49
|
+
constructor(configService) {
|
|
50
|
+
super();
|
|
51
|
+
this.configService = configService;
|
|
52
|
+
this.logger = new common_1.Logger(ReleaseCheckHandler_1.name);
|
|
53
|
+
}
|
|
54
|
+
getHandledTools() {
|
|
55
|
+
return ['pre_release_check'];
|
|
56
|
+
}
|
|
57
|
+
async handleTool(_toolName, args) {
|
|
58
|
+
try {
|
|
59
|
+
const projectRoot = this.configService.getProjectRoot();
|
|
60
|
+
const ecosystem = (0, validation_constants_1.extractOptionalString)(args, 'ecosystem') || 'auto';
|
|
61
|
+
const requestedChecks = (0, validation_constants_1.extractStringArray)(args, 'checks') || [];
|
|
62
|
+
const detected = await this.detectEcosystem(projectRoot, ecosystem);
|
|
63
|
+
const allChecks = requestedChecks.length > 0 ? requestedChecks : ['version-sync', 'lockfile', 'manifest'];
|
|
64
|
+
const results = [];
|
|
65
|
+
for (const check of allChecks) {
|
|
66
|
+
switch (check) {
|
|
67
|
+
case 'version-sync':
|
|
68
|
+
results.push(await this.checkVersionSync(projectRoot, detected));
|
|
69
|
+
break;
|
|
70
|
+
case 'lockfile':
|
|
71
|
+
results.push(await this.checkLockfile(projectRoot, detected));
|
|
72
|
+
break;
|
|
73
|
+
case 'manifest':
|
|
74
|
+
results.push(await this.checkManifest(projectRoot));
|
|
75
|
+
break;
|
|
76
|
+
default:
|
|
77
|
+
results.push({
|
|
78
|
+
check,
|
|
79
|
+
status: 'skip',
|
|
80
|
+
message: `Unknown check: ${check}`,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
const passed = results.filter(r => r.status === 'pass').length;
|
|
85
|
+
const failed = results.filter(r => r.status === 'fail').length;
|
|
86
|
+
const skipped = results.filter(r => r.status === 'skip').length;
|
|
87
|
+
return (0, response_utils_1.createJsonResponse)({
|
|
88
|
+
ecosystem: detected.name,
|
|
89
|
+
summary: {
|
|
90
|
+
total: results.length,
|
|
91
|
+
passed,
|
|
92
|
+
failed,
|
|
93
|
+
skipped,
|
|
94
|
+
ready: failed === 0,
|
|
95
|
+
},
|
|
96
|
+
results,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
this.logger.error(`Pre-release check failed: ${error}`);
|
|
101
|
+
return (0, response_utils_1.createErrorResponse)(`Pre-release check failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async detectEcosystem(projectRoot, requested) {
|
|
105
|
+
if (requested !== 'auto' && ECOSYSTEMS[requested]) {
|
|
106
|
+
return ECOSYSTEMS[requested];
|
|
107
|
+
}
|
|
108
|
+
for (const [, eco] of Object.entries(ECOSYSTEMS)) {
|
|
109
|
+
for (const file of eco.versionFiles) {
|
|
110
|
+
try {
|
|
111
|
+
await (0, promises_1.access)((0, path_1.resolve)(projectRoot, file));
|
|
112
|
+
return eco;
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return ECOSYSTEMS.node;
|
|
119
|
+
}
|
|
120
|
+
async checkVersionSync(projectRoot, ecosystem) {
|
|
121
|
+
const versionFiles = ecosystem.versionFiles;
|
|
122
|
+
const versions = {};
|
|
123
|
+
const missing = [];
|
|
124
|
+
for (const file of versionFiles) {
|
|
125
|
+
try {
|
|
126
|
+
const content = await (0, promises_1.readFile)((0, path_1.resolve)(projectRoot, file), 'utf-8');
|
|
127
|
+
const parsed = JSON.parse(content);
|
|
128
|
+
if (parsed.version) {
|
|
129
|
+
versions[file] = parsed.version;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
missing.push(file);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const uniqueVersions = new Set(Object.values(versions));
|
|
137
|
+
if (uniqueVersions.size === 0) {
|
|
138
|
+
return {
|
|
139
|
+
check: 'version-sync',
|
|
140
|
+
status: 'skip',
|
|
141
|
+
message: 'No version files found',
|
|
142
|
+
details: missing.length > 0 ? [`Missing: ${missing.join(', ')}`] : [],
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
if (uniqueVersions.size === 1) {
|
|
146
|
+
const version = [...uniqueVersions][0];
|
|
147
|
+
return {
|
|
148
|
+
check: 'version-sync',
|
|
149
|
+
status: 'pass',
|
|
150
|
+
message: `All versions consistent: ${version}`,
|
|
151
|
+
details: Object.entries(versions).map(([f, v]) => `${f}: ${v}`),
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
check: 'version-sync',
|
|
156
|
+
status: 'fail',
|
|
157
|
+
message: `Version mismatch detected (${uniqueVersions.size} different versions)`,
|
|
158
|
+
details: Object.entries(versions).map(([f, v]) => `${f}: ${v}`),
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
async checkLockfile(projectRoot, ecosystem) {
|
|
162
|
+
for (const lockfile of ecosystem.lockfiles) {
|
|
163
|
+
try {
|
|
164
|
+
await (0, promises_1.access)((0, path_1.resolve)(projectRoot, lockfile));
|
|
165
|
+
return {
|
|
166
|
+
check: 'lockfile',
|
|
167
|
+
status: 'pass',
|
|
168
|
+
message: `Lockfile present: ${lockfile}`,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
check: 'lockfile',
|
|
176
|
+
status: 'fail',
|
|
177
|
+
message: `No lockfile found (expected: ${ecosystem.lockfiles.join(' or ')})`,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
async checkManifest(projectRoot) {
|
|
181
|
+
const manifestPath = (0, path_1.resolve)(projectRoot, '.claude-plugin', 'plugin.json');
|
|
182
|
+
try {
|
|
183
|
+
const raw = await (0, promises_1.readFile)(manifestPath, 'utf-8');
|
|
184
|
+
const manifest = JSON.parse(raw);
|
|
185
|
+
const issues = [];
|
|
186
|
+
if (!manifest.name)
|
|
187
|
+
issues.push('Missing "name"');
|
|
188
|
+
if (!manifest.version)
|
|
189
|
+
issues.push('Missing "version"');
|
|
190
|
+
if (!manifest.description)
|
|
191
|
+
issues.push('Missing "description"');
|
|
192
|
+
if (issues.length > 0) {
|
|
193
|
+
return {
|
|
194
|
+
check: 'manifest',
|
|
195
|
+
status: 'fail',
|
|
196
|
+
message: 'Plugin manifest has issues',
|
|
197
|
+
details: issues,
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
return {
|
|
201
|
+
check: 'manifest',
|
|
202
|
+
status: 'pass',
|
|
203
|
+
message: `Plugin manifest valid (v${manifest.version})`,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
return {
|
|
208
|
+
check: 'manifest',
|
|
209
|
+
status: 'skip',
|
|
210
|
+
message: 'No .claude-plugin/plugin.json found (not a plugin project)',
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
getToolDefinitions() {
|
|
215
|
+
return [
|
|
216
|
+
{
|
|
217
|
+
name: 'pre_release_check',
|
|
218
|
+
description: 'Comprehensive pre-release validation. Auto-detects project language and checks version sync, lockfile consistency, and manifest validity.',
|
|
219
|
+
inputSchema: {
|
|
220
|
+
type: 'object',
|
|
221
|
+
properties: {
|
|
222
|
+
ecosystem: {
|
|
223
|
+
type: 'string',
|
|
224
|
+
enum: ['auto', 'node', 'python', 'java', 'go', 'rust'],
|
|
225
|
+
description: 'Project ecosystem. Defaults to auto-detect.',
|
|
226
|
+
},
|
|
227
|
+
checks: {
|
|
228
|
+
type: 'array',
|
|
229
|
+
items: {
|
|
230
|
+
type: 'string',
|
|
231
|
+
enum: ['version-sync', 'lockfile', 'manifest'],
|
|
232
|
+
},
|
|
233
|
+
description: 'Specific checks to run. Defaults to all.',
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
required: [],
|
|
237
|
+
},
|
|
238
|
+
},
|
|
239
|
+
];
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
exports.ReleaseCheckHandler = ReleaseCheckHandler;
|
|
243
|
+
exports.ReleaseCheckHandler = ReleaseCheckHandler = ReleaseCheckHandler_1 = __decorate([
|
|
244
|
+
(0, common_1.Injectable)(),
|
|
245
|
+
__metadata("design:paramtypes", [config_service_1.ConfigService])
|
|
246
|
+
], ReleaseCheckHandler);
|
|
247
|
+
//# sourceMappingURL=release-check.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-check.handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/release-check.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.module.js","sourceRoot":"","sources":["../../../src/mcp/mcp.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAA2C;AAC3C,qDAAiD;AACjD,wDAAoD;AACpD,8DAA0D;AAC1D,2DAAkE;AAClE,iEAA6D;AAC7D,wDAAoD;AACpD,oEAAgE;AAChE,8DAA0D;AAC1D,wDAAoD;AACpD,uEAAmE;AACnE,0CAAgD;AAChD,iEAA6D;AAC7D,sCAAyC;AACzC,wFAAmF;AACnF,iEAA6D;AAC7D,oCAAgD;AAGhD,
|
|
1
|
+
{"version":3,"file":"mcp.module.js","sourceRoot":"","sources":["../../../src/mcp/mcp.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAA2C;AAC3C,qDAAiD;AACjD,wDAAoD;AACpD,8DAA0D;AAC1D,2DAAkE;AAClE,iEAA6D;AAC7D,wDAAoD;AACpD,oEAAgE;AAChE,8DAA0D;AAC1D,wDAAoD;AACpD,uEAAmE;AACnE,0CAAgD;AAChD,iEAA6D;AAC7D,sCAAyC;AACzC,wFAAmF;AACnF,iEAA6D;AAC7D,oCAAgD;AAGhD,yCAmBoB;AAEpB,MAAM,QAAQ,GAAG;IACf,uBAAY;IACZ,wBAAa;IACb,uBAAY;IACZ,uBAAY;IACZ,sBAAW;IACX,kCAAuB;IACvB,6BAAkB;IAClB,iCAAsB;IACtB,gCAAqB;IACrB,8BAAmB;IACnB,qBAAU;IACV,4BAAiB;IACjB,oCAAyB;IACzB,0BAAe;IACf,wBAAa;IACb,kCAAuB;IACvB,8BAAmB;CACpB,CAAC;AAiCK,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IA/BrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,0BAAW;YACX,8BAAa;YACb,uCAAuB;YACvB,gCAAc;YACd,0BAAW;YACX,kCAAe;YACf,8BAAa;YACb,0BAAW;YACX,oCAAgB;YAChB,wBAAe;YACf,gCAAc;YACd,qBAAY;SACb;QACD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE;YACT,wBAAU;YACV,yDAA0B;YAC1B,kCAAe;YACf,4BAAoB;YACpB,GAAG,QAAQ;YACX;gBACE,OAAO,EAAE,wBAAa;gBACtB,UAAU,EAAE,CAAC,GAAG,gBAA2D,EAAE,EAAE,CAC7E,gBAAgB;gBAClB,MAAM,EAAE,QAAQ;aACjB;SACF;QACD,OAAO,EAAE,CAAC,wBAAU,CAAC;KACtB,CAAC;GACW,SAAS,CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "5.1.
|
|
1
|
+
export declare const VERSION = "5.1.2";
|
package/dist/src/tui-bundle.mjs
CHANGED
|
@@ -3035,6 +3035,22 @@ var AIConfigSchema = z3.object({
|
|
|
3035
3035
|
var AutoConfigSchema = z3.object({
|
|
3036
3036
|
maxIterations: z3.number().int().min(1).max(10).default(3)
|
|
3037
3037
|
});
|
|
3038
|
+
var ReleaseConfigSchema = z3.object({
|
|
3039
|
+
/** Files that contain the project version (checked for consistency) */
|
|
3040
|
+
versionFiles: z3.array(z3.string()).optional(),
|
|
3041
|
+
/** Lockfile path to verify sync (auto-detected if omitted) */
|
|
3042
|
+
lockfile: z3.string().optional(),
|
|
3043
|
+
/** Commands to run before release (e.g., ['lint', 'typecheck', 'test:coverage', 'build']) */
|
|
3044
|
+
preReleaseChecks: z3.array(z3.string()).optional(),
|
|
3045
|
+
/** Run security audit before release. Default: true */
|
|
3046
|
+
securityAudit: z3.boolean().default(true).optional(),
|
|
3047
|
+
/** Minimum test coverage percentage required */
|
|
3048
|
+
coverageThreshold: z3.number().min(0).max(100).optional(),
|
|
3049
|
+
/** Plugin manifest validation (auto-detected if .claude-plugin/ exists). Default: true */
|
|
3050
|
+
validatePlugin: z3.boolean().default(true).optional(),
|
|
3051
|
+
/** Version bump script path (e.g., 'scripts/bump-version.sh') */
|
|
3052
|
+
bumpScript: z3.string().optional()
|
|
3053
|
+
});
|
|
3038
3054
|
var ContextConfigSchema = z3.object({
|
|
3039
3055
|
/** Maximum items per array (decisions, notes, etc.). Default: 100 */
|
|
3040
3056
|
maxArrayItems: z3.number().int().min(10).max(1e3).default(100),
|
|
@@ -3060,6 +3076,8 @@ var CodingBuddyConfigSchema = z3.object({
|
|
|
3060
3076
|
ai: AIConfigSchema.optional(),
|
|
3061
3077
|
// AUTO mode settings
|
|
3062
3078
|
auto: AutoConfigSchema.optional(),
|
|
3079
|
+
// Release configuration
|
|
3080
|
+
release: ReleaseConfigSchema.optional(),
|
|
3063
3081
|
// Context document limits (DoS prevention)
|
|
3064
3082
|
context: ContextConfigSchema.optional(),
|
|
3065
3083
|
// Upstream Repository Mapping (for cross-repo issue creation)
|