@e0ipso/ai-task-manager 1.26.0 → 1.26.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/utils.d.ts +10 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +21 -4
- package/dist/utils.js.map +1 -1
- package/package.json +6 -6
- package/templates/ai-task-manager/config/hooks/PRE_PLAN.md +1 -16
- package/templates/ai-task-manager/config/hooks/PRE_TASK_ASSIGNMENT.md +0 -6
- package/templates/ai-task-manager/config/templates/PLAN_TEMPLATE.md +4 -0
- package/templates/assistant/commands/tasks/create-plan.md +5 -6
- package/templates/assistant/commands/tasks/execute-blueprint.md +5 -6
- package/templates/assistant/commands/tasks/execute-task.md +13 -0
- package/templates/assistant/commands/tasks/fix-broken-tests.md +13 -0
- package/templates/assistant/commands/tasks/full-workflow.md +5 -6
- package/templates/assistant/commands/tasks/generate-tasks.md +5 -6
- package/templates/assistant/commands/tasks/refine-plan.md +5 -6
- package/templates/ai-task-manager/config/scripts/detect-assistant.cjs +0 -67
- package/templates/ai-task-manager/config/scripts/read-assistant-config.cjs +0 -99
package/dist/utils.d.ts
CHANGED
|
@@ -45,6 +45,16 @@ export declare function parseFrontmatter(content: string): {
|
|
|
45
45
|
* @returns The escaped string suitable for TOML
|
|
46
46
|
*/
|
|
47
47
|
export declare function escapeTomlString(str: string): string;
|
|
48
|
+
/**
|
|
49
|
+
* Escape a string for TOML triple-quoted format
|
|
50
|
+
* Triple-quoted strings in TOML do NOT interpret escape sequences,
|
|
51
|
+
* so we preserve newlines and only escape triple-quote boundaries.
|
|
52
|
+
* However, some TOML parsers (notably Gemini's) treat backslashes as escape
|
|
53
|
+
* characters even in triple-quoted strings, so we must escape them.
|
|
54
|
+
* @param str - The string to escape
|
|
55
|
+
* @returns The escaped string suitable for TOML triple-quoted strings
|
|
56
|
+
*/
|
|
57
|
+
export declare function escapeTomlTripleQuotedString(str: string): string;
|
|
48
58
|
/**
|
|
49
59
|
* Convert markdown template content to TOML format for Gemini
|
|
50
60
|
* @param mdContent - The markdown template content
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,CAgC1D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAqBhE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,cAAc,CAkBtE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IACjD,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd,CAoCA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,CAgC1D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAqBhE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,cAAc,CAkBtE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IACjD,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd,CAoCA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAShE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAiCzD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAejE;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,cAAc,EAC5B,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7F"}
|
package/dist/utils.js
CHANGED
|
@@ -44,6 +44,7 @@ exports.validateAssistants = validateAssistants;
|
|
|
44
44
|
exports.getTemplateFormat = getTemplateFormat;
|
|
45
45
|
exports.parseFrontmatter = parseFrontmatter;
|
|
46
46
|
exports.escapeTomlString = escapeTomlString;
|
|
47
|
+
exports.escapeTomlTripleQuotedString = escapeTomlTripleQuotedString;
|
|
47
48
|
exports.convertMdToToml = convertMdToToml;
|
|
48
49
|
exports.convertMdToGitHubPrompt = convertMdToGitHubPrompt;
|
|
49
50
|
exports.readAndProcessTemplate = readAndProcessTemplate;
|
|
@@ -176,6 +177,23 @@ function escapeTomlString(str) {
|
|
|
176
177
|
.replace(/\r/g, '\\r')
|
|
177
178
|
.replace(/\t/g, '\\t');
|
|
178
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Escape a string for TOML triple-quoted format
|
|
182
|
+
* Triple-quoted strings in TOML do NOT interpret escape sequences,
|
|
183
|
+
* so we preserve newlines and only escape triple-quote boundaries.
|
|
184
|
+
* However, some TOML parsers (notably Gemini's) treat backslashes as escape
|
|
185
|
+
* characters even in triple-quoted strings, so we must escape them.
|
|
186
|
+
* @param str - The string to escape
|
|
187
|
+
* @returns The escaped string suitable for TOML triple-quoted strings
|
|
188
|
+
*/
|
|
189
|
+
function escapeTomlTripleQuotedString(str) {
|
|
190
|
+
return (str
|
|
191
|
+
// Escape backslashes first to prevent them being treated as escape characters
|
|
192
|
+
// by non-compliant TOML parsers (notably Gemini's parser)
|
|
193
|
+
.replace(/\\/g, '\\\\')
|
|
194
|
+
// Escape triple-quote sequences that would break the string delimiters
|
|
195
|
+
.replace(/"""/g, '"\\"'));
|
|
196
|
+
}
|
|
179
197
|
/**
|
|
180
198
|
* Convert markdown template content to TOML format for Gemini
|
|
181
199
|
* @param mdContent - The markdown template content
|
|
@@ -192,7 +210,9 @@ function convertMdToToml(mdContent) {
|
|
|
192
210
|
.replace(/\$2(?![0-9])/g, '{{param2}}')
|
|
193
211
|
.replace(/\$3(?![0-9])/g, '{{param3}}');
|
|
194
212
|
// Build TOML content
|
|
195
|
-
|
|
213
|
+
// prompt must be at the root, so it comes before [metadata] table
|
|
214
|
+
let tomlContent = `prompt = """${escapeTomlTripleQuotedString(processedBody)}"""\n\n`;
|
|
215
|
+
tomlContent += '[metadata]\n';
|
|
196
216
|
// Add frontmatter fields to metadata section
|
|
197
217
|
for (const [key, value] of Object.entries(frontmatter)) {
|
|
198
218
|
if (key === 'argument-hint') {
|
|
@@ -208,9 +228,6 @@ function convertMdToToml(mdContent) {
|
|
|
208
228
|
tomlContent += `${key} = "${escapeTomlString(String(value))}"\n`;
|
|
209
229
|
}
|
|
210
230
|
}
|
|
211
|
-
// Add the prompt section with escaped content
|
|
212
|
-
tomlContent += '\n[prompt]\n';
|
|
213
|
-
tomlContent += `content = """${escapeTomlString(processedBody)}"""\n`;
|
|
214
231
|
return tomlContent;
|
|
215
232
|
}
|
|
216
233
|
/**
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYH,0CAgCC;AAOD,gDAqBC;AAOD,8CAkBC;AAcD,4CAuCC;AAOD,4CAOC;AAOD,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYH,0CAgCC;AAOD,gDAqBC;AAOD,8CAkBC;AAcD,4CAuCC;AAOD,4CAOC;AAWD,oEASC;AAOD,0CAiCC;AAOD,0DAeC;AASD,wDAkBC;AAOD,wDAMC;AA5RD,6CAA+B;AAC/B,2CAA6B;AAG7B;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,MAAM,eAAe,GAAgB;QACnC,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,UAAU;KACX,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,UAAU,GAAG,KAAK;SACrB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7B,yCAAyC;IACzC,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CACzC,CAAC,SAAS,EAAuB,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAsB,CAAC,CACtF,CAAC;IAEF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,yBAAyB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1G,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAgB,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,UAAuB;IACxD,MAAM,eAAe,GAAgB;QACnC,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,UAAU;KACX,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,sBAAsB,SAAS,2BAA2B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,SAAoB;IACpD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,CAAC,mCAAmC;QAClD,KAAK,UAAU;YACb,OAAO,IAAI,CAAC;QACd;YACE,2EAA2E;YAC3E,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AASD;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAI9C,MAAM,gBAAgB,GAAG,iDAAiD,CAAC;IAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,gDAAgD;IAEpF,+CAA+C;IAC/C,MAAM,WAAW,GAAwB,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAElD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,UAAU,KAAK,CAAC,CAAC;YAAE,SAAS;QAEhC,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEvD,2BAA2B;QAC3B,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO;QACL,WAAW;QACX,IAAI,EAAE,WAAW;KAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG;SACP,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,4BAA4B,CAAC,GAAW;IACtD,OAAO,CACL,GAAG;QACD,8EAA8E;QAC9E,0DAA0D;SACzD,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,uEAAuE;SACtE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,SAAiB;IAC/C,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE1D,6CAA6C;IAC7C,MAAM,aAAa,GAAG,IAAI;QACxB,kGAAkG;SACjG,OAAO,CAAC,uBAAuB,EAAE,UAAU,CAAC;QAC7C,sEAAsE;SACrE,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC;SACvC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC;SACtC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IAE1C,qBAAqB;IACrB,kEAAkE;IAClE,IAAI,WAAW,GAAG,eAAe,4BAA4B,CAAC,aAAa,CAAC,SAAS,CAAC;IACtF,WAAW,IAAI,cAAc,CAAC;IAE9B,6CAA6C;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC5B,8DAA8D;YAC9D,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;iBAChC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC;iBACrC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC;iBACrC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC;iBACtC,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;YACnD,WAAW,IAAI,oBAAoB,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,WAAW,IAAI,GAAG,GAAG,OAAO,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;QACnE,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,SAAiB;IACvD,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE1D,kCAAkC;IAClC,IAAI,aAAa,GAAG,OAAO,CAAC;IAC5B,aAAa,IAAI,gBAAgB,WAAW,CAAC,WAAW,IAAI,yBAAyB,IAAI,CAAC;IAC1F,aAAa,IAAI,SAAS,CAAC;IAE3B,6BAA6B;IAC7B,aAAa,IAAI,gBAAgB,CAAC;IAElC,0FAA0F;IAC1F,aAAa,IAAI,IAAI,CAAC;IAEtB,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,YAAoB,EACpB,YAA4B,EAC5B,SAAqB;IAErB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE3D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,qDAAqD;QACrD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,uCAAuC;IAC3D,CAAC;SAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB;IACzD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,sBAAsB,CAAC,OAAe,EAAE,QAAgB;IAC5E,sCAAsC;IACtC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3C,oBAAoB;IACpB,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@e0ipso/ai-task-manager",
|
|
3
|
-
"version": "1.26.
|
|
3
|
+
"version": "1.26.2",
|
|
4
4
|
"description": "Task management for AI coding assistants",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"access": "public"
|
|
38
38
|
},
|
|
39
39
|
"engines": {
|
|
40
|
-
"node": ">=
|
|
40
|
+
"node": ">=22.14.0"
|
|
41
41
|
},
|
|
42
42
|
"files": [
|
|
43
43
|
"dist/",
|
|
@@ -67,9 +67,9 @@
|
|
|
67
67
|
"@semantic-release/changelog": "^6.0.3",
|
|
68
68
|
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
69
69
|
"@semantic-release/git": "^10.0.1",
|
|
70
|
-
"@semantic-release/github": "^
|
|
71
|
-
"@semantic-release/npm": "^
|
|
72
|
-
"@semantic-release/release-notes-generator": "^
|
|
70
|
+
"@semantic-release/github": "^12.0.2",
|
|
71
|
+
"@semantic-release/npm": "^13.1.3",
|
|
72
|
+
"@semantic-release/release-notes-generator": "^14.1.0",
|
|
73
73
|
"@types/diff": "^5.2.3",
|
|
74
74
|
"@types/fs-extra": "^11.0.4",
|
|
75
75
|
"@types/inquirer": "^9.0.9",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"husky": "^9.1.7",
|
|
84
84
|
"jest": "^30.1.2",
|
|
85
85
|
"prettier": "^3.6.2",
|
|
86
|
-
"semantic-release": "^
|
|
86
|
+
"semantic-release": "^25.0.2",
|
|
87
87
|
"ts-jest": "^29.4.1",
|
|
88
88
|
"ts-node": "^10.9.2",
|
|
89
89
|
"typescript": "^5.9.2"
|
|
@@ -2,21 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
This hook provides pre-planning guidance to ensure scope control, simplicity principles, and proper validation requirements are established before comprehensive plan creation.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
Run this script to detect the assistant:
|
|
7
|
-
|
|
8
|
-
```bash
|
|
9
|
-
assistant=$(node .ai/task-manager/config/scripts/detect-assistant.cjs)
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
<details>
|
|
13
|
-
<summary>
|
|
14
|
-
[IMPORTANT] Only for assistants that support assistant skills: Claude
|
|
15
|
-
</summary>
|
|
16
|
-
|
|
17
|
-
Analyze the current prompt in order to engage any relevant skills as necessary (either global or project skills).
|
|
18
|
-
</details>
|
|
19
|
-
|
|
20
5
|
## Scope Control Guidelines
|
|
21
6
|
|
|
22
7
|
**Critical: Implement ONLY what is explicitly requested**
|
|
@@ -55,4 +40,4 @@ Analyze the current prompt in order to engage any relevant skills as necessary (
|
|
|
55
40
|
- Prioritize accuracy over speed
|
|
56
41
|
- Consider both technical and non-technical aspects
|
|
57
42
|
- Use the plan template in .ai/task-manager/config/templates/PLAN_TEMPLATE.md
|
|
58
|
-
- DO NOT create or list any tasks or phases during the plan creation. This will be done in a later step. Stick to writing the PRD (Project Requirements Document).
|
|
43
|
+
- DO NOT create or list any tasks or phases during the plan creation. This will be done in a later step. Stick to writing the PRD (Project Requirements Document).
|
|
@@ -11,12 +11,6 @@ This hook executes before task assignment to determine the most appropriate agen
|
|
|
11
11
|
- Select the most appropriate sub-agent (if any are available). If no sub-agent is appropriate, use the general-purpose one.
|
|
12
12
|
- Consider task-specific requirements from the task document
|
|
13
13
|
|
|
14
|
-
Run this script to detect the assistant:
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
assistant=$(node .ai/task-manager/config/scripts/detect-assistant.cjs)
|
|
18
|
-
```
|
|
19
|
-
|
|
20
14
|
<details>
|
|
21
15
|
<summary>
|
|
22
16
|
[IMPORTANT] Only for assistants that support assistant skills: Claude
|
|
@@ -74,6 +74,10 @@ Example:
|
|
|
74
74
|
2. [Measurable outcome 2]
|
|
75
75
|
3. [Measurable outcome 3]
|
|
76
76
|
|
|
77
|
+
## Documentation
|
|
78
|
+
|
|
79
|
+
[Required documentation updates to existing documentation, either human-focused documentation, the project's README.md or assistant-focused documentation like AGENTS.md, .claude/skills/* for the site, etc.]
|
|
80
|
+
|
|
77
81
|
## Resource Requirements
|
|
78
82
|
|
|
79
83
|
### Development Skills
|
|
@@ -12,13 +12,12 @@ ensuring you have all necessary context before proceeding. Use the plan-creator
|
|
|
12
12
|
|
|
13
13
|
Before proceeding with this command, you MUST load and respect the assistant's configuration:
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
```
|
|
15
|
+
Load the following configuration files in order of precedence (later files override earlier ones):
|
|
16
|
+
1. `/workspace/AGENTS.md` - Project-level task management guidance
|
|
17
|
+
2. `/workspace/CLAUDE.md` - Claude-specific assistant configuration (if it exists)
|
|
18
|
+
3. `/home/node/.claude/CLAUDE.md` - Global Claude configuration from your home directory (if it exists)
|
|
20
19
|
|
|
21
|
-
|
|
20
|
+
These files contain your global and project-level configuration rules. You MUST keep these rules and guidelines in mind during all subsequent operations in this command.
|
|
22
21
|
|
|
23
22
|
---
|
|
24
23
|
|
|
@@ -8,13 +8,12 @@ description: Execute the task in the plan.
|
|
|
8
8
|
|
|
9
9
|
Before proceeding with this command, you MUST load and respect the assistant's configuration:
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
```
|
|
11
|
+
Load the following configuration files in order of precedence (later files override earlier ones):
|
|
12
|
+
1. `/workspace/AGENTS.md` - Project-level task management guidance
|
|
13
|
+
2. `/workspace/CLAUDE.md` - Claude-specific assistant configuration (if it exists)
|
|
14
|
+
3. `/home/node/.claude/CLAUDE.md` - Global Claude configuration from your home directory (if it exists)
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
These files contain your global and project-level configuration rules. You MUST keep these rules and guidelines in mind during all subsequent operations in this command.
|
|
18
17
|
|
|
19
18
|
---
|
|
20
19
|
|
|
@@ -6,6 +6,19 @@ description: Execute a single task with dependency validation and status managem
|
|
|
6
6
|
|
|
7
7
|
You are responsible for executing a single task within a plan while maintaining strict dependency validation and proper status management. Your role is to ensure the task is ready for execution, deploy the appropriate agent, and track execution progress.
|
|
8
8
|
|
|
9
|
+
## Assistant Configuration
|
|
10
|
+
|
|
11
|
+
Before proceeding with this command, you MUST load and respect the assistant's configuration:
|
|
12
|
+
|
|
13
|
+
Load the following configuration files in order of precedence (later files override earlier ones):
|
|
14
|
+
1. `/workspace/AGENTS.md` - Project-level task management guidance
|
|
15
|
+
2. `/workspace/CLAUDE.md` - Claude-specific assistant configuration (if it exists)
|
|
16
|
+
3. `/home/node/.claude/CLAUDE.md` - Global Claude configuration from your home directory (if it exists)
|
|
17
|
+
|
|
18
|
+
These files contain your global and project-level configuration rules. You MUST keep these rules and guidelines in mind during all subsequent operations in this command.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
9
22
|
Use your internal Todo task tool to track the execution of all parts of the task, and the final update of noteworthy items during execution. Example:
|
|
10
23
|
|
|
11
24
|
- [ ] Validate task: file, status, and dependencies.
|
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
argument-hint: "[testCommand]"
|
|
3
3
|
description: Fix the tests your task execution broke.
|
|
4
4
|
---
|
|
5
|
+
## Assistant Configuration
|
|
6
|
+
|
|
7
|
+
Before proceeding with this command, you MUST load and respect the assistant's configuration:
|
|
8
|
+
|
|
9
|
+
Load the following configuration files in order of precedence (later files override earlier ones):
|
|
10
|
+
1. `/workspace/AGENTS.md` - Project-level task management guidance
|
|
11
|
+
2. `/workspace/CLAUDE.md` - Claude-specific assistant configuration (if it exists)
|
|
12
|
+
3. `/home/node/.claude/CLAUDE.md` - Global Claude configuration from your home directory (if it exists)
|
|
13
|
+
|
|
14
|
+
These files contain your global and project-level configuration rules. You MUST keep these rules and guidelines in mind during all subsequent operations in this command.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
5
18
|
Fix all failing tests in this repository. Think harder and use tools.
|
|
6
19
|
|
|
7
20
|
Execute this command to run the tests:
|
|
@@ -10,13 +10,12 @@ You are a workflow composition assistant. Your role is to execute the complete t
|
|
|
10
10
|
|
|
11
11
|
Before proceeding with this command, you MUST load and respect the assistant's configuration:
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
```
|
|
13
|
+
Load the following configuration files in order of precedence (later files override earlier ones):
|
|
14
|
+
1. `/workspace/AGENTS.md` - Project-level task management guidance
|
|
15
|
+
2. `/workspace/CLAUDE.md` - Claude-specific assistant configuration (if it exists)
|
|
16
|
+
3. `/home/node/.claude/CLAUDE.md` - Global Claude configuration from your home directory (if it exists)
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
These files contain your global and project-level configuration rules. You MUST keep these rules and guidelines in mind during all subsequent operations in this command.
|
|
20
19
|
|
|
21
20
|
---
|
|
22
21
|
|
|
@@ -9,13 +9,12 @@ description: Generate tasks to implement the plan with the provided ID.
|
|
|
9
9
|
|
|
10
10
|
Before proceeding with this command, you MUST load and respect the assistant's configuration:
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
```
|
|
12
|
+
Load the following configuration files in order of precedence (later files override earlier ones):
|
|
13
|
+
1. `/workspace/AGENTS.md` - Project-level task management guidance
|
|
14
|
+
2. `/workspace/CLAUDE.md` - Claude-specific assistant configuration (if it exists)
|
|
15
|
+
3. `/home/node/.claude/CLAUDE.md` - Global Claude configuration from your home directory (if it exists)
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
These files contain your global and project-level configuration rules. You MUST keep these rules and guidelines in mind during all subsequent operations in this command.
|
|
19
18
|
|
|
20
19
|
---
|
|
21
20
|
|
|
@@ -13,13 +13,12 @@ user, and update the plan with the refinements. Use the plan-creator sub-agent f
|
|
|
13
13
|
|
|
14
14
|
Before proceeding with this command, you MUST load and respect the assistant's configuration:
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
```
|
|
16
|
+
Load the following configuration files in order of precedence (later files override earlier ones):
|
|
17
|
+
1. `/workspace/AGENTS.md` - Project-level task management guidance
|
|
18
|
+
2. `/workspace/CLAUDE.md` - Claude-specific assistant configuration (if it exists)
|
|
19
|
+
3. `/home/node/.claude/CLAUDE.md` - Global Claude configuration from your home directory (if it exists)
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
These files contain your global and project-level configuration rules. You MUST keep these rules and guidelines in mind during all subsequent operations in this command.
|
|
23
22
|
|
|
24
23
|
---
|
|
25
24
|
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const fs = require('fs');
|
|
4
|
-
const path = require('path');
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Detect the currently running AI assistant based on environment variables and directory presence
|
|
8
|
-
* @returns {string} Assistant identifier: 'claude', 'gemini', 'opencode', 'cursor', or 'unknown'
|
|
9
|
-
*/
|
|
10
|
-
function detectAssistant() {
|
|
11
|
-
// 1. Check environment variables (highest priority)
|
|
12
|
-
if (process.env.CLAUDECODE) {
|
|
13
|
-
return 'claude';
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
if (process.env.GEMINI_CODE) {
|
|
17
|
-
return 'gemini';
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (process.env.OPENCODE) {
|
|
21
|
-
return 'opencode';
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (process.env.CURSOR) {
|
|
25
|
-
return 'cursor';
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// 2. Check directory presence (fallback)
|
|
29
|
-
const cwd = process.cwd();
|
|
30
|
-
|
|
31
|
-
const assistantDirs = [
|
|
32
|
-
{ name: 'claude', dir: '.claude' },
|
|
33
|
-
{ name: 'gemini', dir: '.gemini' },
|
|
34
|
-
{ name: 'opencode', dir: '.opencode' },
|
|
35
|
-
{ name: 'cursor', dir: '.cursor' }
|
|
36
|
-
];
|
|
37
|
-
|
|
38
|
-
for (const { name, dir } of assistantDirs) {
|
|
39
|
-
const dirPath = path.join(cwd, dir);
|
|
40
|
-
|
|
41
|
-
try {
|
|
42
|
-
if (fs.existsSync(dirPath)) {
|
|
43
|
-
const stats = fs.statSync(dirPath);
|
|
44
|
-
if (stats.isDirectory()) {
|
|
45
|
-
return name;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
} catch (err) {
|
|
49
|
-
// Handle filesystem errors gracefully (e.g., permission issues)
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// 3. Default: unknown
|
|
55
|
-
return 'unknown';
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Main execution with error handling
|
|
59
|
-
try {
|
|
60
|
-
const assistant = detectAssistant();
|
|
61
|
-
console.log(assistant);
|
|
62
|
-
process.exit(0);
|
|
63
|
-
} catch (error) {
|
|
64
|
-
// Graceful degradation: output 'unknown' even on error
|
|
65
|
-
console.log('unknown');
|
|
66
|
-
process.exit(0);
|
|
67
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const fs = require('fs');
|
|
4
|
-
const path = require('path');
|
|
5
|
-
const os = require('os');
|
|
6
|
-
|
|
7
|
-
// Configuration path mapping
|
|
8
|
-
const CONFIG_PATHS = {
|
|
9
|
-
claude: {
|
|
10
|
-
global: [path.join(os.homedir(), '.claude', 'CLAUDE.md')],
|
|
11
|
-
project: ['AGENTS.md', 'CLAUDE.md']
|
|
12
|
-
},
|
|
13
|
-
gemini: {
|
|
14
|
-
global: [path.join(os.homedir(), '.gemini', 'GEMINI.md')],
|
|
15
|
-
project: ['.gemini/styleguide.md']
|
|
16
|
-
},
|
|
17
|
-
opencode: {
|
|
18
|
-
global: [path.join(os.homedir(), '.opencode', 'OPENCODE.md')],
|
|
19
|
-
project: ['AGENTS.md', 'OPENCODE.md']
|
|
20
|
-
},
|
|
21
|
-
cursor: {
|
|
22
|
-
global: [path.join(os.homedir(), '.cursor', 'rules', 'index.mdc')],
|
|
23
|
-
project: ['.cursor/index.mdc']
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
function readConfigFile(filePath) {
|
|
28
|
-
try {
|
|
29
|
-
if (fs.existsSync(filePath)) {
|
|
30
|
-
const content = fs.readFileSync(filePath, 'utf-8');
|
|
31
|
-
return content.trim();
|
|
32
|
-
}
|
|
33
|
-
return null;
|
|
34
|
-
} catch (error) {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function readAssistantConfig(assistant) {
|
|
40
|
-
const configs = CONFIG_PATHS[assistant];
|
|
41
|
-
|
|
42
|
-
if (!configs) {
|
|
43
|
-
return '';
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const output = [];
|
|
47
|
-
|
|
48
|
-
// Read global configs
|
|
49
|
-
let globalContent = null;
|
|
50
|
-
for (const globalPath of configs.global) {
|
|
51
|
-
const content = readConfigFile(globalPath);
|
|
52
|
-
if (content) {
|
|
53
|
-
globalContent = content;
|
|
54
|
-
break; // Use first found
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (globalContent) {
|
|
59
|
-
output.push('## Global Assistant Configuration\n');
|
|
60
|
-
output.push(globalContent);
|
|
61
|
-
output.push('\n');
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// Read project configs
|
|
65
|
-
let projectContent = null;
|
|
66
|
-
for (const projectPath of configs.project) {
|
|
67
|
-
const fullPath = path.join(process.cwd(), projectPath);
|
|
68
|
-
const content = readConfigFile(fullPath);
|
|
69
|
-
if (content) {
|
|
70
|
-
projectContent = content;
|
|
71
|
-
break; // Use first found
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (projectContent) {
|
|
76
|
-
output.push('## Project-Level Configuration\n');
|
|
77
|
-
output.push(projectContent);
|
|
78
|
-
output.push('\n');
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return output.join('\n');
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// Main execution
|
|
85
|
-
const assistant = process.argv[2];
|
|
86
|
-
|
|
87
|
-
if (!assistant) {
|
|
88
|
-
process.exit(0); // Silent exit for graceful degradation
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
try {
|
|
92
|
-
const config = readAssistantConfig(assistant);
|
|
93
|
-
if (config) {
|
|
94
|
-
console.log(config);
|
|
95
|
-
}
|
|
96
|
-
process.exit(0);
|
|
97
|
-
} catch (error) {
|
|
98
|
-
process.exit(0); // Graceful degradation
|
|
99
|
-
}
|