ai-devkit 0.4.2 → 0.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.
- package/CHANGELOG.md +1 -1
- package/README.md +2 -1
- package/dist/lib/TemplateManager.d.ts +5 -0
- package/dist/lib/TemplateManager.d.ts.map +1 -1
- package/dist/lib/TemplateManager.js +24 -3
- package/dist/lib/TemplateManager.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/util/env.d.ts.map +1 -1
- package/dist/util/env.js +7 -1
- package/dist/util/env.js.map +1 -1
- package/package.json +2 -1
- package/templates/commands/capture-knowledge.md +4 -0
- package/templates/commands/check-implementation.md +4 -0
- package/templates/commands/code-review.md +4 -0
- package/templates/commands/debug.md +4 -0
- package/templates/commands/execute-plan.md +4 -0
- package/templates/commands/new-requirement.md +4 -0
- package/templates/commands/review-design.md +4 -0
- package/templates/commands/review-requirements.md +4 -0
- package/templates/commands/simplify-implementation.md +148 -0
- package/templates/commands/update-planning.md +4 -0
- package/templates/commands/writing-test.md +4 -0
- package/dist/__tests__/lib/Config.test.d.ts +0 -2
- package/dist/__tests__/lib/Config.test.d.ts.map +0 -1
- package/dist/__tests__/lib/Config.test.js +0 -281
- package/dist/__tests__/lib/Config.test.js.map +0 -1
- package/dist/__tests__/lib/EnvironmentSelector.test.d.ts +0 -2
- package/dist/__tests__/lib/EnvironmentSelector.test.d.ts.map +0 -1
- package/dist/__tests__/lib/EnvironmentSelector.test.js +0 -117
- package/dist/__tests__/lib/EnvironmentSelector.test.js.map +0 -1
- package/dist/__tests__/lib/PhaseSelector.test.d.ts +0 -2
- package/dist/__tests__/lib/PhaseSelector.test.d.ts.map +0 -1
- package/dist/__tests__/lib/PhaseSelector.test.js +0 -77
- package/dist/__tests__/lib/PhaseSelector.test.js.map +0 -1
- package/dist/__tests__/lib/TemplateManager.test.d.ts +0 -2
- package/dist/__tests__/lib/TemplateManager.test.d.ts.map +0 -1
- package/dist/__tests__/lib/TemplateManager.test.js +0 -351
- package/dist/__tests__/lib/TemplateManager.test.js.map +0 -1
- package/dist/__tests__/util/env.test.d.ts +0 -2
- package/dist/__tests__/util/env.test.d.ts.map +0 -1
- package/dist/__tests__/util/env.test.js +0 -166
- package/dist/__tests__/util/env.test.js.map +0 -1
- package/templates/commands/capture-knowledge.toml +0 -49
- package/templates/commands/check-implementation.toml +0 -21
- package/templates/commands/code-review.toml +0 -83
- package/templates/commands/debug.toml +0 -48
- package/templates/commands/execute-plan.toml +0 -74
- package/templates/commands/new-requirement.toml +0 -129
- package/templates/commands/review-design.toml +0 -13
- package/templates/commands/review-requirements.toml +0 -11
- package/templates/commands/update-planning.toml +0 -63
- package/templates/commands/writing-test.toml +0 -46
package/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## [0.4.2] - 2025-11-05
|
|
9
9
|
|
|
10
10
|
- Fixed Gemini CLI integration https://github.com/codeaholicguy/ai-devkit/issues/3
|
|
11
11
|
- Added test for TemplateManager.ts
|
package/README.md
CHANGED
|
@@ -125,7 +125,8 @@ Supported Tools & Agents:
|
|
|
125
125
|
| [GitHub Copilot](https://code.visualstudio.com/) | ✅ | VSCode only |
|
|
126
126
|
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | ✅ | |
|
|
127
127
|
| [Cursor](https://cursor.sh/) | ✅ | |
|
|
128
|
-
| [opencode](https://opencode.ai/) |
|
|
128
|
+
| [opencode](https://opencode.ai/) | ✅ | |
|
|
129
|
+
| [Antigravity](https://antigravity.google/) | ✅ | |
|
|
129
130
|
| [Windsurf](https://windsurf.com/) | 🚧 | Testing |
|
|
130
131
|
| [Kilo Code](https://github.com/Kilo-Org/kilocode) | 🚧 | Testing |
|
|
131
132
|
| [Roo Code](https://roocode.com/) | 🚧 | Testing |
|
|
@@ -11,5 +11,10 @@ export declare class TemplateManager {
|
|
|
11
11
|
private copyCommands;
|
|
12
12
|
private copyCursorSpecificFiles;
|
|
13
13
|
private copyGeminiSpecificFiles;
|
|
14
|
+
/**
|
|
15
|
+
* Generate TOML content for Gemini commands.
|
|
16
|
+
* Uses triple quotes for multi-line strings.
|
|
17
|
+
*/
|
|
18
|
+
private generateTomlContent;
|
|
14
19
|
}
|
|
15
20
|
//# sourceMappingURL=TemplateManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateManager.d.ts","sourceRoot":"","sources":["../../src/lib/TemplateManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TemplateManager.d.ts","sourceRoot":"","sources":["../../src/lib/TemplateManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AAGzE,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,GAAE,MAAsB;IAKvC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAWhD,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1C,yBAAyB,CAC7B,cAAc,EAAE,eAAe,EAAE,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC;IAsBd,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;YAgBxD,sBAAsB;YAsCtB,YAAY;YA+BZ,uBAAuB;YAoBvB,uBAAuB;IA8BrC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAS5B"}
|
|
@@ -32,10 +32,14 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
39
|
exports.TemplateManager = void 0;
|
|
37
40
|
const fs = __importStar(require("fs-extra"));
|
|
38
41
|
const path = __importStar(require("path"));
|
|
42
|
+
const gray_matter_1 = __importDefault(require("gray-matter"));
|
|
39
43
|
const env_1 = require("../util/env");
|
|
40
44
|
class TemplateManager {
|
|
41
45
|
constructor(targetDir = process.cwd()) {
|
|
@@ -152,12 +156,29 @@ class TemplateManager {
|
|
|
152
156
|
const commandTargetDir = path.join(this.targetDir, ".gemini", "commands");
|
|
153
157
|
await fs.ensureDir(commandTargetDir);
|
|
154
158
|
await Promise.all(commandFiles
|
|
155
|
-
.filter((file) => file.endsWith(".
|
|
159
|
+
.filter((file) => file.endsWith(".md"))
|
|
156
160
|
.map(async (file) => {
|
|
157
|
-
await fs.
|
|
158
|
-
|
|
161
|
+
const mdContent = await fs.readFile(path.join(this.templatesDir, "commands", file), "utf-8");
|
|
162
|
+
const { data, content } = (0, gray_matter_1.default)(mdContent);
|
|
163
|
+
const description = data.description || "";
|
|
164
|
+
const tomlContent = this.generateTomlContent(description, content.trim());
|
|
165
|
+
const tomlFile = file.replace(".md", ".toml");
|
|
166
|
+
await fs.writeFile(path.join(commandTargetDir, tomlFile), tomlContent);
|
|
167
|
+
copiedFiles.push(path.join(commandTargetDir, tomlFile));
|
|
159
168
|
}));
|
|
160
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Generate TOML content for Gemini commands.
|
|
172
|
+
* Uses triple quotes for multi-line strings.
|
|
173
|
+
*/
|
|
174
|
+
generateTomlContent(description, prompt) {
|
|
175
|
+
// Escape any triple quotes in the content
|
|
176
|
+
const escapedDescription = description.replace(/'''/g, "'''");
|
|
177
|
+
const escapedPrompt = prompt.replace(/'''/g, "'''");
|
|
178
|
+
return `description='''${escapedDescription}'''
|
|
179
|
+
prompt='''${escapedPrompt}'''
|
|
180
|
+
`;
|
|
181
|
+
}
|
|
161
182
|
}
|
|
162
183
|
exports.TemplateManager = TemplateManager;
|
|
163
184
|
//# sourceMappingURL=TemplateManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateManager.js","sourceRoot":"","sources":["../../src/lib/TemplateManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TemplateManager.js","sourceRoot":"","sources":["../../src/lib/TemplateManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,2CAA6B;AAC7B,8DAAiC;AAEjC,qCAA6C;AAE7C,MAAa,eAAe;IAI1B,YAAY,YAAoB,OAAO,CAAC,GAAG,EAAE;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAY;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAErD,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEtC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAY;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,IAAI,CAAC,SAAS,EACd,MAAM,EACN,IAAI,EACJ,KAAK,EACL,WAAW,CACZ,CAAC;QACF,OAAO,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,cAAiC;QAEjC,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAA,oBAAc,EAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,CAAC,yBAAyB,KAAK,uBAAuB,CAAC,CAAC;gBACpE,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBACxD,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,GAAG,CAAC,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;gBACpE,MAAM,KAAK,CAAC,CAAC,iDAAiD;YAChE,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAsB;QACjD,MAAM,GAAG,GAAG,IAAA,oBAAc,EAAC,KAAK,CAAC,CAAC;QAElC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QACvE,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAE/D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAClE,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAE7D,OAAO,iBAAiB,IAAI,gBAAgB,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,GAA0B;QAE1B,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACrE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;YAErE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACvC,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBAC5C,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,oCAAoC,aAAa,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC5C,CAAC;YAED,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,QAAQ;oBACX,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;oBAChD,MAAM;gBACR,KAAK,QAAQ;oBACX,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;oBAChD,MAAM;gBACR;oBACE,MAAM;YACV,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,GAAG,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,GAA0B,EAC1B,WAAqB;QAErB,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,gBAAgB,GAAG,GAAG,CAAC,sBAAsB,IAAI,KAAK,CAAC;QAC7D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAErE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAEtC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACzD,MAAM,OAAO,CAAC,GAAG,CACf,YAAY;iBACT,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;iBAC9C,GAAG,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;gBACzD,MAAM,EAAE,CAAC,IAAI,CACX,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CACzC,CAAC;gBACF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,0CAA0C,iBAAiB,EAAE,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,WAAqB;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC9B,IAAI,CAAC,YAAY,EACjB,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,MAAM,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACnC,MAAM,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAE9C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACnD,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,WAAqB;QACzD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,OAAO,CACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CACzC,CAAC;QACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAE1E,MAAM,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACrC,MAAM,OAAO,CAAC,GAAG,CACf,YAAY;aACT,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC9C,GAAG,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;YAC1B,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,EAC9C,OAAO,CACR,CAAC;YACF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAA,qBAAM,EAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAI,IAAI,CAAC,WAAsB,IAAI,EAAE,CAAC;YACvD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAE9C,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EACrC,WAAW,CACZ,CAAC;YACF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CACL,CAAC;IACJ,CAAC;IAGD;;;OAGG;IACK,mBAAmB,CAAC,WAAmB,EAAE,MAAc;QAC7D,0CAA0C;QAC1C,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEpD,OAAO,kBAAkB,kBAAkB;YACnC,aAAa;CACxB,CAAC;IACA,CAAC;CACF;AA3MD,0CA2MC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface EnvironmentDefinition {
|
|
|
8
8
|
isCustomCommandPath?: boolean;
|
|
9
9
|
customCommandExtension?: string;
|
|
10
10
|
}
|
|
11
|
-
export type EnvironmentCode = 'cursor' | 'claude' | 'github' | 'gemini' | 'codex' | 'windsurf' | 'kilocode' | 'amp' | 'opencode' | 'roo';
|
|
11
|
+
export type EnvironmentCode = 'cursor' | 'claude' | 'github' | 'gemini' | 'codex' | 'windsurf' | 'kilocode' | 'amp' | 'opencode' | 'roo' | 'antigravity';
|
|
12
12
|
export interface DevKitConfig {
|
|
13
13
|
version: string;
|
|
14
14
|
environments: EnvironmentCode[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GACb,cAAc,GACd,QAAQ,GACR,UAAU,GACV,gBAAgB,GAChB,SAAS,GACT,YAAY,GACZ,YAAY,CAAC;AAEjB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GACb,cAAc,GACd,QAAQ,GACR,UAAU,GACV,gBAAgB,GAChB,SAAS,GACT,YAAY,GACZ,YAAY,CAAC;AAEjB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,aAAa,CAAC;AAEzJ,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,iBAAiB,EAAE,KAAK,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,EAQnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAQrD,CAAC"}
|
package/dist/util/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/util/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,eAAe,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/util/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAqElF,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,eAAe,EAA8D,CAAC;AAElH,wBAAgB,kBAAkB,IAAI,qBAAqB,EAAE,CAE5D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,qBAAqB,GAAG,SAAS,CAE1F;AAED,wBAAgB,sBAAsB,IAAI,eAAe,EAAE,CAE1D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,qBAAqB,EAAE,CAExF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,eAAe,CAE9E;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAG1E;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAiB9E"}
|
package/dist/util/env.js
CHANGED
|
@@ -31,7 +31,7 @@ exports.ENVIRONMENT_DEFINITIONS = {
|
|
|
31
31
|
gemini: {
|
|
32
32
|
code: 'gemini',
|
|
33
33
|
name: 'Google Gemini',
|
|
34
|
-
contextFileName: '
|
|
34
|
+
contextFileName: 'GEMINI.md',
|
|
35
35
|
commandPath: '.gemini/commands',
|
|
36
36
|
isCustomCommandPath: true,
|
|
37
37
|
},
|
|
@@ -70,6 +70,12 @@ exports.ENVIRONMENT_DEFINITIONS = {
|
|
|
70
70
|
name: 'Roo Code',
|
|
71
71
|
contextFileName: 'AGENTS.md',
|
|
72
72
|
commandPath: '.roo/commands',
|
|
73
|
+
},
|
|
74
|
+
antigravity: {
|
|
75
|
+
code: 'antigravity',
|
|
76
|
+
name: 'Antigravity',
|
|
77
|
+
contextFileName: 'AGENTS.md',
|
|
78
|
+
commandPath: '.agent/workflows',
|
|
73
79
|
}
|
|
74
80
|
};
|
|
75
81
|
exports.ALL_ENVIRONMENT_CODES = Object.keys(exports.ENVIRONMENT_DEFINITIONS);
|
package/dist/util/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/util/env.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/util/env.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-devkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "A CLI toolkit for AI-assisted software development with phase templates and environment setup",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"chalk": "^4.1.2",
|
|
30
30
|
"commander": "^11.1.0",
|
|
31
31
|
"fs-extra": "^11.2.0",
|
|
32
|
+
"gray-matter": "^4.0.3",
|
|
32
33
|
"inquirer": "^8.2.6",
|
|
33
34
|
"yaml": "^2.3.4"
|
|
34
35
|
},
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Compare implementation with design and requirements docs to ensure alignment.
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
Compare the current implementation with the design in docs/ai/design/ and requirements in docs/ai/requirements/. Please follow this structured review:
|
|
2
6
|
|
|
3
7
|
1. Ask me for:
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Perform a local code review before pushing changes, ensuring alignment with design docs and best practices.
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
# Local Code Review Assistant
|
|
2
6
|
|
|
3
7
|
You are helping me perform a local code review **before** I push changes. Please follow this structured workflow.
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Guide me through debugging a code issue by clarifying expectations, identifying gaps, and agreeing on a fix plan before changing code.
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
# Local Debugging Assistant
|
|
2
6
|
|
|
3
7
|
Help me debug an issue by clarifying expectations, identifying gaps, and agreeing on a fix plan before changing code.
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Add new feature/requirement documentation and guide me through the development workflow from requirements to testing.
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
I want to add a new feature/requirement. Please guide me through the complete development workflow:
|
|
2
6
|
|
|
3
7
|
## Step 1: Capture Requirement
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Review the design documentation for a feature to ensure completeness and accuracy.
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
Review the design documentation in docs/ai/design/feature-{name}.md (and the project-level README if relevant). Summarize:
|
|
2
6
|
- Architecture overview (ensure mermaid diagram is present and accurate)
|
|
3
7
|
- Key components and their responsibilities
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Review the requirements documentation for a feature to ensure completeness and alignment with project standards.
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
Please review `docs/ai/requirements/feature-{name}.md` and the project-level template `docs/ai/requirements/README.md` to ensure structure and content alignment. Summarize:
|
|
2
6
|
- Core problem statement and affected users
|
|
3
7
|
- Goals, non-goals, and success criteria
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Analyze and simplify existing implementations to reduce complexity, improve maintainability, and enhance scalability.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Simplify Implementation Assistant
|
|
6
|
+
|
|
7
|
+
You are an expert engineer focused on reducing complexity and improving scalability. Help me simplify an existing implementation while maintaining or improving its functionality.
|
|
8
|
+
|
|
9
|
+
## Step 1: Gather Context
|
|
10
|
+
Ask me for:
|
|
11
|
+
- Target file(s) or component(s) to simplify
|
|
12
|
+
- Current pain points (hard to understand, maintain, or extend?)
|
|
13
|
+
- Performance or scalability concerns
|
|
14
|
+
- Any constraints (backward compatibility, API stability, deadlines)
|
|
15
|
+
- Relevant design docs or requirements
|
|
16
|
+
|
|
17
|
+
If available, request the current implementation:
|
|
18
|
+
```bash
|
|
19
|
+
# For a specific file
|
|
20
|
+
cat <file_path>
|
|
21
|
+
|
|
22
|
+
# For recent changes
|
|
23
|
+
git diff HEAD~5 --stat
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Step 2: Analyze Current Complexity
|
|
27
|
+
For each target file or component:
|
|
28
|
+
1. **Identify complexity sources:**
|
|
29
|
+
- Deep nesting or long functions
|
|
30
|
+
- Duplicate or redundant code
|
|
31
|
+
- Unclear abstractions or leaky interfaces
|
|
32
|
+
- Tightly coupled components
|
|
33
|
+
- Over-engineering or premature optimization
|
|
34
|
+
- Magic numbers, hardcoded values, or scattered configuration
|
|
35
|
+
|
|
36
|
+
2. **Measure impact:**
|
|
37
|
+
- Lines of code that could be reduced
|
|
38
|
+
- Number of dependencies that could be removed
|
|
39
|
+
- Cognitive load for future maintainers
|
|
40
|
+
|
|
41
|
+
3. **Assess scalability blockers:**
|
|
42
|
+
- Single points of failure
|
|
43
|
+
- Synchronous operations that should be async
|
|
44
|
+
- Missing caching or memoization opportunities
|
|
45
|
+
- Inefficient data structures or algorithms
|
|
46
|
+
|
|
47
|
+
## Step 3: Apply Readability Principles
|
|
48
|
+
|
|
49
|
+
**Core Philosophy: Good code reads like a good book — naturally, from left to right, top to bottom.**
|
|
50
|
+
|
|
51
|
+
When simplifying, prioritize readability over brevity. The goal is not to write the shortest code, but to write code that communicates intent clearly.
|
|
52
|
+
|
|
53
|
+
### ✅ DO: Embrace Readability
|
|
54
|
+
- **Linear flow:** Code should tell a story. A reader should understand the logic by reading top-to-bottom without jumping around.
|
|
55
|
+
- **Explicit over implicit:** Favor clear, explicit code over clever shortcuts that require mental decoding.
|
|
56
|
+
- **Meaningful names:** Variables, functions, and classes should describe their purpose without needing comments.
|
|
57
|
+
- **Consistent patterns:** Use the same patterns throughout the codebase so readers build familiarity.
|
|
58
|
+
- **Appropriate abstraction level:** Each function should operate at one level of abstraction.
|
|
59
|
+
- **White space and grouping:** Use blank lines to separate logical blocks, like paragraphs in prose.
|
|
60
|
+
|
|
61
|
+
### ❌ AVOID: Over-Optimization for Brevity
|
|
62
|
+
Reducing line count is NOT the goal. These patterns often harm readability:
|
|
63
|
+
|
|
64
|
+
| Anti-Pattern | Problem | Better Alternative |
|
|
65
|
+
|--------------|---------|--------------------|
|
|
66
|
+
| **Nested ternaries** | `a ? b ? c : d : e` is cryptic | Use explicit if/else blocks |
|
|
67
|
+
| **Chained one-liners** | `x.map().filter().reduce().flat()` is hard to debug | Break into named intermediate steps |
|
|
68
|
+
| **Clever bitwise tricks** | `n & 1` instead of `n % 2 === 1` obscures intent | Use readable arithmetic unless performance-critical |
|
|
69
|
+
| **Overly short variable names** | `const x = getData(); const y = x.filter(z => z.a);` | Use descriptive names like `users`, `activeUsers` |
|
|
70
|
+
| **Implicit returns everywhere** | Arrow functions without braces hide complexity | Add braces and explicit returns for complex logic |
|
|
71
|
+
| **Magic one-liners** | Regex or reduce expressions that "do everything" | Split into documented steps |
|
|
72
|
+
| **Premature DRY** | Forcing abstraction to avoid 2-3 lines of duplication | Some duplication is clearer than wrong abstraction |
|
|
73
|
+
|
|
74
|
+
### 📖 The "Reading Test"
|
|
75
|
+
For each simplification, ask:
|
|
76
|
+
1. Can a new team member understand this in under 30 seconds?
|
|
77
|
+
2. Does the code flow naturally without needing to jump to other files?
|
|
78
|
+
3. Are there any "wait, what does this do?" moments?
|
|
79
|
+
4. Would this code still be clear 6 months from now?
|
|
80
|
+
|
|
81
|
+
If the answer is "no" to any of these, the code needs more clarity, not more optimization.
|
|
82
|
+
|
|
83
|
+
## Step 4: Propose Simplifications
|
|
84
|
+
For each identified issue, suggest concrete improvements:
|
|
85
|
+
|
|
86
|
+
| Category | Pattern |
|
|
87
|
+
|----------|---------|
|
|
88
|
+
| **Extract** | Long functions → smaller, focused functions |
|
|
89
|
+
| **Consolidate** | Duplicate code → shared utilities or base classes |
|
|
90
|
+
| **Flatten** | Deep nesting → early returns, guard clauses |
|
|
91
|
+
| **Decouple** | Tight coupling → dependency injection, interfaces |
|
|
92
|
+
| **Remove** | Dead code, unused features, excessive abstractions |
|
|
93
|
+
| **Replace** | Complex logic → built-in language/library features |
|
|
94
|
+
| **Defer** | Premature optimization → measure-first approach |
|
|
95
|
+
|
|
96
|
+
## Step 5: Prioritize Changes
|
|
97
|
+
Rank suggestions by:
|
|
98
|
+
1. **High impact, low risk** — Do first
|
|
99
|
+
2. **High impact, higher risk** — Plan carefully
|
|
100
|
+
3. **Low impact, low risk** — Quick wins if time permits
|
|
101
|
+
4. **Low impact, high risk** — Skip or defer
|
|
102
|
+
|
|
103
|
+
For each change, specify:
|
|
104
|
+
- Before/after code snippets
|
|
105
|
+
- Risk level (breaking change? needs migration?)
|
|
106
|
+
- Testing requirements
|
|
107
|
+
- Estimated effort
|
|
108
|
+
|
|
109
|
+
## Step 6: Create Simplification Plan
|
|
110
|
+
Provide a structured action plan:
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
### Simplification Summary
|
|
114
|
+
- Total suggestions: [count]
|
|
115
|
+
- Estimated LOC reduction: [estimate]
|
|
116
|
+
- Complexity score before/after: [if measurable]
|
|
117
|
+
|
|
118
|
+
### Prioritized Actions
|
|
119
|
+
1. **[Component/Function Name]**
|
|
120
|
+
- Issue: ...
|
|
121
|
+
- Solution: ...
|
|
122
|
+
- Risk: Low/Medium/High
|
|
123
|
+
- Effort: S/M/L
|
|
124
|
+
|
|
125
|
+
2. ... (repeat)
|
|
126
|
+
|
|
127
|
+
### Recommended Order
|
|
128
|
+
1. [ ] [First change - safest, unlocks others]
|
|
129
|
+
2. [ ] [Second change]
|
|
130
|
+
3. [ ] ...
|
|
131
|
+
|
|
132
|
+
### Post-Simplification Checklist
|
|
133
|
+
- [ ] Run existing tests to verify no regressions
|
|
134
|
+
- [ ] Add tests for any new helper functions
|
|
135
|
+
- [ ] Update documentation if interfaces changed
|
|
136
|
+
- [ ] Review with team before merging larger refactors
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Step 7: Scalability Recommendations
|
|
140
|
+
Beyond immediate simplification, suggest patterns for future scalability:
|
|
141
|
+
- Modular architecture improvements
|
|
142
|
+
- Caching strategies
|
|
143
|
+
- Async/parallel processing opportunities
|
|
144
|
+
- Configuration externalization
|
|
145
|
+
- Feature flags for gradual rollouts
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
Let me know when you're ready to simplify your implementation.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Config.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/lib/Config.test.ts"],"names":[],"mappings":""}
|