@contextium/cli 1.5.0 → 1.6.1
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/commands/tasks.js +5 -0
- package/dist/commands/tasks.js.map +1 -1
- package/package.json +1 -1
- package/skills/ium/code-audit.md +267 -0
- package/skills/ium/help.md +2 -3
- package/skills/ium/map-existing.md +1 -1
- package/skills/ium/new-project.legacy.md +2 -2
- package/skills/ium/new-project.md +2 -2
- package/skills/ium/scan-existing.md +0 -422
package/dist/commands/tasks.js
CHANGED
|
@@ -260,6 +260,7 @@ tasksCommand
|
|
|
260
260
|
.option('--due <date>', 'Due date ISO format: YYYY-MM-DD (workspace tasks only)')
|
|
261
261
|
.option('--assign <member>', 'Assign to workspace member(s) — repeat the flag or comma-separate for up to 5 (workspace tasks), or an agent name (phases)', (val, acc) => acc.concat(val.split(',').map((s) => s.trim()).filter(Boolean)), [])
|
|
262
262
|
.option('--priority <level>', 'Task priority: high, medium, or low (workspace tasks only)')
|
|
263
|
+
.option('--no-auto-assign', 'Disable AI role-based auto-assignment when no --assign is given (workspace tasks)')
|
|
263
264
|
.option('--format <format>', 'Output format (text|json)', 'text')
|
|
264
265
|
.action(async (options) => {
|
|
265
266
|
const spinner = ora('Creating...').start();
|
|
@@ -309,6 +310,10 @@ tasksCommand
|
|
|
309
310
|
body.assigneeIds = members.map((m) => m.id);
|
|
310
311
|
body.assignedTo = members[0].id;
|
|
311
312
|
}
|
|
313
|
+
else {
|
|
314
|
+
// No explicit assignee — let AI match the task to member roles (unless --no-auto-assign)
|
|
315
|
+
body.autoAssign = options.autoAssign !== false;
|
|
316
|
+
}
|
|
312
317
|
const { data } = await client.post(`/workspaces/${workspace.id}/workspace-tasks`, body);
|
|
313
318
|
const task = data.data || data;
|
|
314
319
|
spinner.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/commands/tasks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/commands/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE7C,KAAK,UAAU,gBAAgB,CAAC,MAAiB,EAAE,aAAqB;IACtE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAChE,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,IAAI,cAAc,CAAA;IACxD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAC3C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;QAClE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CACnE,CAAA;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAC/C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAA;QACnF,MAAM,IAAI,KAAK,CAAC,cAAc,aAAa,aAAa,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAiB,EAAE,WAAmB,EAAE,YAAoB;IACzF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,WAAW,YAAY,CAAC,CAAA;IACjF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,IAAI,EAAE,CAAA;IAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CACzC,CAAC,CAAC,EAAE,KAAK,YAAY;QACrB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAClE,CAAA;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAA;QAC9C,SAAS,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAChF,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,aAAa,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,MAAiB,EAAE,WAAmB,EAAE,UAAkB;IAC9F,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,WAAW,UAAU,CAAC,CAAA;IACpF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,IAAI,EAAE,CAAA;IAC/E,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CACpC,CAAC,CAAC,EAAE,KAAK,UAAU;QACnB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;QACvE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CACzE,CAAA;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAC5C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;QACjF,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,aAAa,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAiB,EAAE,WAAmB,EAAE,SAAiB;IACnF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,WAAW,SAAS,CAAC,CAAA;IAClF,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,IAAI,EAAE,CAAA;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CACnC,CAAC,CAAC,EAAE,KAAK,SAAS;QAClB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CACvE,CAAA;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;QAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAC7E,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,aAAa,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAiB,EAAE,WAAmB,EAAE,UAAkB;IACvF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,WAAW,cAAc,UAAU,OAAO,CAAC,CAAA;IAC5F,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,CAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC9C,KAAK,aAAa,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACtD,KAAK,SAAS,CAAC,CAAK,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC/C,KAAK,SAAS,CAAC,CAAK,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC/C,OAAO,CAAC,CAAY,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,CAAQ,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC9C,KAAK,aAAa,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACtD,KAAK,aAAa,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACnD,KAAK,WAAW,CAAC,CAAG,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACjD,OAAO,CAAC,CAAY,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAA4B;IAClD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAA;IACxB,QAAQ,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,CAAG,OAAO,+BAA+B,CAAA;QACrD,KAAK,QAAQ,CAAC,CAAC,OAAO,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACpD,KAAK,KAAK,CAAC,CAAI,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC9C,OAAO,CAAC,CAAO,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAA;IACxD,CAAC;AACH,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;AAElD,SAAS,gBAAgB,CAAC,QAA4B;IACpD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;IACzC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,sBAAsB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnG,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,KAAU,EAAE,MAAM,GAAG,IAAI;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACvF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IAC1H,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAA;IACxE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IACvF,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAC9F,OAAO,CAAC,GAAG,EAAE,CAAA;AACf,CAAC;AAED,SAAS,SAAS,CAAC,IAAS,EAAE,MAAM,GAAG,IAAI;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACvG,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACrF,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACxE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,aAAa,EAAE,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAA;IAChF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACzD,OAAO,CAAC,GAAG,EAAE,CAAA;AACf,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,8DAA8D,CAAC,CAAA;AAE9E,iFAAiF;AAEjF,YAAY;KACT,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8DAA8D,CAAC;KAC3E,cAAc,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;KACvE,MAAM,CAAC,uBAAuB,EAAE,sDAAsD,CAAC;KACvF,MAAM,CAAC,mBAAmB,EAAE,gHAAgH,CAAC;KAC7I,MAAM,CAAC,OAAO,EAAE,uDAAuD,CAAC;KACxE,MAAM,CAAC,oBAAoB,EAAE,0CAA0C,CAAC;KACxE,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAA;IAEzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAEnE,uCAAuC;QACvC,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAEzD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;YAC9E,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;YACrE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,SAAS,CAAC,CAAA;YACxF,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAA;YAEpC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;YACjE,CAAC;YAED,OAAO,CAAC,IAAI,EAAE,CAAA;YAEd,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC1F,OAAM;YACR,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;YACvE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;YAEvE,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,SAAS,OAAO,CAAC,CAAC,CAAA;YACjE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAA;gBAC5F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC,CAAA;YAC3F,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAA;YAEb,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAA;gBAC5C,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,OAAM;YACR,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,UAAU,CAAC,KAAK,CAAC,CAAA;YACnB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,uCAAuC,OAAO,CAAC,SAAS,gBAAgB,QAAQ,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAA;YAC/I,OAAO,CAAC,GAAG,EAAE,CAAA;QACf,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;YACpC,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACxD,IAAI,cAAc;gBAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;YAC1D,IAAI,CAAC,OAAO,CAAC,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAE7C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,eAAe,SAAS,CAAC,EAAE,mBAAmB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACtF,CAAA;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAA;YACrC,OAAO,CAAC,IAAI,EAAE,CAAA;YAEd,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC1E,OAAM;YACR,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;YACxE,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAA;YACtF,OAAO,CAAC,GAAG,EAAE,CAAA;YAEb,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;gBAC3C,IAAI,CAAC,OAAO,CAAC,GAAG;oBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAA;gBACzE,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,OAAM;YACR,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,SAAS,CAAC,IAAI,CAAC,CAAA;YACjB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,sCAAsC,OAAO,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAA;YAC9G,OAAO,CAAC,GAAG,EAAE,CAAA;QACf,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,YAAY;KACT,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4CAA4C,CAAC;KACzD,cAAc,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;KACvE,MAAM,CAAC,mBAAmB,EAAE,kDAAkD,CAAC;KAC/E,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAA;IAEpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAE5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QACnE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAExD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,eAAe,SAAS,CAAC,EAAE,cAAc,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACjF,CAAA;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAA;QACrC,OAAO,CAAC,IAAI,EAAE,CAAA;QAEd,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC3C,OAAM;QACR,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QACnC,OAAO,CAAC,GAAG,EAAE,CAAA;QAEb,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAA;YACrD,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,OAAM;QACR,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,CAAA;QACjB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,0BAA0B,CAAC,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,EAAE,CAAA;IACf,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,YAAY;KACT,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,+DAA+D,CAAC;KAC5E,cAAc,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;KACvE,cAAc,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;KAC5D,MAAM,CAAC,uBAAuB,EAAE,4DAA4D,CAAC;KAC7F,MAAM,CAAC,0BAA0B,EAAE,oCAAoC,CAAC;KACxE,MAAM,CAAC,cAAc,EAAE,wDAAwD,CAAC;KAChF,MAAM,CACL,mBAAmB,EACnB,4HAA4H,EAC5H,CAAC,GAAW,EAAE,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAC/F,EAAc,CACf;KACA,MAAM,CAAC,oBAAoB,EAAE,4DAA4D,CAAC;KAC1F,MAAM,CAAC,kBAAkB,EAAE,mFAAmF,CAAC;KAC/G,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAA;IAE1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAEnE,gCAAgC;QAChC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAEnD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;YAC9E,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;YAErE,MAAM,IAAI,GAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YACzD,IAAI,OAAO,CAAC,WAAW;gBAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;YAC/D,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC3B,sCAAsC;gBACtC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;gBACzE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,EAAE,CAAA;YACjC,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,eAAe,SAAS,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,SAAS,EACrD,IAAI,CACL,CAAA;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;YAC/B,OAAO,CAAC,IAAI,EAAE,CAAA;YAEd,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC3C,OAAM;YACR,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACjD,OAAO,CAAC,GAAG,EAAE,CAAA;QACf,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YACzD,IAAI,OAAO,CAAC,WAAW;gBAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;YAC/D,IAAI,OAAO,CAAC,GAAG;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAA;YAC3C,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;YAEtC,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC3B,2EAA2E;gBAC3E,MAAM,OAAO,GAAG,EAAE,CAAA;gBAClB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC7C,OAAO,CAAC,IAAI,CAAC,MAAM,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;gBACvE,CAAC;gBACD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBAC3C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,yFAAyF;gBACzF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,KAAK,CAAA;YAChD,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,SAAS,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;YACvF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;YAC9B,OAAO,CAAC,IAAI,EAAE,CAAA;YAEd,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC1C,OAAM;YACR,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;YAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACrF,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAChD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBAC9E,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAA;YACzB,IAAI,aAAa;gBAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,aAAa,EAAE,CAAC,CAAA;YACjE,OAAO,CAAC,GAAG,EAAE,CAAA;QACf,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,YAAY;KACT,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,cAAc,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;KACvE,cAAc,CAAC,WAAW,EAAE,kBAAkB,CAAC;KAC/C,cAAc,CAAC,gBAAgB,EAAE,qHAAqH,CAAC;KACvJ,MAAM,CAAC,uBAAuB,EAAE,oDAAoD,CAAC;KACrF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAA;IAE1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAEnE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YACnE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,GAAG,sBAAsB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,MAAM,MAAM,CAAC,KAAK,CAAC,eAAe,SAAS,CAAC,EAAE,WAAW,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACxG,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;YACzE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,GAAG,+BAA+B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACrG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,MAAM,MAAM,CAAC,KAAK,CAAC,eAAe,SAAS,CAAC,EAAE,oBAAoB,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACjH,CAAC;QAED,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IACzD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,YAAY;KACT,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8BAA8B,CAAC;KAC3C,cAAc,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;KACvE,cAAc,CAAC,WAAW,EAAE,kBAAkB,CAAC;KAC/C,MAAM,CAAC,uBAAuB,EAAE,oDAAoD,CAAC;KACrF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAA;IAE9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAEnE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,MAAM,CAAC,KAAK,CAAC,eAAe,SAAS,CAAC,EAAE,WAAW,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QACnG,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,CAAC,KAAK,CAAC,eAAe,SAAS,CAAC,EAAE,oBAAoB,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QAC5G,CAAC;QAED,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAC/C,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,YAAY;KACT,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,qCAAqC,CAAC;KAClD,cAAc,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;KACvE,cAAc,CAAC,eAAe,EAAE,SAAS,CAAC;KAC1C,cAAc,CAAC,eAAe,EAAE,+CAA+C,CAAC;KAChF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAA;IAEhD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAEnE,IAAI,UAAU,GAAkB,IAAI,CAAA;QACpC,IAAI,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YAC7E,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,CAAA;QACzC,CAAC;QAED,MAAM,MAAM,CAAC,KAAK,CAAC,eAAe,SAAS,CAAC,EAAE,oBAAoB,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;QAEtG,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,oBAAoB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAA;QAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAA;IAC1C,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,YAAY;KACT,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,qDAAqD,CAAC;KAClE,cAAc,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;KACvE,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC;KACtC,MAAM,CAAC,qBAAqB,EAAE,WAAW,CAAC;KAC1C,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAA;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAA;IAE/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAEnE,MAAM,IAAI,GAA2B,EAAE,CAAA;QACvC,IAAI,OAAO,CAAC,KAAK;YAAQ,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QACnD,IAAI,OAAO,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QAE/D,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,EAAE,oBAAoB,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;QAEnF,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAChD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,YAAY;KACT,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,cAAc,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;KACvE,cAAc,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;KAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAA;IAEtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QACnE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC9E,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;QAErE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,eAAe,SAAS,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,cAAc,CAAC,CAAA;QAChG,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;QAChC,OAAO,CAAC,IAAI,EAAE,CAAA;QAEd,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAA;QAC3D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,YAAY,wBAAwB,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAA;QACpG,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,iCAAiC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,iFAAiF;AAEjF,YAAY;KACT,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,6FAA6F,CAAC;KAC1G,cAAc,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;KACvE,cAAc,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;KAC9D,cAAc,CAAC,uBAAuB,EAAE,0CAA0C,CAAC;KACnF,cAAc,CAAC,iBAAiB,EAAE,6DAA6D,CAAC;KAChG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAA;IAEpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QACnE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC9E,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;QAErE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,eAAe,SAAS,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,mBAAmB,EAC/D,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,CAC5D,CAAA;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;QAChC,OAAO,CAAC,IAAI,EAAE,CAAA;QAEd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,oCAAoC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;QACtE,OAAO,CAAC,GAAG,EAAE,CAAA;IACf,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ium:code-audit
|
|
3
|
+
description: Audit an existing codebase for quality and risk — tech debt, security observations, fragile/high-risk areas, test-coverage gaps, and dependency risks — and write a severity-rated audit report to a Contextium context library. This is a quality/risk review, not context documentation; for mapping a project's structure, AI tooling, and a Contextium migration plan, use /ium:map-existing instead. TRIGGER when user says things like: "audit my code", "audit my codebase", "do a code audit", "review code quality", "find problems in my code", "what's wrong with my code", "find tech debt", "review my code for issues", "check my code for security issues", "security review of my code", "find risky code", "where are the bugs", "review code health", "assess code quality", "find fragile code", "what needs fixing", "code quality report", "where is the technical debt", "check for vulnerabilities in my code".
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Bash
|
|
6
|
+
- Glob
|
|
7
|
+
- Grep
|
|
8
|
+
- Read
|
|
9
|
+
- AskUserQuestion
|
|
10
|
+
- mcp__contextium__list_workspaces
|
|
11
|
+
- mcp__contextium__list_context_libraries
|
|
12
|
+
- mcp__contextium__list_workflows
|
|
13
|
+
- mcp__contextium__load_workflow
|
|
14
|
+
- mcp__contextium__create_context_library
|
|
15
|
+
- mcp__contextium__create_file
|
|
16
|
+
- mcp__contextium__update_file
|
|
17
|
+
- mcp__contextium__list_files
|
|
18
|
+
- mcp__contextium__get_file
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
<objective>
|
|
22
|
+
Audit an existing codebase for quality and risk, and write a severity-rated report to a Contextium context library. Unlike /ium:map-existing (which documents what exists and how it's structured), this skill is a critical review: it surfaces tech debt, security observations, fragile high-risk areas, test-coverage gaps, and dependency risks — each finding rated by severity with a concrete location and a recommended fix. The report gives a human or an agent a prioritised list of what to fix and why it matters.
|
|
23
|
+
</objective>
|
|
24
|
+
|
|
25
|
+
<mode-detection>
|
|
26
|
+
Run once at the start, silently:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
command -v contextium &>/dev/null && echo "cli" || echo "no-cli"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
- If `cli`: use CLI commands throughout.
|
|
33
|
+
- If `no-cli`: use MCP tools throughout.
|
|
34
|
+
- If neither: tell the user "Contextium doesn't appear to be installed." and stop.
|
|
35
|
+
</mode-detection>
|
|
36
|
+
|
|
37
|
+
<process>
|
|
38
|
+
|
|
39
|
+
<step name="check_auth">
|
|
40
|
+
**CLI only.** Run silently:
|
|
41
|
+
```bash
|
|
42
|
+
contextium whoami 2>/dev/null | grep -E "Token:|Name:" || echo "unauthenticated"
|
|
43
|
+
```
|
|
44
|
+
If unauthenticated or token expired, tell the user to run `contextium login` and stop.
|
|
45
|
+
|
|
46
|
+
MCP users are already authenticated — skip.
|
|
47
|
+
</step>
|
|
48
|
+
|
|
49
|
+
<step name="choose_focus">
|
|
50
|
+
Ask what the audit should emphasise. Use AskUserQuestion:
|
|
51
|
+
|
|
52
|
+
- "Full audit (recommended)" — all dimensions: security, tech debt, fragility, testing, dependencies
|
|
53
|
+
- "Security-focused" — secrets, injection, auth/authorization, unsafe patterns, dependency CVEs
|
|
54
|
+
- "Tech-debt-focused" — TODO/FIXME backlog, complexity hotspots, dead code, incomplete features
|
|
55
|
+
|
|
56
|
+
Store the choice as `focus`. For `full`, run every pass. For the focused options, run the relevant passes but still include a brief note on the others.
|
|
57
|
+
</step>
|
|
58
|
+
|
|
59
|
+
<step name="select_library">
|
|
60
|
+
Determine where to write the audit report.
|
|
61
|
+
|
|
62
|
+
If a workflow is already loaded in this session, check whether any of its libraries have an obvious "audit", "quality", "codebase", or "technical" purpose. If yes, suggest it.
|
|
63
|
+
|
|
64
|
+
If no workflow is loaded:
|
|
65
|
+
|
|
66
|
+
**CLI:** `contextium library list --workspace <slug> 2>/dev/null`
|
|
67
|
+
**MCP:** call mcp__contextium__list_context_libraries
|
|
68
|
+
|
|
69
|
+
Use AskUserQuestion:
|
|
70
|
+
- Present existing library names
|
|
71
|
+
- "Create a new library for this (recommended: 'Code Audit')"
|
|
72
|
+
|
|
73
|
+
If creating new: default name is "Code Audit". Create it:
|
|
74
|
+
|
|
75
|
+
**CLI:** `contextium library create "<name>" --workspace <slug>`
|
|
76
|
+
**MCP:** call mcp__contextium__create_context_library
|
|
77
|
+
|
|
78
|
+
Store the target library ID as `target_library_id`.
|
|
79
|
+
</step>
|
|
80
|
+
|
|
81
|
+
<step name="check_existing">
|
|
82
|
+
List files in the target library and look for `code-audit.md`. If it exists, ask:
|
|
83
|
+
|
|
84
|
+
"I found an existing audit report in this library. Overwrite it, or write a dated copy?"
|
|
85
|
+
|
|
86
|
+
Use AskUserQuestion:
|
|
87
|
+
- "Overwrite the existing report"
|
|
88
|
+
- "Write a dated copy (code-audit-[date].md)"
|
|
89
|
+
- "Cancel"
|
|
90
|
+
</step>
|
|
91
|
+
|
|
92
|
+
<step name="orient">
|
|
93
|
+
Silently orient to the project before auditing:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
ls -la 2>/dev/null | head -40
|
|
97
|
+
ls package.json requirements.txt Cargo.toml go.mod pyproject.toml composer.json 2>/dev/null
|
|
98
|
+
ls -d src/ app/ lib/ pkg/ internal/ api/ 2>/dev/null
|
|
99
|
+
pwd
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Do not show this output. Use it to focus the passes that follow.
|
|
103
|
+
|
|
104
|
+
Tell the user:
|
|
105
|
+
```
|
|
106
|
+
Auditing codebase...
|
|
107
|
+
|
|
108
|
+
○ Security
|
|
109
|
+
○ Tech debt & dead code
|
|
110
|
+
○ Fragile / high-risk areas
|
|
111
|
+
○ Test coverage gaps
|
|
112
|
+
○ Dependency risks
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Update each `○` to `✓` as each pass completes. Run only the passes required by `focus`.
|
|
116
|
+
</step>
|
|
117
|
+
|
|
118
|
+
<step name="pass_security">
|
|
119
|
+
**Security observations**
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Hardcoded secrets / credentials (patterns only — never print real values)
|
|
123
|
+
grep -rnE "(api[_-]?key|secret|password|token|private[_-]?key|access[_-]?key)\s*[:=]" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.py" . 2>/dev/null | grep -v node_modules | grep -viE "process\.env|import|require|example|placeholder|\.d\.ts" | head -40
|
|
124
|
+
# Dangerous sinks
|
|
125
|
+
grep -rnE "eval\(|child_process|exec\(|dangerouslySetInnerHTML|innerHTML\s*=|pickle\.loads|yaml\.load\(|os\.system" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.py" . 2>/dev/null | grep -v node_modules | head -40
|
|
126
|
+
# Raw SQL string interpolation (injection risk)
|
|
127
|
+
grep -rnE "(query|execute)\(.*\$\{|SELECT .*\+ |f\"SELECT" --include="*.ts" --include="*.js" --include="*.py" . 2>/dev/null | grep -v node_modules | head -30
|
|
128
|
+
# Disabled TLS / verification
|
|
129
|
+
grep -rnE "rejectUnauthorized\s*:\s*false|verify\s*=\s*False|NODE_TLS_REJECT_UNAUTHORIZED" . 2>/dev/null | grep -v node_modules | head -20
|
|
130
|
+
# .env committed?
|
|
131
|
+
git ls-files 2>/dev/null | grep -E "^\.env$|/\.env$" | head
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Assess: secrets in source, injection-prone queries, unsafe deserialization/eval, missing input validation on entry points, disabled TLS, secrets that should be in env. NEVER print the secret values — reference the file:line and describe the pattern only.
|
|
135
|
+
</step>
|
|
136
|
+
|
|
137
|
+
<step name="pass_tech_debt">
|
|
138
|
+
**Tech debt & dead code**
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
grep -rnE "TODO|FIXME|HACK|XXX|TEMP|@deprecated" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.py" . 2>/dev/null | grep -v node_modules | head -60
|
|
142
|
+
grep -rnE "throw new Error\(.*not implemented|TODO.*implement|raise NotImplementedError" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.py" . 2>/dev/null | grep -v node_modules | head -30
|
|
143
|
+
# Commented-out code blocks / console noise
|
|
144
|
+
grep -rnE "console\.log|print\(|debugger" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.py" . 2>/dev/null | grep -v node_modules | grep -v test | wc -l
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Assess: volume and age of TODO/FIXME backlog, incomplete/stubbed features, leftover debug output, obviously dead or commented-out code.
|
|
148
|
+
</step>
|
|
149
|
+
|
|
150
|
+
<step name="pass_fragility">
|
|
151
|
+
**Fragile / high-risk areas**
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# Largest files = complexity hotspots
|
|
155
|
+
find . \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.py" \) 2>/dev/null | grep -v node_modules | grep -v dist | xargs wc -l 2>/dev/null | sort -rn | head -20
|
|
156
|
+
# Functions that are clearly doing too much (rough heuristic — deeply nested)
|
|
157
|
+
grep -rcE "if |for |while |switch " --include="*.ts" --include="*.js" . 2>/dev/null | grep -v node_modules | sort -t: -k2 -rn | head -15
|
|
158
|
+
# Hardcoded environment assumptions
|
|
159
|
+
grep -rnE "localhost|127\.0\.0\.1|http://" --include="*.ts" --include="*.js" --include="*.py" . 2>/dev/null | grep -v node_modules | grep -v test | head -20
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Assess: oversized files/functions, deeply nested logic, hardcoded hosts/ports/paths that break across environments, modules with many responsibilities. For each, note why it's risky to modify and how to reduce the risk.
|
|
163
|
+
</step>
|
|
164
|
+
|
|
165
|
+
<step name="pass_testing">
|
|
166
|
+
**Test coverage gaps**
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
cat jest.config.* vitest.config.* pytest.ini setup.cfg .nycrc* 2>/dev/null
|
|
170
|
+
find . \( -name "*.test.*" -o -name "*.spec.*" -o -path "*/__tests__/*" \) 2>/dev/null | grep -v node_modules | wc -l
|
|
171
|
+
# Source files vs test files ratio
|
|
172
|
+
find . \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.py" \) 2>/dev/null | grep -v node_modules | grep -vE "test|spec|__tests__" | wc -l
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Assess: overall test-to-source ratio, whether a coverage threshold is configured, and which critical areas (auth, payments, data mutations, entry points found in the orient step) clearly have no tests.
|
|
176
|
+
</step>
|
|
177
|
+
|
|
178
|
+
<step name="pass_dependencies">
|
|
179
|
+
**Dependency risks**
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
cat package.json 2>/dev/null | grep -A 100 '"dependencies"'
|
|
183
|
+
npm outdated 2>/dev/null | head -30 || true
|
|
184
|
+
npm audit --omit=dev 2>/dev/null | tail -20 || true
|
|
185
|
+
cat requirements.txt pyproject.toml Cargo.toml go.mod 2>/dev/null
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Assess: known-vulnerable packages (from `npm audit`), significantly outdated majors, deprecated packages, and unpinned/loose version ranges on security-sensitive dependencies. If `npm audit`/`npm outdated` produced nothing (no lockfile, non-npm project), note that and assess from the manifest only.
|
|
189
|
+
</step>
|
|
190
|
+
|
|
191
|
+
<step name="write_report">
|
|
192
|
+
Write a single `code-audit.md` to the target library. Every finding MUST reference a `file:line` and carry a severity: **Critical / High / Medium / Low**.
|
|
193
|
+
|
|
194
|
+
```markdown
|
|
195
|
+
# Code Audit
|
|
196
|
+
**Audit Date:** [today] **Focus:** [full | security | tech-debt] **Scope:** [project name / path]
|
|
197
|
+
|
|
198
|
+
## Summary
|
|
199
|
+
| Severity | Count |
|
|
200
|
+
|----------|-------|
|
|
201
|
+
| Critical | [n] |
|
|
202
|
+
| High | [n] |
|
|
203
|
+
| Medium | [n] |
|
|
204
|
+
| Low | [n] |
|
|
205
|
+
|
|
206
|
+
[2–3 sentence overall assessment — the headline risks and overall health.]
|
|
207
|
+
|
|
208
|
+
## Critical & High Findings
|
|
209
|
+
| Severity | Area | Finding | Location | Recommended Fix |
|
|
210
|
+
|----------|------|---------|----------|-----------------|
|
|
211
|
+
| Critical | Security | [what & why it matters] | `src/path.ts:42` | [concrete fix] |
|
|
212
|
+
| High | [area] | [finding] | `path:line` | [fix] |
|
|
213
|
+
|
|
214
|
+
## Security
|
|
215
|
+
[findings — secrets, injection, unsafe sinks, TLS, validation gaps. Patterns only, never secret values.]
|
|
216
|
+
|
|
217
|
+
## Tech Debt & Dead Code
|
|
218
|
+
[TODO/FIXME backlog summary, incomplete features, debug leftovers, dead code — with locations.]
|
|
219
|
+
|
|
220
|
+
## Fragile / High-Risk Areas
|
|
221
|
+
[complexity hotspots, oversized files/functions, hardcoded env assumptions — why risky, how to modify safely.]
|
|
222
|
+
|
|
223
|
+
## Test Coverage Gaps
|
|
224
|
+
[test-to-source ratio, missing threshold, critical untested areas.]
|
|
225
|
+
|
|
226
|
+
## Dependency Risks
|
|
227
|
+
[vulnerable / outdated / deprecated / loosely-pinned packages — with versions.]
|
|
228
|
+
|
|
229
|
+
## Recommended Remediation Order
|
|
230
|
+
1. [highest-leverage fix first, with reasoning]
|
|
231
|
+
2. ...
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
**CLI:** `cat << 'EOF' | contextium new <library-name> -t "Code Audit" -p "code-audit.md" --stdin -w <workspace>`
|
|
235
|
+
**MCP:** call mcp__contextium__create_file (or update_file if overwriting).
|
|
236
|
+
</step>
|
|
237
|
+
|
|
238
|
+
<step name="summary">
|
|
239
|
+
Show the final summary:
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
✓ Code audit complete (focus: <full | security | tech-debt>)
|
|
243
|
+
|
|
244
|
+
Report written to "<library name>" → code-audit.md
|
|
245
|
+
|
|
246
|
+
Critical: <n> High: <n> Medium: <n> Low: <n>
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Then list the top 3–5 highest-severity findings in one line each, with `file:line`. Then ask:
|
|
250
|
+
|
|
251
|
+
"Want me to start fixing these — beginning with the Critical/High items — or just leave the report?"
|
|
252
|
+
|
|
253
|
+
Do not auto-start fixes; wait for confirmation.
|
|
254
|
+
</step>
|
|
255
|
+
|
|
256
|
+
</process>
|
|
257
|
+
|
|
258
|
+
<rules>
|
|
259
|
+
- This is a read-and-report skill — never modify source files unless the user explicitly asks you to start fixing
|
|
260
|
+
- Never print secret values, tokens, or credentials — reference the `file:line` and describe the pattern only
|
|
261
|
+
- Never read `.env` contents — only flag if a `.env` appears to be committed to git
|
|
262
|
+
- Every finding must carry a severity and a `file:line` location — no vague observations
|
|
263
|
+
- If a pass finds nothing in its dimension, state "No [X] issues found" rather than inventing findings
|
|
264
|
+
- Severity must reflect real impact: Critical = exploitable/data-loss now; High = serious but bounded; Medium = should fix; Low = nice-to-have
|
|
265
|
+
- Only one current `code-audit.md` per library unless the user asked for a dated copy
|
|
266
|
+
- Never show raw bash/audit output to the user — only progress indicators, the summary, and top findings
|
|
267
|
+
</rules>
|
package/skills/ium/help.md
CHANGED
|
@@ -21,9 +21,6 @@ GETTING STARTED
|
|
|
21
21
|
AI tools, docs, and a Contextium migration plan. Run
|
|
22
22
|
this first on any existing project.
|
|
23
23
|
|
|
24
|
-
/ium:scan-existing Scan codebase and write analysis docs to Contextium —
|
|
25
|
-
stack, architecture, conventions, concerns.
|
|
26
|
-
|
|
27
24
|
/ium:new-project Set up a new Contextium project from scratch —
|
|
28
25
|
auth, workspace, libraries, agents, skills, workflow
|
|
29
26
|
|
|
@@ -34,6 +31,8 @@ WORKSPACE
|
|
|
34
31
|
/ium:status Health dashboard — auth, workspace, cache state
|
|
35
32
|
|
|
36
33
|
CONTENT
|
|
34
|
+
/ium:code-audit Audit a codebase for quality & risk — security, tech
|
|
35
|
+
debt, fragile areas, coverage gaps, dependency risks
|
|
37
36
|
/ium:run Run an exact contextium CLI command (non-interactive)
|
|
38
37
|
/ium:new Create a new file in a context library
|
|
39
38
|
/ium:create Create an agent, skill, or workflow interactively
|
|
@@ -18,7 +18,7 @@ allowed-tools:
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
20
|
<objective>
|
|
21
|
-
Map an existing development project across four domains in parallel — code & stack, AI tools & environment, knowledge & documentation, and Contextium migration planning. The output tells any agent exactly what exists, how the project is set up with AI tools, what context lives in .ctx transcript files, and what should be migrated into Contextium libraries.
|
|
21
|
+
Map an existing development project across four domains in parallel — code & stack, AI tools & environment, knowledge & documentation, and Contextium migration planning. The output tells any agent exactly what exists, how the project is set up with AI tools, what context lives in .ctx transcript files, and what should be migrated into Contextium libraries. Designed specifically to feed /ium:new-project with a complete picture of the development environment. For a quality/risk review of the code itself — security, tech debt, fragile areas, dependency risks — use /ium:code-audit instead.
|
|
22
22
|
</objective>
|
|
23
23
|
|
|
24
24
|
<mode-detection>
|
|
@@ -93,12 +93,12 @@ If no: continue to project description with a clean slate.
|
|
|
93
93
|
</step>
|
|
94
94
|
|
|
95
95
|
<step name="codebase_scan_check">
|
|
96
|
-
Silently check whether any library in the selected workspace contains
|
|
96
|
+
Silently check whether any library in the selected workspace contains project-map documents from `/ium:map-existing`. Look for files named `project-map.md`, `stack.md`, `migration-plan.md` in any library.
|
|
97
97
|
|
|
98
98
|
**CLI:** `contextium library list --workspace <slug> 2>/dev/null` then check file lists per library
|
|
99
99
|
**MCP:** call mcp__contextium__list_context_libraries, then mcp__contextium__list_files for each
|
|
100
100
|
|
|
101
|
-
If found, read `
|
|
101
|
+
If found, read `project-map.md` and `stack.md` silently to understand what already exists. Store this as `has_codebase_scan = true` and `codebase_library = <library name>`. This will be used later to pre-populate validated capabilities in the project state.
|
|
102
102
|
|
|
103
103
|
If not found, set `has_codebase_scan = false` and continue.
|
|
104
104
|
|
|
@@ -94,12 +94,12 @@ If no: continue to project description with a clean slate.
|
|
|
94
94
|
</step>
|
|
95
95
|
|
|
96
96
|
<step name="codebase_scan_check">
|
|
97
|
-
Silently check whether any library in the selected workspace contains
|
|
97
|
+
Silently check whether any library in the selected workspace contains project-map documents from `/ium:map-existing`. Look for files named `project-map.md`, `stack.md`, `migration-plan.md` in any library.
|
|
98
98
|
|
|
99
99
|
**CLI:** `contextium library list --workspace <slug> 2>/dev/null` then check file lists per library
|
|
100
100
|
**MCP:** call mcp__contextium__list_context_libraries, then mcp__contextium__list_files for each
|
|
101
101
|
|
|
102
|
-
If found, read `
|
|
102
|
+
If found, read `project-map.md` and `stack.md` silently to understand what already exists. Store this as `has_codebase_scan = true` and `codebase_library = <library name>`. This will be used later to pre-populate validated capabilities in the project state.
|
|
103
103
|
|
|
104
104
|
If not found, set `has_codebase_scan = false` and continue.
|
|
105
105
|
|
|
@@ -1,422 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ium:scan-existing
|
|
3
|
-
description: Scan an existing codebase and write analysis documents to a Contextium context library — tech stack, architecture, structure, conventions, and concerns. Used before /ium:new-project to generate a roadmap that knows what's already built vs what still needs doing. TRIGGER when user says things like: "scan my codebase", "analyse my code", "document my code structure", "write up my architecture", "create docs for my codebase", "deep scan my code", "analyse my tech stack", "write down what my code does", "document my conventions", "map my code architecture", "record my codebase for AI context", "capture my codebase in Contextium". NOTE: prefer /ium:map-existing if the user wants a broader scan including AI tools, docs, and a migration plan — use this skill for code-only deep scans.
|
|
4
|
-
allowed-tools:
|
|
5
|
-
- Bash
|
|
6
|
-
- Glob
|
|
7
|
-
- Grep
|
|
8
|
-
- Read
|
|
9
|
-
- mcp__contextium__list_workspaces
|
|
10
|
-
- mcp__contextium__list_context_libraries
|
|
11
|
-
- mcp__contextium__list_workflows
|
|
12
|
-
- mcp__contextium__load_workflow
|
|
13
|
-
- mcp__contextium__create_context_library
|
|
14
|
-
- mcp__contextium__create_file
|
|
15
|
-
- mcp__contextium__update_file
|
|
16
|
-
- mcp__contextium__list_files
|
|
17
|
-
- mcp__contextium__get_file
|
|
18
|
-
- AskUserQuestion
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
<objective>
|
|
22
|
-
Analyse an existing codebase across five domains and write the findings as structured documents to a Contextium context library. The output gives any agent full context about what exists, how it's built, and what's already working — without re-analysing the codebase every session. When followed by /ium:new-project, the roadmap will know what's already done and only plan phases for what's missing.
|
|
23
|
-
</objective>
|
|
24
|
-
|
|
25
|
-
<mode-detection>
|
|
26
|
-
Run once at the start, silently:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
command -v contextium &>/dev/null && echo "cli" || echo "no-cli"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
- If `cli`: use CLI commands throughout.
|
|
33
|
-
- If `no-cli`: use MCP tools throughout.
|
|
34
|
-
- If neither: tell the user "Contextium doesn't appear to be installed." and stop.
|
|
35
|
-
</mode-detection>
|
|
36
|
-
|
|
37
|
-
<process>
|
|
38
|
-
|
|
39
|
-
<step name="check_auth">
|
|
40
|
-
**CLI only.** Run silently:
|
|
41
|
-
```bash
|
|
42
|
-
contextium whoami 2>/dev/null | grep -E "Token:|Name:" || echo "unauthenticated"
|
|
43
|
-
```
|
|
44
|
-
If unauthenticated or token expired, tell the user to run `contextium login` and stop.
|
|
45
|
-
|
|
46
|
-
MCP users are already authenticated — skip.
|
|
47
|
-
</step>
|
|
48
|
-
|
|
49
|
-
<step name="select_library">
|
|
50
|
-
Determine where to write the codebase documents.
|
|
51
|
-
|
|
52
|
-
If a workflow is already loaded in this session, check whether any of its libraries have an obvious "codebase" or "technical" purpose. If yes, suggest it. If not, ask which library to use.
|
|
53
|
-
|
|
54
|
-
If no workflow is loaded:
|
|
55
|
-
|
|
56
|
-
**CLI:** `contextium library list --workspace <slug> 2>/dev/null`
|
|
57
|
-
**MCP:** call mcp__contextium__list_context_libraries
|
|
58
|
-
|
|
59
|
-
Ask: "Which library should I write the codebase analysis to? Or I can create a new one — for example, 'Codebase Analysis'."
|
|
60
|
-
|
|
61
|
-
Use AskUserQuestion:
|
|
62
|
-
- Present existing library names
|
|
63
|
-
- "Create a new library for this"
|
|
64
|
-
|
|
65
|
-
If creating new: use the name the user provides, or default to "[Project Name] Codebase". Create it:
|
|
66
|
-
|
|
67
|
-
**CLI:** `contextium library create "<name>" --workspace <slug>`
|
|
68
|
-
**MCP:** call mcp__contextium__create_context_library
|
|
69
|
-
|
|
70
|
-
Store the target library ID as `target_library_id`.
|
|
71
|
-
</step>
|
|
72
|
-
|
|
73
|
-
<step name="check_existing">
|
|
74
|
-
Check whether any of the five analysis documents already exist in the target library by listing its files and looking for: `stack.md`, `architecture.md`, `structure.md`, `conventions.md`, `concerns.md`.
|
|
75
|
-
|
|
76
|
-
If any exist, ask:
|
|
77
|
-
|
|
78
|
-
"I found existing analysis documents in this library. What would you like to do?"
|
|
79
|
-
|
|
80
|
-
Use AskUserQuestion:
|
|
81
|
-
- "Refresh all documents (overwrite)"
|
|
82
|
-
- "Update specific documents only"
|
|
83
|
-
- "Cancel"
|
|
84
|
-
|
|
85
|
-
If "Update specific": ask which ones to update. Only run analysis passes for those.
|
|
86
|
-
If "Refresh all" or no existing docs: run all five passes.
|
|
87
|
-
</step>
|
|
88
|
-
|
|
89
|
-
<step name="orient">
|
|
90
|
-
Before analysing, silently orient yourself to the project. Run:
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
ls -la 2>/dev/null | head -40
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
Then look for the project's primary language and framework indicators:
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
ls package.json requirements.txt Cargo.toml go.mod pyproject.toml composer.json 2>/dev/null
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
ls -d src/ app/ lib/ pkg/ internal/ api/ 2>/dev/null
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
Do not show this output to the user. Use it to focus the analysis passes that follow.
|
|
107
|
-
|
|
108
|
-
Tell the user:
|
|
109
|
-
```
|
|
110
|
-
Scanning codebase — this will take a moment.
|
|
111
|
-
|
|
112
|
-
○ Tech stack & integrations
|
|
113
|
-
○ Architecture & structure
|
|
114
|
-
○ Conventions & testing
|
|
115
|
-
○ Concerns & tech debt
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
Update each `○` to `✓` as each pass completes.
|
|
119
|
-
</step>
|
|
120
|
-
|
|
121
|
-
<step name="pass_1_tech">
|
|
122
|
-
**Tech Stack & Integrations**
|
|
123
|
-
|
|
124
|
-
Analyse and write `stack.md`:
|
|
125
|
-
|
|
126
|
-
Read dependency manifests:
|
|
127
|
-
```bash
|
|
128
|
-
cat package.json 2>/dev/null
|
|
129
|
-
cat requirements.txt pyproject.toml 2>/dev/null
|
|
130
|
-
cat Cargo.toml go.mod 2>/dev/null
|
|
131
|
-
cat composer.json 2>/dev/null
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
Read config files:
|
|
135
|
-
```bash
|
|
136
|
-
cat tsconfig.json 2>/dev/null
|
|
137
|
-
ls *.config.* 2>/dev/null
|
|
138
|
-
cat .nvmrc .node-version .python-version 2>/dev/null
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
Check for external service patterns:
|
|
142
|
-
```bash
|
|
143
|
-
grep -rn "process\.env\." src/ app/ lib/ 2>/dev/null | grep -v "node_modules" | head -40
|
|
144
|
-
cat .env.example .env.sample 2>/dev/null
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
Produce `stack.md` in this structure:
|
|
148
|
-
|
|
149
|
-
```markdown
|
|
150
|
-
# Tech Stack
|
|
151
|
-
**Analysis Date:** [today]
|
|
152
|
-
|
|
153
|
-
## Runtime & Language
|
|
154
|
-
[language, version, runtime]
|
|
155
|
-
|
|
156
|
-
## Frameworks & Libraries
|
|
157
|
-
[list key dependencies with versions and purpose]
|
|
158
|
-
|
|
159
|
-
## Build & Tooling
|
|
160
|
-
[build system, bundler, linter, formatter, type checker]
|
|
161
|
-
|
|
162
|
-
## External Services & Integrations
|
|
163
|
-
[APIs, databases, auth providers, storage, email — with env var names]
|
|
164
|
-
|
|
165
|
-
## Platform & Deployment
|
|
166
|
-
[inferred from config files — Docker, Vercel, Railway, etc.]
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
Every item must reference the actual config file or env var it was found in. No vague summaries.
|
|
170
|
-
|
|
171
|
-
Write to Contextium:
|
|
172
|
-
**CLI:** `cat << 'EOF' | contextium new <library-name> -t "Tech Stack" -p "stack.md" --stdin -w <workspace>`
|
|
173
|
-
**MCP:** call mcp__contextium__create_file (or update_file if refreshing)
|
|
174
|
-
|
|
175
|
-
Update the progress indicator to `✓ Tech stack & integrations`.
|
|
176
|
-
</step>
|
|
177
|
-
|
|
178
|
-
<step name="pass_2_architecture">
|
|
179
|
-
**Architecture & Structure**
|
|
180
|
-
|
|
181
|
-
Analyse and write `architecture.md` and `structure.md`:
|
|
182
|
-
|
|
183
|
-
Get the full directory tree:
|
|
184
|
-
```bash
|
|
185
|
-
find . -type f -not -path "*/node_modules/*" -not -path "*/.git/*" -not -path "*/dist/*" -not -path "*/.next/*" -not -path "*/build/*" | head -120
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
Find entry points:
|
|
189
|
-
```bash
|
|
190
|
-
ls src/index.* src/main.* src/app.* src/server.* app/page.* app/layout.* 2>/dev/null
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
Sample key files to understand patterns:
|
|
194
|
-
```bash
|
|
195
|
-
head -60 $(ls src/index.* src/main.* src/app.* 2>/dev/null | head -3) 2>/dev/null
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
Produce `architecture.md`:
|
|
199
|
-
|
|
200
|
-
```markdown
|
|
201
|
-
# Architecture
|
|
202
|
-
**Analysis Date:** [today]
|
|
203
|
-
|
|
204
|
-
## Pattern
|
|
205
|
-
[MVC / layered / feature-based / monolith / microservices / etc — with evidence]
|
|
206
|
-
|
|
207
|
-
## Layers
|
|
208
|
-
[list each layer: what it contains, what it depends on, example files]
|
|
209
|
-
|
|
210
|
-
## Data Flow
|
|
211
|
-
[how a typical request flows through the system — entry point → handler → service → data layer]
|
|
212
|
-
|
|
213
|
-
## Key Abstractions
|
|
214
|
-
[important interfaces, base classes, shared utilities — with file paths]
|
|
215
|
-
|
|
216
|
-
## Error Handling
|
|
217
|
-
[how errors propagate — try/catch, result types, middleware, etc.]
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
Produce `structure.md`:
|
|
221
|
-
|
|
222
|
-
```markdown
|
|
223
|
-
# Structure
|
|
224
|
-
**Analysis Date:** [today]
|
|
225
|
-
|
|
226
|
-
## Directory Map
|
|
227
|
-
[annotated directory tree showing purpose of each folder]
|
|
228
|
-
|
|
229
|
-
## Key File Locations
|
|
230
|
-
| Purpose | Path |
|
|
231
|
-
|---------|------|
|
|
232
|
-
| Entry point | `src/index.ts` |
|
|
233
|
-
| Route definitions | `src/routes/` |
|
|
234
|
-
| [etc] | [etc] |
|
|
235
|
-
|
|
236
|
-
## Where to Add New Code
|
|
237
|
-
[specific guidance: "New API routes go in src/routes/, follow the pattern in src/routes/users.ts"]
|
|
238
|
-
|
|
239
|
-
## Naming Conventions
|
|
240
|
-
[file naming, folder naming, component naming patterns with examples]
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
Write both files to Contextium. Update progress to `✓ Architecture & structure`.
|
|
244
|
-
</step>
|
|
245
|
-
|
|
246
|
-
<step name="pass_3_conventions">
|
|
247
|
-
**Conventions & Testing**
|
|
248
|
-
|
|
249
|
-
Analyse and write `conventions.md` and `testing.md`:
|
|
250
|
-
|
|
251
|
-
Read linting/formatting config:
|
|
252
|
-
```bash
|
|
253
|
-
cat .eslintrc* eslint.config.* .prettierrc* biome.json 2>/dev/null
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
Sample source files to extract conventions:
|
|
257
|
-
```bash
|
|
258
|
-
head -80 $(find src/ app/ lib/ -name "*.ts" -o -name "*.tsx" -o -name "*.js" 2>/dev/null | grep -v test | grep -v spec | head -5) 2>/dev/null
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
Check testing setup:
|
|
262
|
-
```bash
|
|
263
|
-
cat jest.config.* vitest.config.* pytest.ini setup.cfg 2>/dev/null
|
|
264
|
-
find . -name "*.test.*" -o -name "*.spec.*" 2>/dev/null | grep -v node_modules | head -20
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
Produce `conventions.md`:
|
|
268
|
-
|
|
269
|
-
```markdown
|
|
270
|
-
# Conventions
|
|
271
|
-
**Analysis Date:** [today]
|
|
272
|
-
|
|
273
|
-
## Naming
|
|
274
|
-
[variables, functions, classes, files, folders — with real examples from the codebase]
|
|
275
|
-
|
|
276
|
-
## Code Style
|
|
277
|
-
[formatting rules, import order, export patterns — reference linting config]
|
|
278
|
-
|
|
279
|
-
## Function Design
|
|
280
|
-
[pure vs stateful, async patterns, error handling style]
|
|
281
|
-
|
|
282
|
-
## State Management
|
|
283
|
-
[how state is managed — context, stores, props — with example file paths]
|
|
284
|
-
|
|
285
|
-
## Comments & Documentation
|
|
286
|
-
[what gets documented and how]
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
Produce `testing.md`:
|
|
290
|
-
|
|
291
|
-
```markdown
|
|
292
|
-
# Testing
|
|
293
|
-
**Analysis Date:** [today]
|
|
294
|
-
|
|
295
|
-
## Framework & Setup
|
|
296
|
-
[test runner, assertion library, config file location]
|
|
297
|
-
|
|
298
|
-
## File Organisation
|
|
299
|
-
[where tests live relative to source — colocated, __tests__, etc.]
|
|
300
|
-
|
|
301
|
-
## Test Structure
|
|
302
|
-
[describe/it patterns, setup/teardown conventions — with example from an existing test]
|
|
303
|
-
|
|
304
|
-
## Mocking Approach
|
|
305
|
-
[how dependencies are mocked — with example]
|
|
306
|
-
|
|
307
|
-
## Coverage
|
|
308
|
-
[what's covered, what's not, any coverage thresholds configured]
|
|
309
|
-
|
|
310
|
-
## How to Run Tests
|
|
311
|
-
[exact commands]
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
Write both files to Contextium. Update progress to `✓ Conventions & testing`.
|
|
315
|
-
</step>
|
|
316
|
-
|
|
317
|
-
<step name="pass_4_concerns">
|
|
318
|
-
**Concerns & Tech Debt**
|
|
319
|
-
|
|
320
|
-
Analyse and write `concerns.md`:
|
|
321
|
-
|
|
322
|
-
Find tech debt markers:
|
|
323
|
-
```bash
|
|
324
|
-
grep -rn "TODO\|FIXME\|HACK\|XXX\|TEMP\|@deprecated" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.py" . 2>/dev/null | grep -v node_modules | head -60
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
Find large/complex files:
|
|
328
|
-
```bash
|
|
329
|
-
find . -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.py" 2>/dev/null | grep -v node_modules | grep -v dist | xargs wc -l 2>/dev/null | sort -rn | head -20
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
Find empty stubs or incomplete implementations:
|
|
333
|
-
```bash
|
|
334
|
-
grep -rn "throw new Error.*not implemented\|TODO.*implement\|return null\|pass$" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.py" . 2>/dev/null | grep -v node_modules | head -30
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
Check for hardcoded values that should be config:
|
|
338
|
-
```bash
|
|
339
|
-
grep -rn "localhost\|127\.0\.0\.1\|hardcoded\|magic number" --include="*.ts" --include="*.js" . 2>/dev/null | grep -v node_modules | grep -v test | head -20
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
Produce `concerns.md`:
|
|
343
|
-
|
|
344
|
-
```markdown
|
|
345
|
-
# Concerns & Tech Debt
|
|
346
|
-
**Analysis Date:** [today]
|
|
347
|
-
|
|
348
|
-
## Tech Debt
|
|
349
|
-
| Issue | Location | Suggested Fix |
|
|
350
|
-
|-------|----------|---------------|
|
|
351
|
-
| [specific issue] | `src/path/file.ts:42` | [concrete fix approach] |
|
|
352
|
-
|
|
353
|
-
## Known Gaps / Incomplete Features
|
|
354
|
-
[stubs, TODOs marked as incomplete, features with placeholder implementations — file paths required]
|
|
355
|
-
|
|
356
|
-
## Fragile Areas
|
|
357
|
-
[files or patterns that are high-risk to modify — explain why and how to modify safely]
|
|
358
|
-
|
|
359
|
-
## Security Observations
|
|
360
|
-
[anything that looks like a security concern — never log secrets, only note patterns]
|
|
361
|
-
|
|
362
|
-
## Test Coverage Gaps
|
|
363
|
-
[areas with no tests that clearly need them]
|
|
364
|
-
|
|
365
|
-
## Dependencies to Watch
|
|
366
|
-
[outdated, deprecated, or high-risk dependencies found in package manifest]
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
Write to Contextium. Update progress to `✓ Concerns & tech debt`.
|
|
370
|
-
</step>
|
|
371
|
-
|
|
372
|
-
<step name="update_project_state">
|
|
373
|
-
If a `project-state.md` file exists in any library in the loaded workflow, read it and check the `## Phases` section.
|
|
374
|
-
|
|
375
|
-
For each phase whose described functionality clearly already exists in the codebase (based on what was found in the analysis), add a note under that phase:
|
|
376
|
-
|
|
377
|
-
```
|
|
378
|
-
> **Already built** — confirmed by codebase scan [date]
|
|
379
|
-
```
|
|
380
|
-
|
|
381
|
-
And update its status to "Complete" if the entire phase is done.
|
|
382
|
-
|
|
383
|
-
If no `project-state.md` exists yet, skip this step silently.
|
|
384
|
-
</step>
|
|
385
|
-
|
|
386
|
-
<step name="summary">
|
|
387
|
-
Show the final summary:
|
|
388
|
-
|
|
389
|
-
```
|
|
390
|
-
✓ Codebase scan complete
|
|
391
|
-
|
|
392
|
-
Documents written to "<library name>":
|
|
393
|
-
✓ stack.md — tech stack, dependencies, integrations
|
|
394
|
-
✓ architecture.md — patterns, layers, data flow
|
|
395
|
-
✓ structure.md — directory map, where to add new code
|
|
396
|
-
✓ conventions.md — naming, code style, patterns
|
|
397
|
-
✓ testing.md — test framework, structure, coverage
|
|
398
|
-
✓ concerns.md — tech debt, gaps, fragile areas
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
Then ask:
|
|
402
|
-
|
|
403
|
-
"Would you like to set up a new project plan now? Running /ium:new-project will use these documents to understand what's already built and only plan phases for what's missing."
|
|
404
|
-
|
|
405
|
-
Use AskUserQuestion:
|
|
406
|
-
- "Yes, run /ium:new-project now"
|
|
407
|
-
- "No, I'll do it later"
|
|
408
|
-
|
|
409
|
-
If yes: proceed with the /ium:new-project flow. The codebase analysis documents are now in the library and will be found automatically when the project state is being planned.
|
|
410
|
-
</step>
|
|
411
|
-
|
|
412
|
-
</process>
|
|
413
|
-
|
|
414
|
-
<rules>
|
|
415
|
-
- Never show raw bash output, file paths, or API responses to the user — only the progress indicators and final summary
|
|
416
|
-
- Never read `.env` file contents — only check for the file's existence and read `.env.example` or `.env.sample`
|
|
417
|
-
- Every finding in every document must reference a specific file path — no vague summaries
|
|
418
|
-
- If a pass fails silently (no files found, permission error), write what was found and note "insufficient data to analyse [area]" — never skip the document entirely
|
|
419
|
-
- Documents are written for future AI agents to consume, not as human prose — be specific, prescriptive, and grounded in actual file paths
|
|
420
|
-
- When refreshing, always use update_file not create_file to preserve file history in Contextium
|
|
421
|
-
- Only one set of codebase analysis documents should exist per library — never create duplicates
|
|
422
|
-
</rules>
|