ai-devkit 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/cli.js +8 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/init.d.ts.map +1 -1
  4. package/dist/commands/init.js +1 -1
  5. package/dist/commands/init.js.map +1 -1
  6. package/dist/commands/memory.d.ts +3 -0
  7. package/dist/commands/memory.d.ts.map +1 -0
  8. package/dist/commands/memory.js +53 -0
  9. package/dist/commands/memory.js.map +1 -0
  10. package/dist/commands/setup.d.ts +6 -0
  11. package/dist/commands/setup.d.ts.map +1 -0
  12. package/dist/commands/setup.js +112 -0
  13. package/dist/commands/setup.js.map +1 -0
  14. package/dist/lib/EnvironmentSelector.d.ts +1 -0
  15. package/dist/lib/EnvironmentSelector.d.ts.map +1 -1
  16. package/dist/lib/EnvironmentSelector.js +28 -0
  17. package/dist/lib/EnvironmentSelector.js.map +1 -1
  18. package/dist/lib/TemplateManager.d.ts +9 -0
  19. package/dist/lib/TemplateManager.d.ts.map +1 -1
  20. package/dist/lib/TemplateManager.js +50 -0
  21. package/dist/lib/TemplateManager.js.map +1 -1
  22. package/dist/templates/commands/capture-knowledge.md +55 -0
  23. package/dist/templates/commands/check-implementation.md +30 -0
  24. package/dist/templates/commands/code-review.md +90 -0
  25. package/dist/templates/commands/debug.md +54 -0
  26. package/dist/templates/commands/execute-plan.md +80 -0
  27. package/dist/templates/commands/new-requirement.md +136 -0
  28. package/dist/templates/commands/remember.md +27 -0
  29. package/dist/templates/commands/review-design.md +21 -0
  30. package/dist/templates/commands/review-requirements.md +19 -0
  31. package/dist/templates/commands/simplify-implementation.md +153 -0
  32. package/dist/templates/commands/update-planning.md +70 -0
  33. package/dist/templates/commands/writing-test.md +53 -0
  34. package/dist/templates/env/base.md +51 -0
  35. package/dist/templates/phases/deployment.md +72 -0
  36. package/dist/templates/phases/design.md +60 -0
  37. package/dist/templates/phases/implementation.md +65 -0
  38. package/dist/templates/phases/monitoring.md +80 -0
  39. package/dist/templates/phases/planning.md +60 -0
  40. package/dist/templates/phases/requirements.md +51 -0
  41. package/dist/templates/phases/testing.md +81 -0
  42. package/dist/templates/templates/commands/capture-knowledge.md +55 -0
  43. package/dist/templates/templates/commands/check-implementation.md +30 -0
  44. package/dist/templates/templates/commands/code-review.md +90 -0
  45. package/dist/templates/templates/commands/debug.md +54 -0
  46. package/dist/templates/templates/commands/execute-plan.md +80 -0
  47. package/dist/templates/templates/commands/new-requirement.md +136 -0
  48. package/dist/templates/templates/commands/remember.md +27 -0
  49. package/dist/templates/templates/commands/review-design.md +21 -0
  50. package/dist/templates/templates/commands/review-requirements.md +19 -0
  51. package/dist/templates/templates/commands/simplify-implementation.md +153 -0
  52. package/dist/templates/templates/commands/update-planning.md +70 -0
  53. package/dist/templates/templates/commands/writing-test.md +53 -0
  54. package/dist/templates/templates/env/base.md +51 -0
  55. package/dist/templates/templates/phases/deployment.md +72 -0
  56. package/dist/templates/templates/phases/design.md +60 -0
  57. package/dist/templates/templates/phases/implementation.md +65 -0
  58. package/dist/templates/templates/phases/monitoring.md +80 -0
  59. package/dist/templates/templates/phases/planning.md +60 -0
  60. package/dist/templates/templates/phases/requirements.md +51 -0
  61. package/dist/templates/templates/phases/testing.md +81 -0
  62. package/dist/types.d.ts +1 -0
  63. package/dist/types.d.ts.map +1 -1
  64. package/dist/types.js.map +1 -1
  65. package/dist/util/env.d.ts +2 -0
  66. package/dist/util/env.d.ts.map +1 -1
  67. package/dist/util/env.js +11 -0
  68. package/dist/util/env.js.map +1 -1
  69. package/package.json +4 -2
  70. package/project.json +29 -0
  71. package/templates/commands/capture-knowledge.md +5 -0
  72. package/templates/commands/check-implementation.md +5 -0
  73. package/templates/commands/code-review.md +5 -0
  74. package/templates/commands/debug.md +5 -0
  75. package/templates/commands/execute-plan.md +5 -0
  76. package/templates/commands/new-requirement.md +5 -0
  77. package/templates/commands/remember.md +27 -0
  78. package/templates/commands/review-design.md +6 -0
  79. package/templates/commands/review-requirements.md +6 -0
  80. package/templates/commands/simplify-implementation.md +5 -0
  81. package/templates/commands/update-planning.md +5 -0
  82. package/templates/commands/writing-test.md +5 -0
  83. package/CHANGELOG.md +0 -87
  84. package/README.md +0 -298
  85. package/web/.nojekyll +0 -2
  86. package/web/CNAME +0 -1
  87. package/web/README.md +0 -100
  88. package/web/app/favicon.ico +0 -0
  89. package/web/app/globals.css +0 -122
  90. package/web/app/layout.tsx +0 -106
  91. package/web/app/page.tsx +0 -119
  92. package/web/app/roadmap/page.tsx +0 -150
  93. package/web/app/robots.ts +0 -16
  94. package/web/app/sitemap.ts +0 -46
  95. package/web/app/vision/page.tsx +0 -49
  96. package/web/components/Footer.tsx +0 -81
  97. package/web/components/GitHubButton.tsx +0 -49
  98. package/web/components/GitHubStars.tsx +0 -27
  99. package/web/components/Header.tsx +0 -108
  100. package/web/components/MarkdownContent.tsx +0 -35
  101. package/web/components/SkipToContent.tsx +0 -11
  102. package/web/content/pages/vision.md +0 -44
  103. package/web/content/roadmap/1-web.md +0 -9
  104. package/web/content/roadmap/2-integrations.md +0 -7
  105. package/web/content/roadmap/3-cli-enhancements.md +0 -8
  106. package/web/content/roadmap/4-local-memory.md +0 -8
  107. package/web/eslint.config.mjs +0 -18
  108. package/web/lib/GitHubContext.tsx +0 -57
  109. package/web/lib/content/loader.ts +0 -152
  110. package/web/lib/content/types.ts +0 -37
  111. package/web/lib/utils.ts +0 -12
  112. package/web/next.config.ts +0 -11
  113. package/web/package-lock.json +0 -8837
  114. package/web/package.json +0 -34
  115. package/web/postcss.config.mjs +0 -7
  116. package/web/public/file.svg +0 -1
  117. package/web/public/globe.svg +0 -1
  118. package/web/public/next.svg +0 -1
  119. package/web/public/vercel.svg +0 -1
  120. package/web/public/window.svg +0 -1
package/dist/cli.js CHANGED
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const commander_1 = require("commander");
5
5
  const init_1 = require("./commands/init");
6
6
  const phase_1 = require("./commands/phase");
7
+ const setup_1 = require("./commands/setup");
8
+ const memory_1 = require("./commands/memory");
7
9
  const program = new commander_1.Command();
8
10
  program
9
11
  .name('ai-devkit')
@@ -20,5 +22,11 @@ program
20
22
  .command('phase [name]')
21
23
  .description('Add a specific phase template (requirements|design|planning|implementation|testing|deployment|monitoring)')
22
24
  .action(phase_1.phaseCommand);
25
+ program
26
+ .command('setup')
27
+ .description('Set up AI DevKit commands globally')
28
+ .option('-g, --global', 'Install commands to global environment folders')
29
+ .action(setup_1.setupCommand);
30
+ (0, memory_1.registerMemoryCommand)(program);
23
31
  program.parse();
24
32
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA8C;AAC9C,4CAAgD;AAEhD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,0CAA0C,CAAC;KACvD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,yBAAyB,EAAE,8CAA8C,CAAC;KACjF,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;KAC5C,MAAM,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;KAC/E,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,2GAA2G,CAAC;KACxH,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA8C;AAC9C,4CAAgD;AAChD,4CAAgD;AAChD,8CAA0D;AAE1D,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,0CAA0C,CAAC;KACvD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,yBAAyB,EAAE,8CAA8C,CAAC;KACjF,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;KAC5C,MAAM,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;KAC/E,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,2GAA2G,CAAC;KACxH,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,cAAc,EAAE,gDAAgD,CAAC;KACxE,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;AAE/B,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAgD,MAAM,UAAU,CAAC;AAqCzF,UAAU,WAAW;IACnB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,iBAqHrD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAuB,MAAM,UAAU,CAAC;AAqChE,UAAU,WAAW;IACnB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,iBAqHrD"}
@@ -125,7 +125,7 @@ async function initCommand(options) {
125
125
  shouldCopy = overwrite;
126
126
  }
127
127
  if (shouldCopy) {
128
- const file = await templateManager.copyPhaseTemplate(phase);
128
+ await templateManager.copyPhaseTemplate(phase);
129
129
  await configManager.addPhase(phase);
130
130
  console.log(chalk_1.default.green(`[OK] Created ${phase} phase`));
131
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerMemoryCommand(program: Command): void;
3
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2C5D"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerMemoryCommand = registerMemoryCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const api_1 = require("@ai-devkit/memory/api");
9
+ function registerMemoryCommand(program) {
10
+ const memoryCommand = program
11
+ .command('memory')
12
+ .description('Interact with the knowledge memory service');
13
+ memoryCommand
14
+ .command('store')
15
+ .description('Store a new knowledge item')
16
+ .requiredOption('-t, --title <title>', 'Title of the knowledge item (10-100 chars)')
17
+ .requiredOption('-c, --content <content>', 'Content of the knowledge item (50-5000 chars)')
18
+ .option('--tags <tags>', 'Comma-separated tags (e.g., "api,backend")')
19
+ .option('-s, --scope <scope>', 'Scope: global, project:<name>, or repo:<name>', 'global')
20
+ .action((options) => {
21
+ try {
22
+ const result = (0, api_1.memoryStoreCommand)(options);
23
+ console.log(JSON.stringify(result, null, 2));
24
+ }
25
+ catch (error) {
26
+ const message = error instanceof Error ? error.message : String(error);
27
+ console.error(chalk_1.default.red(`[ERROR] ${message}`));
28
+ process.exit(1);
29
+ }
30
+ });
31
+ memoryCommand
32
+ .command('search')
33
+ .description('Search for knowledge items')
34
+ .requiredOption('-q, --query <query>', 'Search query (3-500 chars)')
35
+ .option('--tags <tags>', 'Comma-separated context tags to boost results')
36
+ .option('-s, --scope <scope>', 'Scope filter')
37
+ .option('-l, --limit <limit>', 'Maximum results (1-20)', '5')
38
+ .action((options) => {
39
+ try {
40
+ const result = (0, api_1.memorySearchCommand)({
41
+ ...options,
42
+ limit: options.limit ? parseInt(options.limit, 10) : 5
43
+ });
44
+ console.log(JSON.stringify(result, null, 2));
45
+ }
46
+ catch (error) {
47
+ const message = error instanceof Error ? error.message : String(error);
48
+ console.error(chalk_1.default.red(`[ERROR] ${message}`));
49
+ process.exit(1);
50
+ }
51
+ });
52
+ }
53
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":";;;;;AAKA,sDA2CC;AAhDD,kDAA0B;AAE1B,+CAAgF;AAGhF,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,MAAM,aAAa,GAAG,OAAO;SAC1B,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4CAA4C,CAAC,CAAC;IAE7D,aAAa;SACV,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,4BAA4B,CAAC;SACzC,cAAc,CAAC,qBAAqB,EAAE,4CAA4C,CAAC;SACnF,cAAc,CAAC,yBAAyB,EAAE,+CAA+C,CAAC;SAC1F,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,qBAAqB,EAAE,+CAA+C,EAAE,QAAQ,CAAC;SACxF,MAAM,CAAC,CAAC,OAA2B,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4BAA4B,CAAC;SACzC,cAAc,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;SACnE,MAAM,CAAC,eAAe,EAAE,+CAA+C,CAAC;SACxE,MAAM,CAAC,qBAAqB,EAAE,cAAc,CAAC;SAC7C,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,EAAE,GAAG,CAAC;SAC5D,MAAM,CAAC,CAAC,OAAiD,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,yBAAmB,EAAC;gBACjC,GAAG,OAAO;gBACV,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACvD,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,6 @@
1
+ interface SetupOptions {
2
+ global?: boolean;
3
+ }
4
+ export declare function setupCommand(options: SetupOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAQA,UAAU,YAAY;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,iBAQvD"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.setupCommand = setupCommand;
40
+ const inquirer_1 = __importDefault(require("inquirer"));
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const path = __importStar(require("path"));
43
+ const TemplateManager_1 = require("../lib/TemplateManager");
44
+ const EnvironmentSelector_1 = require("../lib/EnvironmentSelector");
45
+ const env_1 = require("../util/env");
46
+ async function setupCommand(options) {
47
+ if (!options.global) {
48
+ console.log(chalk_1.default.yellow('Please use --global flag to set up global commands.'));
49
+ console.log(chalk_1.default.blue('Usage: ai-devkit setup --global'));
50
+ return;
51
+ }
52
+ await setupGlobalCommands();
53
+ }
54
+ async function setupGlobalCommands() {
55
+ const templateManager = new TemplateManager_1.TemplateManager();
56
+ const environmentSelector = new EnvironmentSelector_1.EnvironmentSelector();
57
+ console.log(chalk_1.default.blue('Global Setup\n'));
58
+ console.log(chalk_1.default.gray('This will copy AI DevKit commands to your global environment folders.\n'));
59
+ const selectedEnvironments = await environmentSelector.selectGlobalEnvironments();
60
+ if (selectedEnvironments.length === 0) {
61
+ console.log(chalk_1.default.yellow('No environments selected. Setup cancelled.'));
62
+ return;
63
+ }
64
+ environmentSelector.displaySelectionSummary(selectedEnvironments);
65
+ for (const envCode of selectedEnvironments) {
66
+ await processGlobalEnvironment(envCode, templateManager);
67
+ }
68
+ console.log(chalk_1.default.green('\n✅ Global setup completed successfully!\n'));
69
+ console.log(chalk_1.default.blue('Your commands are now available globally for the selected environments.'));
70
+ }
71
+ async function processGlobalEnvironment(envCode, templateManager) {
72
+ const envName = (0, env_1.getEnvironmentDisplayName)(envCode);
73
+ const env = (0, env_1.getEnvironment)(envCode);
74
+ if (!env || !env.globalCommandPath) {
75
+ console.log(chalk_1.default.red(`[ERROR] ${envName} does not support global setup.`));
76
+ return;
77
+ }
78
+ console.log(chalk_1.default.blue(`\nSetting up ${envName}...`));
79
+ console.log(chalk_1.default.gray(` Global path: ~/${env.globalCommandPath}`));
80
+ const commandsExist = await templateManager.checkGlobalCommandsExist(envCode);
81
+ if (commandsExist) {
82
+ const { shouldOverwrite } = await inquirer_1.default.prompt([
83
+ {
84
+ type: 'confirm',
85
+ name: 'shouldOverwrite',
86
+ message: `Global commands already exist for ${envName}. Overwrite?`,
87
+ default: false
88
+ }
89
+ ]);
90
+ if (!shouldOverwrite) {
91
+ console.log(chalk_1.default.yellow(`[SKIP] Skipped ${envName} (files already exist)`));
92
+ return;
93
+ }
94
+ }
95
+ try {
96
+ const copiedFiles = await templateManager.copyCommandsToGlobal(envCode);
97
+ console.log(chalk_1.default.green(`[OK] Copied ${copiedFiles.length} commands to ${envName} global folder`)); // Show copied files
98
+ copiedFiles.forEach(file => {
99
+ const fileName = path.basename(file);
100
+ console.log(chalk_1.default.gray(` • ${fileName}`));
101
+ });
102
+ }
103
+ catch (error) {
104
+ if (error instanceof Error) {
105
+ console.log(chalk_1.default.red(`[ERROR] Failed to set up ${envName}: ${error.message}`));
106
+ }
107
+ else {
108
+ console.log(chalk_1.default.red(`[ERROR] Failed to set up ${envName}`));
109
+ }
110
+ }
111
+ }
112
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,6 @@ export declare class EnvironmentSelector {
3
3
  selectEnvironments(): Promise<EnvironmentCode[]>;
4
4
  confirmOverride(conflicts: EnvironmentCode[]): Promise<boolean>;
5
5
  displaySelectionSummary(selected: EnvironmentCode[]): void;
6
+ selectGlobalEnvironments(): Promise<EnvironmentCode[]>;
6
7
  }
7
8
  //# sourceMappingURL=EnvironmentSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentSelector.d.ts","sourceRoot":"","sources":["../../src/lib/EnvironmentSelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,qBAAa,mBAAmB;IACxB,kBAAkB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA4BhD,eAAe,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBrE,uBAAuB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI;CAY3D"}
1
+ {"version":3,"file":"EnvironmentSelector.d.ts","sourceRoot":"","sources":["../../src/lib/EnvironmentSelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,qBAAa,mBAAmB;IACxB,kBAAkB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA4BhD,eAAe,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBrE,uBAAuB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI;IAapD,wBAAwB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;CAgC7D"}
@@ -57,6 +57,34 @@ class EnvironmentSelector {
57
57
  });
58
58
  console.log('');
59
59
  }
60
+ async selectGlobalEnvironments() {
61
+ const globalCapableEnvs = (0, env_1.getGlobalCapableEnvironments)();
62
+ if (globalCapableEnvs.length === 0) {
63
+ console.log('No environments support global setup.');
64
+ return [];
65
+ }
66
+ const choices = globalCapableEnvs.map(env => ({
67
+ name: env.name,
68
+ value: env.code,
69
+ short: env.name
70
+ }));
71
+ const answers = await inquirer_1.default.prompt([
72
+ {
73
+ type: 'checkbox',
74
+ name: 'environments',
75
+ message: 'Select AI environments for global setup (use space to select, enter to confirm):',
76
+ choices,
77
+ pageSize: 10,
78
+ validate: (input) => {
79
+ if (input.length === 0) {
80
+ return 'Please select at least one environment.';
81
+ }
82
+ return true;
83
+ }
84
+ }
85
+ ]);
86
+ return answers.environments;
87
+ }
60
88
  }
61
89
  exports.EnvironmentSelector = EnvironmentSelector;
62
90
  //# sourceMappingURL=EnvironmentSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentSelector.js","sourceRoot":"","sources":["../../src/lib/EnvironmentSelector.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAEhC,qCAAoG;AAEpG,MAAa,mBAAmB;IAC9B,KAAK,CAAC,kBAAkB;QACtB,MAAM,YAAY,GAAG,IAAA,wBAAkB,GAAE,CAAC;QAE1C,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,IAAuB;YAClC,KAAK,EAAE,GAAG,CAAC,IAAI;SAChB,CAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACpC;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,2EAA2E;gBACpF,OAAO;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,KAAwB,EAAE,EAAE;oBACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,OAAO,yCAAyC,CAAC;oBACnD,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,YAAY,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAA4B;QAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAA,+BAAyB,EAAC,EAAE,CAAC,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACpC;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,6EAA6E,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B;gBAC5I,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,uBAAuB,CAAC,QAA2B;QACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAA,+BAAyB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;CACF;AA5DD,kDA4DC"}
1
+ {"version":3,"file":"EnvironmentSelector.js","sourceRoot":"","sources":["../../src/lib/EnvironmentSelector.ts"],"names":[],"mappings":"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"}
@@ -16,5 +16,14 @@ export declare class TemplateManager {
16
16
  * Uses triple quotes for multi-line strings.
17
17
  */
18
18
  private generateTomlContent;
19
+ /**
20
+ * Copy command templates to the global folder for a specific environment.
21
+ * Global folders are located in the user's home directory.
22
+ */
23
+ copyCommandsToGlobal(envCode: EnvironmentCode): Promise<string[]>;
24
+ /**
25
+ * Check if any global commands already exist for a specific environment.
26
+ */
27
+ checkGlobalCommandsExist(envCode: EnvironmentCode): Promise<boolean>;
19
28
  }
20
29
  //# sourceMappingURL=TemplateManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateManager.d.ts","sourceRoot":"","sources":["../../src/lib/TemplateManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AAGzE,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,GAAE,MAAsB;IAKvC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAWhD,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1C,yBAAyB,CAC7B,cAAc,EAAE,eAAe,EAAE,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC;IAsBd,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;YAgBxD,sBAAsB;YAsCtB,YAAY;YA+BZ,uBAAuB;YAoBvB,uBAAuB;IA8BrC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAS5B"}
1
+ {"version":3,"file":"TemplateManager.d.ts","sourceRoot":"","sources":["../../src/lib/TemplateManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AAGzE,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,GAAE,MAAsB;IAKvC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAWhD,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1C,yBAAyB,CAC7B,cAAc,EAAE,eAAe,EAAE,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC;IAsBd,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;YAgBxD,sBAAsB;YAsCtB,YAAY;YA+BZ,uBAAuB;YAoBvB,uBAAuB;IA8BrC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;IACG,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkCvE;;OAEG;IACG,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;CAgB3E"}
@@ -39,6 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.TemplateManager = void 0;
40
40
  const fs = __importStar(require("fs-extra"));
41
41
  const path = __importStar(require("path"));
42
+ const os = __importStar(require("os"));
42
43
  const gray_matter_1 = __importDefault(require("gray-matter"));
43
44
  const env_1 = require("../util/env");
44
45
  class TemplateManager {
@@ -179,6 +180,55 @@ class TemplateManager {
179
180
  prompt='''${escapedPrompt}'''
180
181
  `;
181
182
  }
183
+ /**
184
+ * Copy command templates to the global folder for a specific environment.
185
+ * Global folders are located in the user's home directory.
186
+ */
187
+ async copyCommandsToGlobal(envCode) {
188
+ const env = (0, env_1.getEnvironment)(envCode);
189
+ if (!env || !env.globalCommandPath) {
190
+ throw new Error(`Environment '${envCode}' does not support global setup`);
191
+ }
192
+ const copiedFiles = [];
193
+ const homeDir = os.homedir();
194
+ const globalTargetDir = path.join(homeDir, env.globalCommandPath);
195
+ const commandsSourceDir = path.join(this.templatesDir, "commands");
196
+ try {
197
+ await fs.ensureDir(globalTargetDir);
198
+ const commandFiles = await fs.readdir(commandsSourceDir);
199
+ for (const file of commandFiles) {
200
+ if (!file.endsWith(".md"))
201
+ continue;
202
+ const sourceFile = path.join(commandsSourceDir, file);
203
+ const targetFile = path.join(globalTargetDir, file);
204
+ await fs.copy(sourceFile, targetFile);
205
+ copiedFiles.push(targetFile);
206
+ }
207
+ }
208
+ catch (error) {
209
+ if (error instanceof Error) {
210
+ throw new Error(`Failed to copy commands to global folder: ${error.message}`);
211
+ }
212
+ throw error;
213
+ }
214
+ return copiedFiles;
215
+ }
216
+ /**
217
+ * Check if any global commands already exist for a specific environment.
218
+ */
219
+ async checkGlobalCommandsExist(envCode) {
220
+ const env = (0, env_1.getEnvironment)(envCode);
221
+ if (!env || !env.globalCommandPath) {
222
+ return false;
223
+ }
224
+ const homeDir = os.homedir();
225
+ const globalTargetDir = path.join(homeDir, env.globalCommandPath);
226
+ if (!(await fs.pathExists(globalTargetDir))) {
227
+ return false;
228
+ }
229
+ const files = await fs.readdir(globalTargetDir);
230
+ return files.some((file) => file.endsWith(".md"));
231
+ }
182
232
  }
183
233
  exports.TemplateManager = TemplateManager;
184
234
  //# sourceMappingURL=TemplateManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateManager.js","sourceRoot":"","sources":["../../src/lib/TemplateManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemplateManager.js","sourceRoot":"","sources":["../../src/lib/TemplateManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ ---
2
+ description: Capture structured knowledge about a code entry point and save it to the knowledge docs.
3
+ ---
4
+
5
+ # Knowledge Capture Assistant
6
+
7
+ Guide me through creating a structured understanding of a code entry point and saving it to the knowledge docs.
8
+
9
+ ## Memory (use when helpful)
10
+ - If you need clarification or project conventions, query `memory.searchKnowledge` with a brief task description, tags, and scope.
11
+ - If I ask to save reusable guidance, run `/remember` (or call `memory.storeKnowledge`).
12
+ - If MCP tools are unavailable, use `ai-devkit memory search` or `ai-devkit memory store`.
13
+
14
+ ## Step 1: Gather Context
15
+ - Entry point (file, folder, function, API)
16
+ - Why this entry point matters (feature, bug, investigation)
17
+ - Relevant requirements/design docs (if any)
18
+ - Desired depth or focus areas (logic, dependencies, data flow)
19
+
20
+ ## Step 2: Validate Entry Point
21
+ - Determine entry point type and confirm it exists
22
+ - Surface ambiguity (multiple matches) and ask for clarification
23
+ - If not found, suggest likely alternatives or spelling fixes
24
+
25
+ ## Step 3: Collect Source Context
26
+ - Read the primary file/module and summarize purpose, exports, key patterns
27
+ - For folders: list structure, highlight key modules
28
+ - For functions/APIs: capture signature, parameters, return values, error handling
29
+ - Extract essential snippets (avoid large dumps)
30
+
31
+ ## Step 4: Analyze Dependencies
32
+ - Build a dependency view up to depth 3
33
+ - Track visited nodes to avoid loops
34
+ - Categorize dependencies (imports, function calls, services, external packages)
35
+ - Note important external systems or generated code that should be excluded
36
+
37
+ ## Step 5: Synthesize Explanation
38
+ - Draft an overview (purpose, language, high-level behavior)
39
+ - Detail core logic, key components, execution flow, patterns
40
+ - Highlight error handling, performance, security considerations
41
+ - Identify potential improvements or risks discovered during analysis
42
+
43
+ ## Step 6: Create Documentation
44
+ - Normalize entry point name to kebab-case (`calculateTotalPrice` → `calculate-total-price`)
45
+ - Create `docs/ai/implementation/knowledge-{name}.md` using the headings implied in Step 5 (Overview, Implementation Details, Dependencies, Visual Diagrams, Additional Insights, Metadata, Next Steps)
46
+ - Populate sections with findings, diagrams, and metadata (analysis date, depth, files touched)
47
+ - Include mermaid diagrams when they clarify flows or relationships
48
+
49
+ ## Step 7: Review & Next Actions
50
+ - Summarize key insights and open questions for follow-up
51
+ - Suggest related areas for deeper dives or refactors
52
+ - Confirm the knowledge file path and remind to commit it
53
+ - Encourage running `/capture-knowledge` again for related entry points if needed
54
+
55
+ Let me know the entry point and goals when you’re ready to begin the knowledge capture.
@@ -0,0 +1,30 @@
1
+ ---
2
+ description: Compare implementation with design and requirements docs to ensure alignment.
3
+ ---
4
+
5
+ Compare the current implementation with the design in docs/ai/design/ and requirements in docs/ai/requirements/. Please follow this structured review:
6
+
7
+ ## Memory (use when helpful)
8
+ - If you need clarification or project conventions, query `memory.searchKnowledge` with a brief task description, tags, and scope.
9
+ - If I ask to save reusable guidance, run `/remember` (or call `memory.storeKnowledge`).
10
+ - If MCP tools are unavailable, use `ai-devkit memory search` or `ai-devkit memory store`.
11
+
12
+ 1. Ask me for:
13
+ - Feature/branch description
14
+ - List of modified files
15
+ - Relevant design doc(s) (feature-specific and/or project-level)
16
+ - Any known constraints or assumptions
17
+
18
+ 2. For each design doc:
19
+ - Summarize key architectural decisions and constraints
20
+ - Highlight components, interfaces, and data flows that must be respected
21
+
22
+ 3. File-by-file comparison:
23
+ - Confirm implementation matches design intent
24
+ - Note deviations or missing pieces
25
+ - Flag logic gaps, edge cases, or security issues
26
+ - Suggest simplifications or refactors
27
+ - Identify missing tests or documentation updates
28
+
29
+ 4. Summarize findings with recommended next steps.
30
+
@@ -0,0 +1,90 @@
1
+ ---
2
+ description: Perform a local code review before pushing changes, ensuring alignment with design docs and best practices.
3
+ ---
4
+
5
+ # Local Code Review Assistant
6
+
7
+ You are helping me perform a local code review **before** I push changes. Please follow this structured workflow.
8
+
9
+ ## Memory (use when helpful)
10
+ - If you need clarification or project conventions, query `memory.searchKnowledge` with a brief task description, tags, and scope.
11
+ - If I ask to save reusable guidance, run `/remember` (or call `memory.storeKnowledge`).
12
+ - If MCP tools are unavailable, use `ai-devkit memory search` or `ai-devkit memory store`.
13
+
14
+ ## Step 1: Gather Context
15
+ Ask me for:
16
+ - Brief feature/branch description
17
+ - List of modified files (with optional summaries)
18
+ - Relevant design doc(s) (e.g., `docs/ai/design/feature-{name}.md` or project-level design)
19
+ - Any known constraints or risky areas
20
+ - Any open bugs or TODOs linked to this work
21
+ - Which tests have already been run
22
+
23
+ If possible, request the latest diff:
24
+ ```bash
25
+ git status -sb
26
+ git diff --stat
27
+ ```
28
+
29
+ ## Step 2: Understand Design Alignment
30
+ For each provided design doc:
31
+ - Summarize the architectural intent
32
+ - Note critical requirements, patterns, or constraints the design mandates
33
+
34
+ ## Step 3: File-by-File Review
35
+ For every modified file:
36
+ 1. Highlight deviations from the referenced design or requirements
37
+ 2. Spot potential logic or flow issues and edge cases
38
+ 3. Identify redundant or duplicate code
39
+ 4. Suggest simplifications or refactors (prefer clarity over cleverness)
40
+ 5. Flag security concerns (input validation, secrets, auth, data handling)
41
+ 6. Check for performance pitfalls or scalability risks
42
+ 7. Ensure error handling, logging, and observability are appropriate
43
+ 8. Note any missing comments or docs
44
+ 9. Flag missing or outdated tests related to this file
45
+
46
+ ## Step 4: Cross-Cutting Concerns
47
+ - Verify naming consistency and adherence to project conventions
48
+ - Confirm documentation/comments are updated where the behavior changed
49
+ - Identify missing tests (unit, integration, E2E) needed to cover the changes
50
+ - Ensure configuration/migration updates are captured if applicable
51
+
52
+ ## Step 5: Summarize Findings
53
+ Provide results in this structure:
54
+ ```
55
+ ### Summary
56
+ - Blocking issues: [count]
57
+ - Important follow-ups: [count]
58
+ - Nice-to-have improvements: [count]
59
+
60
+ ### Detailed Notes
61
+ 1. **[File or Component]**
62
+ - Issue/Observation: ...
63
+ - Impact: (e.g., blocking / important / nice-to-have)
64
+ - Recommendation: ...
65
+ - Design reference: [...]
66
+
67
+ 2. ... (repeat per finding)
68
+
69
+ ### Recommended Next Steps
70
+ - [ ] Address blocking issues
71
+ - [ ] Update design/implementation docs if needed
72
+ - [ ] Add/adjust tests:
73
+ - Unit:
74
+ - Integration:
75
+ - E2E:
76
+ - [ ] Rerun local test suite
77
+ - [ ] Re-run code review command after fixes
78
+ ```
79
+
80
+ ## Step 6: Final Checklist
81
+ Confirm whether each item is complete (yes/no/needs follow-up):
82
+ - Implementation matches design & requirements
83
+ - No obvious logic or edge-case gaps remain
84
+ - Redundant code removed or justified
85
+ - Security considerations addressed
86
+ - Tests cover new/changed behavior
87
+ - Documentation/design notes updated
88
+
89
+ ---
90
+ Let me know when you're ready to begin the review.