kiro-kit 0.2.2 → 0.3.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 (191) hide show
  1. package/README.md +35 -0
  2. package/dist/index.js +771 -116
  3. package/dist/index.js.map +1 -1
  4. package/dist/presets/backend/hooks/api-schema-validate.js +75 -0
  5. package/dist/presets/backend/hooks/endpoint-test-coverage.js +77 -0
  6. package/dist/presets/backend/hooks/migration-safety-check.js +68 -0
  7. package/dist/presets/backend/manifest.json +48 -35
  8. package/dist/presets/backend/powers.json +40 -0
  9. package/dist/presets/backend/skills/kiro/references/autonomy-modes.md +26 -0
  10. package/dist/presets/backend/skills/kiro/references/best-practices.md +48 -0
  11. package/dist/presets/backend/skills/kiro/references/commands.md +61 -0
  12. package/dist/presets/backend/skills/kiro/references/configuration.md +41 -0
  13. package/dist/presets/backend/skills/kiro/references/getting-started.md +45 -0
  14. package/dist/presets/backend/skills/kiro/references/hooks.md +99 -0
  15. package/dist/presets/backend/skills/kiro/references/mcp-integration.md +53 -0
  16. package/dist/presets/backend/skills/kiro/references/skills.md +55 -0
  17. package/dist/presets/backend/skills/kiro/references/specs-workflow.md +62 -0
  18. package/dist/presets/backend/skills/kiro/references/steering-files.md +84 -0
  19. package/dist/presets/backend/skills/kiro/references/troubleshooting.md +42 -0
  20. package/dist/presets/backend/skills/kiro/skill.md +194 -0
  21. package/dist/presets/data-ai/hooks/data-drift-check.js +77 -0
  22. package/dist/presets/data-ai/hooks/experiment-log.js +87 -0
  23. package/dist/presets/data-ai/hooks/model-card-update.js +99 -0
  24. package/dist/presets/data-ai/manifest.json +48 -35
  25. package/dist/presets/data-ai/powers.json +34 -0
  26. package/dist/presets/data-ai/skills/kiro/references/autonomy-modes.md +26 -0
  27. package/dist/presets/data-ai/skills/kiro/references/best-practices.md +48 -0
  28. package/dist/presets/data-ai/skills/kiro/references/commands.md +61 -0
  29. package/dist/presets/data-ai/skills/kiro/references/configuration.md +41 -0
  30. package/dist/presets/data-ai/skills/kiro/references/getting-started.md +45 -0
  31. package/dist/presets/data-ai/skills/kiro/references/hooks.md +99 -0
  32. package/dist/presets/data-ai/skills/kiro/references/mcp-integration.md +53 -0
  33. package/dist/presets/data-ai/skills/kiro/references/skills.md +55 -0
  34. package/dist/presets/data-ai/skills/kiro/references/specs-workflow.md +62 -0
  35. package/dist/presets/data-ai/skills/kiro/references/steering-files.md +84 -0
  36. package/dist/presets/data-ai/skills/kiro/references/troubleshooting.md +42 -0
  37. package/dist/presets/data-ai/skills/kiro/skill.md +194 -0
  38. package/dist/presets/devops/hooks/container-scan.js +73 -0
  39. package/dist/presets/devops/hooks/cost-estimation.js +69 -0
  40. package/dist/presets/devops/hooks/terraform-plan-review.js +67 -0
  41. package/dist/presets/devops/manifest.json +48 -35
  42. package/dist/presets/devops/powers.json +40 -0
  43. package/dist/presets/devops/skills/kiro/references/autonomy-modes.md +26 -0
  44. package/dist/presets/devops/skills/kiro/references/best-practices.md +48 -0
  45. package/dist/presets/devops/skills/kiro/references/commands.md +61 -0
  46. package/dist/presets/devops/skills/kiro/references/configuration.md +41 -0
  47. package/dist/presets/devops/skills/kiro/references/getting-started.md +45 -0
  48. package/dist/presets/devops/skills/kiro/references/hooks.md +99 -0
  49. package/dist/presets/devops/skills/kiro/references/mcp-integration.md +53 -0
  50. package/dist/presets/devops/skills/kiro/references/skills.md +55 -0
  51. package/dist/presets/devops/skills/kiro/references/specs-workflow.md +62 -0
  52. package/dist/presets/devops/skills/kiro/references/steering-files.md +84 -0
  53. package/dist/presets/devops/skills/kiro/references/troubleshooting.md +42 -0
  54. package/dist/presets/devops/skills/kiro/skill.md +194 -0
  55. package/dist/presets/frontend/commands/test.md +1 -1
  56. package/dist/presets/frontend/hooks/accessibility-check.js +76 -0
  57. package/dist/presets/frontend/hooks/bundle-size-guard.js +71 -0
  58. package/dist/presets/frontend/hooks/component-test-reminder.js +71 -0
  59. package/dist/presets/frontend/manifest.json +48 -35
  60. package/dist/presets/frontend/powers.json +34 -0
  61. package/dist/presets/frontend/skills/kiro/references/autonomy-modes.md +26 -0
  62. package/dist/presets/frontend/skills/kiro/references/best-practices.md +48 -0
  63. package/dist/presets/frontend/skills/kiro/references/commands.md +61 -0
  64. package/dist/presets/frontend/skills/kiro/references/configuration.md +41 -0
  65. package/dist/presets/frontend/skills/kiro/references/getting-started.md +45 -0
  66. package/dist/presets/frontend/skills/kiro/references/hooks.md +99 -0
  67. package/dist/presets/frontend/skills/kiro/references/mcp-integration.md +53 -0
  68. package/dist/presets/frontend/skills/kiro/references/skills.md +55 -0
  69. package/dist/presets/frontend/skills/kiro/references/specs-workflow.md +62 -0
  70. package/dist/presets/frontend/skills/kiro/references/steering-files.md +84 -0
  71. package/dist/presets/frontend/skills/kiro/references/troubleshooting.md +42 -0
  72. package/dist/presets/frontend/skills/kiro/skill.md +194 -0
  73. package/dist/presets/fullstack/hooks/api-client-gen.js +69 -0
  74. package/dist/presets/fullstack/hooks/deployment-readiness.js +73 -0
  75. package/dist/presets/fullstack/hooks/type-sync-check.js +69 -0
  76. package/dist/presets/fullstack/manifest.json +48 -35
  77. package/dist/presets/fullstack/powers.json +46 -0
  78. package/dist/presets/fullstack/skills/kiro/references/autonomy-modes.md +26 -0
  79. package/dist/presets/fullstack/skills/kiro/references/best-practices.md +48 -0
  80. package/dist/presets/fullstack/skills/kiro/references/commands.md +61 -0
  81. package/dist/presets/fullstack/skills/kiro/references/configuration.md +41 -0
  82. package/dist/presets/fullstack/skills/kiro/references/getting-started.md +45 -0
  83. package/dist/presets/fullstack/skills/kiro/references/hooks.md +99 -0
  84. package/dist/presets/fullstack/skills/kiro/references/mcp-integration.md +53 -0
  85. package/dist/presets/fullstack/skills/kiro/references/skills.md +55 -0
  86. package/dist/presets/fullstack/skills/kiro/references/specs-workflow.md +62 -0
  87. package/dist/presets/fullstack/skills/kiro/references/steering-files.md +84 -0
  88. package/dist/presets/fullstack/skills/kiro/references/troubleshooting.md +42 -0
  89. package/dist/presets/fullstack/skills/kiro/skill.md +194 -0
  90. package/dist/presets/mobile/hooks/asset-optimization.js +58 -0
  91. package/dist/presets/mobile/hooks/platform-parity-check.js +73 -0
  92. package/dist/presets/mobile/hooks/release-checklist.js +83 -0
  93. package/dist/presets/mobile/manifest.json +48 -35
  94. package/dist/presets/mobile/powers.json +34 -0
  95. package/dist/presets/mobile/skills/kiro/references/autonomy-modes.md +26 -0
  96. package/dist/presets/mobile/skills/kiro/references/best-practices.md +48 -0
  97. package/dist/presets/mobile/skills/kiro/references/commands.md +61 -0
  98. package/dist/presets/mobile/skills/kiro/references/configuration.md +41 -0
  99. package/dist/presets/mobile/skills/kiro/references/getting-started.md +45 -0
  100. package/dist/presets/mobile/skills/kiro/references/hooks.md +99 -0
  101. package/dist/presets/mobile/skills/kiro/references/mcp-integration.md +53 -0
  102. package/dist/presets/mobile/skills/kiro/references/skills.md +55 -0
  103. package/dist/presets/mobile/skills/kiro/references/specs-workflow.md +62 -0
  104. package/dist/presets/mobile/skills/kiro/references/steering-files.md +84 -0
  105. package/dist/presets/mobile/skills/kiro/references/troubleshooting.md +42 -0
  106. package/dist/presets/mobile/skills/kiro/skill.md +194 -0
  107. package/package.json +1 -1
  108. package/dist/presets/backend/skills/claude-code/references/advanced-features.md +0 -399
  109. package/dist/presets/backend/skills/claude-code/references/agent-skills.md +0 -399
  110. package/dist/presets/backend/skills/claude-code/references/api-reference.md +0 -498
  111. package/dist/presets/backend/skills/claude-code/references/best-practices.md +0 -447
  112. package/dist/presets/backend/skills/claude-code/references/cicd-integration.md +0 -428
  113. package/dist/presets/backend/skills/claude-code/references/configuration.md +0 -480
  114. package/dist/presets/backend/skills/claude-code/references/enterprise-features.md +0 -472
  115. package/dist/presets/backend/skills/claude-code/references/getting-started.md +0 -252
  116. package/dist/presets/backend/skills/claude-code/references/hooks-and-plugins.md +0 -441
  117. package/dist/presets/backend/skills/claude-code/references/ide-integration.md +0 -316
  118. package/dist/presets/backend/skills/claude-code/references/mcp-integration.md +0 -386
  119. package/dist/presets/backend/skills/claude-code/references/slash-commands.md +0 -489
  120. package/dist/presets/backend/skills/claude-code/references/troubleshooting.md +0 -456
  121. package/dist/presets/backend/skills/claude-code/skill.md +0 -194
  122. package/dist/presets/data-ai/skills/claude-code/references/advanced-features.md +0 -399
  123. package/dist/presets/data-ai/skills/claude-code/references/agent-skills.md +0 -399
  124. package/dist/presets/data-ai/skills/claude-code/references/api-reference.md +0 -498
  125. package/dist/presets/data-ai/skills/claude-code/references/best-practices.md +0 -447
  126. package/dist/presets/data-ai/skills/claude-code/references/cicd-integration.md +0 -428
  127. package/dist/presets/data-ai/skills/claude-code/references/configuration.md +0 -480
  128. package/dist/presets/data-ai/skills/claude-code/references/enterprise-features.md +0 -472
  129. package/dist/presets/data-ai/skills/claude-code/references/getting-started.md +0 -252
  130. package/dist/presets/data-ai/skills/claude-code/references/hooks-and-plugins.md +0 -441
  131. package/dist/presets/data-ai/skills/claude-code/references/ide-integration.md +0 -316
  132. package/dist/presets/data-ai/skills/claude-code/references/mcp-integration.md +0 -386
  133. package/dist/presets/data-ai/skills/claude-code/references/slash-commands.md +0 -489
  134. package/dist/presets/data-ai/skills/claude-code/references/troubleshooting.md +0 -456
  135. package/dist/presets/data-ai/skills/claude-code/skill.md +0 -194
  136. package/dist/presets/devops/skills/claude-code/references/advanced-features.md +0 -399
  137. package/dist/presets/devops/skills/claude-code/references/agent-skills.md +0 -399
  138. package/dist/presets/devops/skills/claude-code/references/api-reference.md +0 -498
  139. package/dist/presets/devops/skills/claude-code/references/best-practices.md +0 -447
  140. package/dist/presets/devops/skills/claude-code/references/cicd-integration.md +0 -428
  141. package/dist/presets/devops/skills/claude-code/references/configuration.md +0 -480
  142. package/dist/presets/devops/skills/claude-code/references/enterprise-features.md +0 -472
  143. package/dist/presets/devops/skills/claude-code/references/getting-started.md +0 -252
  144. package/dist/presets/devops/skills/claude-code/references/hooks-and-plugins.md +0 -441
  145. package/dist/presets/devops/skills/claude-code/references/ide-integration.md +0 -316
  146. package/dist/presets/devops/skills/claude-code/references/mcp-integration.md +0 -386
  147. package/dist/presets/devops/skills/claude-code/references/slash-commands.md +0 -489
  148. package/dist/presets/devops/skills/claude-code/references/troubleshooting.md +0 -456
  149. package/dist/presets/devops/skills/claude-code/skill.md +0 -194
  150. package/dist/presets/frontend/skills/claude-code/references/advanced-features.md +0 -399
  151. package/dist/presets/frontend/skills/claude-code/references/agent-skills.md +0 -399
  152. package/dist/presets/frontend/skills/claude-code/references/api-reference.md +0 -498
  153. package/dist/presets/frontend/skills/claude-code/references/best-practices.md +0 -447
  154. package/dist/presets/frontend/skills/claude-code/references/cicd-integration.md +0 -428
  155. package/dist/presets/frontend/skills/claude-code/references/configuration.md +0 -480
  156. package/dist/presets/frontend/skills/claude-code/references/enterprise-features.md +0 -472
  157. package/dist/presets/frontend/skills/claude-code/references/getting-started.md +0 -252
  158. package/dist/presets/frontend/skills/claude-code/references/hooks-and-plugins.md +0 -441
  159. package/dist/presets/frontend/skills/claude-code/references/ide-integration.md +0 -316
  160. package/dist/presets/frontend/skills/claude-code/references/mcp-integration.md +0 -386
  161. package/dist/presets/frontend/skills/claude-code/references/slash-commands.md +0 -489
  162. package/dist/presets/frontend/skills/claude-code/references/troubleshooting.md +0 -456
  163. package/dist/presets/frontend/skills/claude-code/skill.md +0 -194
  164. package/dist/presets/fullstack/skills/claude-code/references/advanced-features.md +0 -399
  165. package/dist/presets/fullstack/skills/claude-code/references/agent-skills.md +0 -399
  166. package/dist/presets/fullstack/skills/claude-code/references/api-reference.md +0 -498
  167. package/dist/presets/fullstack/skills/claude-code/references/best-practices.md +0 -447
  168. package/dist/presets/fullstack/skills/claude-code/references/cicd-integration.md +0 -428
  169. package/dist/presets/fullstack/skills/claude-code/references/configuration.md +0 -480
  170. package/dist/presets/fullstack/skills/claude-code/references/enterprise-features.md +0 -472
  171. package/dist/presets/fullstack/skills/claude-code/references/getting-started.md +0 -252
  172. package/dist/presets/fullstack/skills/claude-code/references/hooks-and-plugins.md +0 -441
  173. package/dist/presets/fullstack/skills/claude-code/references/ide-integration.md +0 -316
  174. package/dist/presets/fullstack/skills/claude-code/references/mcp-integration.md +0 -386
  175. package/dist/presets/fullstack/skills/claude-code/references/slash-commands.md +0 -489
  176. package/dist/presets/fullstack/skills/claude-code/references/troubleshooting.md +0 -456
  177. package/dist/presets/fullstack/skills/claude-code/skill.md +0 -194
  178. package/dist/presets/mobile/skills/claude-code/references/advanced-features.md +0 -399
  179. package/dist/presets/mobile/skills/claude-code/references/agent-skills.md +0 -399
  180. package/dist/presets/mobile/skills/claude-code/references/api-reference.md +0 -498
  181. package/dist/presets/mobile/skills/claude-code/references/best-practices.md +0 -447
  182. package/dist/presets/mobile/skills/claude-code/references/cicd-integration.md +0 -428
  183. package/dist/presets/mobile/skills/claude-code/references/configuration.md +0 -480
  184. package/dist/presets/mobile/skills/claude-code/references/enterprise-features.md +0 -472
  185. package/dist/presets/mobile/skills/claude-code/references/getting-started.md +0 -252
  186. package/dist/presets/mobile/skills/claude-code/references/hooks-and-plugins.md +0 -441
  187. package/dist/presets/mobile/skills/claude-code/references/ide-integration.md +0 -316
  188. package/dist/presets/mobile/skills/claude-code/references/mcp-integration.md +0 -386
  189. package/dist/presets/mobile/skills/claude-code/references/slash-commands.md +0 -489
  190. package/dist/presets/mobile/skills/claude-code/references/troubleshooting.md +0 -456
  191. package/dist/presets/mobile/skills/claude-code/skill.md +0 -194
@@ -0,0 +1,87 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Checks that experiment configs have corresponding log entries
4
+ * in the experiments/ directory.
5
+ */
6
+
7
+ const fs = require('fs');
8
+ const path = require('path');
9
+
10
+ const CONFIG_DIRS = ['configs', 'config', 'experiments/configs', 'src/configs'];
11
+ const LOG_DIRS = ['experiments', 'experiments/logs', 'logs/experiments', 'mlruns'];
12
+ const CONFIG_EXTENSIONS = ['.yaml', '.yml', '.toml', '.json'];
13
+
14
+ const cwd = process.cwd();
15
+
16
+ function findConfigs(dir) {
17
+ const results = [];
18
+ if (!fs.existsSync(dir)) return results;
19
+ try {
20
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
21
+ for (const entry of entries) {
22
+ const full = path.join(dir, entry.name);
23
+ if (entry.isDirectory()) {
24
+ results.push(...findConfigs(full));
25
+ } else if (entry.isFile()) {
26
+ const ext = path.extname(entry.name).toLowerCase();
27
+ if (CONFIG_EXTENSIONS.includes(ext) && /experiment|exp|run/i.test(entry.name)) {
28
+ results.push(full);
29
+ }
30
+ }
31
+ }
32
+ } catch (e) { /* skip */ }
33
+ return results;
34
+ }
35
+
36
+ let configFiles = [];
37
+ for (const dir of CONFIG_DIRS) {
38
+ configFiles.push(...findConfigs(path.resolve(cwd, dir)));
39
+ }
40
+
41
+ if (configFiles.length === 0) {
42
+ process.exit(0);
43
+ }
44
+
45
+ // Find log directories
46
+ let logDir = null;
47
+ for (const dir of LOG_DIRS) {
48
+ const full = path.resolve(cwd, dir);
49
+ if (fs.existsSync(full)) {
50
+ logDir = full;
51
+ break;
52
+ }
53
+ }
54
+
55
+ if (!logDir) {
56
+ process.stdout.write(
57
+ '[experiment-log] Experiment configs found but no experiments/ log directory.\n' +
58
+ ' Create an experiments/ directory to track experiment results.\n'
59
+ );
60
+ process.exit(1);
61
+ }
62
+
63
+ // Check each config has a corresponding log entry
64
+ const logEntries = new Set();
65
+ try {
66
+ const entries = fs.readdirSync(logDir, { withFileTypes: true });
67
+ for (const entry of entries) {
68
+ logEntries.add(path.basename(entry.name, path.extname(entry.name)).toLowerCase());
69
+ }
70
+ } catch (e) { /* skip */ }
71
+
72
+ const unlogged = [];
73
+ for (const config of configFiles) {
74
+ const baseName = path.basename(config, path.extname(config)).toLowerCase();
75
+ if (!logEntries.has(baseName)) {
76
+ unlogged.push(path.relative(cwd, config));
77
+ }
78
+ }
79
+
80
+ if (unlogged.length > 0) {
81
+ process.stdout.write(`[experiment-log] ${unlogged.length} experiment config(s) without log entries:\n`);
82
+ unlogged.forEach((u) => process.stdout.write(` - ${u}\n`));
83
+ process.stdout.write(' Run experiments and log results before committing configs.\n');
84
+ process.exit(1);
85
+ }
86
+
87
+ process.exit(0);
@@ -0,0 +1,99 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Reminds to update model card when model files (.pkl, .pt, .h5, saved_model/)
4
+ * are modified.
5
+ */
6
+
7
+ const fs = require('fs');
8
+ const path = require('path');
9
+
10
+ const MODEL_DIRS = ['models', 'src/models', 'artifacts', 'saved_models'];
11
+ const MODEL_EXTENSIONS = ['.pkl', '.pt', '.pth', '.h5', '.onnx', '.pb', '.safetensors'];
12
+ const MODEL_CARD_NAMES = ['MODEL_CARD.md', 'model_card.md', 'model-card.md', 'README.md'];
13
+
14
+ const cwd = process.cwd();
15
+
16
+ function findModelFiles(dir) {
17
+ const results = [];
18
+ if (!fs.existsSync(dir)) return results;
19
+ try {
20
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
21
+ for (const entry of entries) {
22
+ const full = path.join(dir, entry.name);
23
+ if (entry.isDirectory() && entry.name !== '__pycache__') {
24
+ // saved_model/ directories count as model artifacts
25
+ if (entry.name === 'saved_model' || entry.name === 'checkpoint') {
26
+ results.push(full);
27
+ } else {
28
+ results.push(...findModelFiles(full));
29
+ }
30
+ } else if (entry.isFile()) {
31
+ const ext = path.extname(entry.name).toLowerCase();
32
+ if (MODEL_EXTENSIONS.includes(ext)) {
33
+ results.push(full);
34
+ }
35
+ }
36
+ }
37
+ } catch (e) { /* skip */ }
38
+ return results;
39
+ }
40
+
41
+ let modelFiles = [];
42
+ for (const dir of MODEL_DIRS) {
43
+ modelFiles.push(...findModelFiles(path.resolve(cwd, dir)));
44
+ }
45
+
46
+ if (modelFiles.length === 0) {
47
+ process.exit(0);
48
+ }
49
+
50
+ // Check if model card exists
51
+ let modelCardPath = null;
52
+ for (const dir of MODEL_DIRS) {
53
+ for (const name of MODEL_CARD_NAMES) {
54
+ const full = path.resolve(cwd, dir, name);
55
+ if (fs.existsSync(full)) {
56
+ modelCardPath = full;
57
+ break;
58
+ }
59
+ }
60
+ if (modelCardPath) break;
61
+ }
62
+
63
+ // Also check project root
64
+ if (!modelCardPath) {
65
+ for (const name of MODEL_CARD_NAMES.slice(0, -1)) {
66
+ const full = path.resolve(cwd, name);
67
+ if (fs.existsSync(full)) {
68
+ modelCardPath = full;
69
+ break;
70
+ }
71
+ }
72
+ }
73
+
74
+ if (!modelCardPath) {
75
+ process.stdout.write(
76
+ '[model-card-update] Model artifacts found but no model card exists.\n' +
77
+ ' Create a MODEL_CARD.md documenting model details, metrics, and limitations.\n'
78
+ );
79
+ process.exit(1);
80
+ }
81
+
82
+ // Check if model files are newer than model card
83
+ const cardStat = fs.statSync(modelCardPath);
84
+ const newerModels = modelFiles.filter((f) => {
85
+ try {
86
+ const stat = fs.statSync(f);
87
+ return stat.mtimeMs > cardStat.mtimeMs;
88
+ } catch (e) { return false; }
89
+ });
90
+
91
+ if (newerModels.length > 0) {
92
+ process.stdout.write(
93
+ `[model-card-update] ${newerModels.length} model file(s) updated after model card.\n` +
94
+ ` Update ${path.relative(cwd, modelCardPath)} with latest model information.\n`
95
+ );
96
+ process.exit(1);
97
+ }
98
+
99
+ process.exit(0);
@@ -553,6 +553,29 @@
553
553
  "type": "hook",
554
554
  "executable": true
555
555
  },
556
+ {
557
+ "source": "hooks/data-drift-check.js",
558
+ "target": ".kiro/hooks/data-drift-check.js",
559
+ "type": "hook",
560
+ "executable": true
561
+ },
562
+ {
563
+ "source": "hooks/model-card-update.js",
564
+ "target": ".kiro/hooks/model-card-update.js",
565
+ "type": "hook",
566
+ "executable": true
567
+ },
568
+ {
569
+ "source": "hooks/experiment-log.js",
570
+ "target": ".kiro/hooks/experiment-log.js",
571
+ "type": "hook",
572
+ "executable": true
573
+ },
574
+ {
575
+ "source": "powers.json",
576
+ "target": ".kiro/powers.json",
577
+ "type": "powers"
578
+ },
556
579
  {
557
580
  "source": "metadata.json",
558
581
  "target": ".kiro/metadata.json",
@@ -674,73 +697,63 @@
674
697
  "type": "other"
675
698
  },
676
699
  {
677
- "source": "skills/claude-code/references/advanced-features.md",
678
- "target": ".kiro/skills/claude-code/references/advanced-features.md",
679
- "type": "doc"
680
- },
681
- {
682
- "source": "skills/claude-code/references/agent-skills.md",
683
- "target": ".kiro/skills/claude-code/references/agent-skills.md",
684
- "type": "doc"
685
- },
686
- {
687
- "source": "skills/claude-code/references/api-reference.md",
688
- "target": ".kiro/skills/claude-code/references/api-reference.md",
689
- "type": "doc"
700
+ "source": "skills/kiro/skill.md",
701
+ "target": ".kiro/skills/kiro/skill.md",
702
+ "type": "skill"
690
703
  },
691
704
  {
692
- "source": "skills/claude-code/references/best-practices.md",
693
- "target": ".kiro/skills/claude-code/references/best-practices.md",
705
+ "source": "skills/kiro/references/autonomy-modes.md",
706
+ "target": ".kiro/skills/kiro/references/autonomy-modes.md",
694
707
  "type": "doc"
695
708
  },
696
709
  {
697
- "source": "skills/claude-code/references/cicd-integration.md",
698
- "target": ".kiro/skills/claude-code/references/cicd-integration.md",
710
+ "source": "skills/kiro/references/best-practices.md",
711
+ "target": ".kiro/skills/kiro/references/best-practices.md",
699
712
  "type": "doc"
700
713
  },
701
714
  {
702
- "source": "skills/claude-code/references/configuration.md",
703
- "target": ".kiro/skills/claude-code/references/configuration.md",
715
+ "source": "skills/kiro/references/commands.md",
716
+ "target": ".kiro/skills/kiro/references/commands.md",
704
717
  "type": "doc"
705
718
  },
706
719
  {
707
- "source": "skills/claude-code/references/enterprise-features.md",
708
- "target": ".kiro/skills/claude-code/references/enterprise-features.md",
720
+ "source": "skills/kiro/references/configuration.md",
721
+ "target": ".kiro/skills/kiro/references/configuration.md",
709
722
  "type": "doc"
710
723
  },
711
724
  {
712
- "source": "skills/claude-code/references/getting-started.md",
713
- "target": ".kiro/skills/claude-code/references/getting-started.md",
725
+ "source": "skills/kiro/references/getting-started.md",
726
+ "target": ".kiro/skills/kiro/references/getting-started.md",
714
727
  "type": "doc"
715
728
  },
716
729
  {
717
- "source": "skills/claude-code/references/hooks-and-plugins.md",
718
- "target": ".kiro/skills/claude-code/references/hooks-and-plugins.md",
730
+ "source": "skills/kiro/references/hooks.md",
731
+ "target": ".kiro/skills/kiro/references/hooks.md",
719
732
  "type": "doc"
720
733
  },
721
734
  {
722
- "source": "skills/claude-code/references/ide-integration.md",
723
- "target": ".kiro/skills/claude-code/references/ide-integration.md",
735
+ "source": "skills/kiro/references/mcp-integration.md",
736
+ "target": ".kiro/skills/kiro/references/mcp-integration.md",
724
737
  "type": "doc"
725
738
  },
726
739
  {
727
- "source": "skills/claude-code/references/mcp-integration.md",
728
- "target": ".kiro/skills/claude-code/references/mcp-integration.md",
740
+ "source": "skills/kiro/references/skills.md",
741
+ "target": ".kiro/skills/kiro/references/skills.md",
729
742
  "type": "doc"
730
743
  },
731
744
  {
732
- "source": "skills/claude-code/references/slash-commands.md",
733
- "target": ".kiro/skills/claude-code/references/slash-commands.md",
745
+ "source": "skills/kiro/references/specs-workflow.md",
746
+ "target": ".kiro/skills/kiro/references/specs-workflow.md",
734
747
  "type": "doc"
735
748
  },
736
749
  {
737
- "source": "skills/claude-code/references/troubleshooting.md",
738
- "target": ".kiro/skills/claude-code/references/troubleshooting.md",
750
+ "source": "skills/kiro/references/steering-files.md",
751
+ "target": ".kiro/skills/kiro/references/steering-files.md",
739
752
  "type": "doc"
740
753
  },
741
754
  {
742
- "source": "skills/claude-code/skill.md",
743
- "target": ".kiro/skills/claude-code/skill.md",
755
+ "source": "skills/kiro/references/troubleshooting.md",
756
+ "target": ".kiro/skills/kiro/references/troubleshooting.md",
744
757
  "type": "doc"
745
758
  },
746
759
  {
@@ -0,0 +1,34 @@
1
+ {
2
+ "powers": [
3
+ {
4
+ "name": "ClickHouse",
5
+ "url": "https://kiro.dev/powers/click-house",
6
+ "description": "High-performance analytics database for data pipelines",
7
+ "tier": "essential"
8
+ },
9
+ {
10
+ "name": "Context7",
11
+ "url": "https://kiro.dev/powers/context7",
12
+ "description": "Up-to-date documentation lookup for libraries and frameworks",
13
+ "tier": "recommended"
14
+ },
15
+ {
16
+ "name": "Exa",
17
+ "url": "https://kiro.dev/powers/exa",
18
+ "description": "Web search and research for finding datasets and papers",
19
+ "tier": "recommended"
20
+ },
21
+ {
22
+ "name": "Neon",
23
+ "url": "https://kiro.dev/powers/neon",
24
+ "description": "Serverless Postgres for ML feature stores",
25
+ "tier": "optional"
26
+ },
27
+ {
28
+ "name": "New Relic",
29
+ "url": "https://kiro.dev/powers/new-relic",
30
+ "description": "Observability and performance monitoring for ML services",
31
+ "tier": "optional"
32
+ }
33
+ ]
34
+ }
@@ -0,0 +1,26 @@
1
+ # Autonomy Modes
2
+
3
+ ## Overview
4
+
5
+ Kiro offers two modes for how the AI agent interacts with your workspace.
6
+
7
+ ## Autopilot Mode
8
+
9
+ - Agent modifies files autonomously within the workspace
10
+ - Best for: routine tasks, well-defined changes, trusted workflows
11
+ - Changes are applied immediately
12
+ - Use when you trust the agent's judgment for the task
13
+
14
+ ## Supervised Mode
15
+
16
+ - User has opportunity to review and revert changes after application
17
+ - Best for: complex refactors, unfamiliar codebases, learning
18
+ - Changes can be inspected before accepting
19
+ - Use when you want more control over modifications
20
+
21
+ ## Choosing a Mode
22
+
23
+ - Start with Supervised for new projects or unfamiliar tasks
24
+ - Switch to Autopilot for repetitive, well-understood operations
25
+ - Use Supervised for security-sensitive changes
26
+ - Autopilot works well for spec task execution
@@ -0,0 +1,48 @@
1
+ # Best Practices
2
+
3
+ ## Project Organization
4
+
5
+ - Keep `.kiro/` directory in version control
6
+ - Use consistent naming (kebab-case for directories)
7
+ - Document custom skills and commands in project README
8
+ - Share steering files across team via git
9
+
10
+ ## Steering Conventions
11
+
12
+ - One topic per steering file
13
+ - Use "always" only for critical, universal rules
14
+ - Use "fileMatch" for language/framework-specific guidance
15
+ - Keep files concise (under 100 lines ideally)
16
+ - Include examples in steering content
17
+
18
+ ## Skill Design
19
+
20
+ - Focus each skill on one domain
21
+ - Write clear activation descriptions
22
+ - Use references for detailed content
23
+ - Keep main skill.md as an overview/router
24
+ - Test activation with various phrasings
25
+
26
+ ## Hook Patterns
27
+
28
+ - Use file hooks for linting and formatting
29
+ - Use postTaskExecution for test validation
30
+ - Use preToolUse for access control
31
+ - Keep hook commands fast (under 30 seconds)
32
+ - Log hook failures for debugging
33
+
34
+ ## Team Workflows
35
+
36
+ - Standardize steering files across projects
37
+ - Share skills via presets or git submodules
38
+ - Document MCP server requirements in README
39
+ - Use specs for all non-trivial features
40
+ - Review spec documents before task execution
41
+
42
+ ## Cost Management
43
+
44
+ - Use steering to keep responses focused
45
+ - Avoid overly broad "always" steering
46
+ - Disable unused MCP servers
47
+ - Use Supervised mode for exploratory work
48
+ - Keep skill references concise
@@ -0,0 +1,61 @@
1
+ # Commands
2
+
3
+ ## Overview
4
+
5
+ Commands are user-defined operations in `.kiro/commands/` that expand to prompts. They provide shortcuts for common workflows.
6
+
7
+ ## File Format
8
+
9
+ ```markdown
10
+ ---
11
+ description: Brief description of what this command does
12
+ inclusion: manual
13
+ argument-hint: "[pattern]"
14
+ ---
15
+
16
+ ## Arguments
17
+ PATTERN: $1 (default: all)
18
+
19
+ ## Workflow
20
+ 1. Step one
21
+ 2. Step two
22
+ 3. Step three
23
+ ```
24
+
25
+ ## Front-Matter
26
+
27
+ Required fields:
28
+ - `description`: What the command does
29
+
30
+ Optional fields:
31
+ - `inclusion`: "manual" (default)
32
+ - `argument-hint`: Hint for arguments shown to user
33
+
34
+ ## Arguments
35
+
36
+ Use `$1`, `$2`, etc. for positional arguments passed by the user.
37
+
38
+ ## Nested Commands
39
+
40
+ Commands can be organized in subdirectories:
41
+ ```
42
+ .kiro/commands/
43
+ test.md
44
+ fix/
45
+ types.md
46
+ test.md
47
+ fast.md
48
+ git/
49
+ cm.md
50
+ cp.md
51
+ pr.md
52
+ ```
53
+
54
+ Access nested commands with colon notation: `/fix:types`, `/git:cm`
55
+
56
+ ## Best Practices
57
+
58
+ - Keep commands focused on one workflow
59
+ - Include clear step-by-step instructions
60
+ - Use argument hints to guide users
61
+ - Document default behavior when no arguments provided
@@ -0,0 +1,41 @@
1
+ # Configuration
2
+
3
+ ## Settings Hierarchy
4
+
5
+ Settings are merged with precedence:
6
+ 1. User-level: `~/.kiro/settings/mcp.json` (global)
7
+ 2. Workspace-level: `.kiro/settings/mcp.json` (per project)
8
+
9
+ Workspace settings override user settings.
10
+
11
+ ## MCP Configuration
12
+
13
+ File: `.kiro/settings/mcp.json`
14
+
15
+ ```json
16
+ {
17
+ "mcpServers": {
18
+ "server-name": {
19
+ "command": "uvx",
20
+ "args": ["package-name@latest"],
21
+ "env": {
22
+ "API_KEY": "your-key"
23
+ },
24
+ "disabled": false,
25
+ "autoApprove": ["tool-name"]
26
+ }
27
+ }
28
+ }
29
+ ```
30
+
31
+ ## Key Settings
32
+
33
+ - `command`: Executable to run the MCP server
34
+ - `args`: Command-line arguments
35
+ - `env`: Environment variables passed to the server
36
+ - `disabled`: Enable/disable without removing config
37
+ - `autoApprove`: Tools that don't require user confirmation
38
+
39
+ ## Multi-Root Workspaces
40
+
41
+ Each workspace folder can have its own `.kiro/settings/mcp.json`. Configs merge with later folders taking precedence.
@@ -0,0 +1,45 @@
1
+ # Getting Started with Kiro
2
+
3
+ ## Prerequisites
4
+
5
+ - Supported OS: Windows, macOS, Linux
6
+ - Internet connection for AI features
7
+
8
+ ## Installation
9
+
10
+ Download Kiro from https://kiro.dev and install for your platform.
11
+
12
+ ## First Run
13
+
14
+ 1. Open Kiro
15
+ 2. Open or create a workspace folder
16
+ 3. Start chatting with the AI agent in the chat panel
17
+
18
+ ## Workspace Setup
19
+
20
+ Kiro stores configuration in `.kiro/` at the workspace root:
21
+
22
+ ```
23
+ .kiro/
24
+ settings/
25
+ mcp.json # MCP server configuration
26
+ steering/ # Steering files (conventions, rules)
27
+ skills/ # Custom skills
28
+ commands/ # Custom commands
29
+ hooks/ # Agent hooks
30
+ specs/ # Feature specs
31
+ ```
32
+
33
+ ## Authentication
34
+
35
+ - Sign in with your AWS account or supported identity provider
36
+ - API keys are managed automatically by the IDE
37
+
38
+ ## Key Concepts
39
+
40
+ - **Chat**: Interact with the AI agent directly
41
+ - **Specs**: Structured feature development (requirements -> design -> tasks)
42
+ - **Steering**: Project-level instructions that guide the AI
43
+ - **Skills**: Modular capabilities activated by context
44
+ - **Hooks**: Automated actions on IDE events
45
+ - **MCP**: External tool integrations
@@ -0,0 +1,99 @@
1
+ # Hooks
2
+
3
+ ## Overview
4
+
5
+ Hooks automate agent actions based on IDE events. When an event occurs, the specified action runs automatically.
6
+
7
+ ## Event Types
8
+
9
+ - `fileEdited`: When a user saves a code file
10
+ - `fileCreated`: When a user creates a new file
11
+ - `fileDeleted`: When the user deletes a file
12
+ - `userTriggered`: Manual trigger by user
13
+ - `promptSubmit`: When a message is sent to the agent
14
+ - `agentStop`: When an agent execution completes
15
+ - `preToolUse`: Before a tool is executed
16
+ - `postToolUse`: After a tool is executed
17
+ - `preTaskExecution`: Before a spec task starts
18
+ - `postTaskExecution`: After a spec task completes
19
+
20
+ ## Actions
21
+
22
+ - `askAgent`: Send a prompt to the agent
23
+ - `runCommand`: Execute a shell command
24
+
25
+ ## Hook Schema
26
+
27
+ ```json
28
+ {
29
+ "name": "Hook Name",
30
+ "version": "1.0.0",
31
+ "description": "Optional description",
32
+ "when": {
33
+ "type": "fileEdited",
34
+ "patterns": ["*.ts", "*.tsx"]
35
+ },
36
+ "then": {
37
+ "type": "runCommand",
38
+ "command": "npm run lint"
39
+ }
40
+ }
41
+ ```
42
+
43
+ ## File Events
44
+
45
+ Require `patterns` array with glob patterns:
46
+ ```json
47
+ {
48
+ "when": {
49
+ "type": "fileEdited",
50
+ "patterns": ["*.ts", "*.tsx"]
51
+ }
52
+ }
53
+ ```
54
+
55
+ ## Tool Events
56
+
57
+ Require `toolTypes` array with categories or regex:
58
+ ```json
59
+ {
60
+ "when": {
61
+ "type": "preToolUse",
62
+ "toolTypes": ["write"]
63
+ }
64
+ }
65
+ ```
66
+
67
+ Valid categories: `read`, `write`, `shell`, `web`, `spec`, `*`
68
+
69
+ ## Examples
70
+
71
+ ### Lint on Save
72
+ ```json
73
+ {
74
+ "name": "Lint on Save",
75
+ "version": "1.0.0",
76
+ "when": { "type": "fileEdited", "patterns": ["*.ts"] },
77
+ "then": { "type": "runCommand", "command": "npm run lint" }
78
+ }
79
+ ```
80
+
81
+ ### Run Tests After Task
82
+ ```json
83
+ {
84
+ "name": "Test After Task",
85
+ "version": "1.0.0",
86
+ "when": { "type": "postTaskExecution" },
87
+ "then": { "type": "runCommand", "command": "npm test" }
88
+ }
89
+ ```
90
+
91
+ ### Review Writes
92
+ ```json
93
+ {
94
+ "name": "Review Writes",
95
+ "version": "1.0.0",
96
+ "when": { "type": "preToolUse", "toolTypes": ["write"] },
97
+ "then": { "type": "askAgent", "prompt": "Verify this follows coding standards" }
98
+ }
99
+ ```