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,53 @@
1
+ # MCP Integration
2
+
3
+ ## Overview
4
+
5
+ Model Context Protocol (MCP) connects external tools and services to Kiro. Servers provide tools that the AI agent can invoke.
6
+
7
+ ## Configuration
8
+
9
+ File: `.kiro/settings/mcp.json`
10
+
11
+ ```json
12
+ {
13
+ "mcpServers": {
14
+ "server-name": {
15
+ "command": "uvx",
16
+ "args": ["package@latest"],
17
+ "env": {},
18
+ "disabled": false,
19
+ "autoApprove": []
20
+ }
21
+ }
22
+ }
23
+ ```
24
+
25
+ ## Common Servers
26
+
27
+ - `awslabs.aws-documentation-mcp-server` - AWS documentation
28
+ - `@anthropic/mcp-server-filesystem` - File system access
29
+ - `@anthropic/mcp-server-github` - GitHub integration
30
+
31
+ ## Installation
32
+
33
+ Most MCP servers use `uvx` (from the `uv` Python package manager):
34
+ 1. Install `uv`: https://docs.astral.sh/uv/getting-started/installation/
35
+ 2. Add server config to mcp.json
36
+ 3. Server auto-starts on config change
37
+
38
+ ## Auto-Approve
39
+
40
+ List tool names in `autoApprove` to skip confirmation prompts:
41
+ ```json
42
+ {
43
+ "autoApprove": ["read_file", "search_files"]
44
+ }
45
+ ```
46
+
47
+ ## Troubleshooting
48
+
49
+ - Check server logs in Kiro's MCP Server view
50
+ - Verify `uvx` is installed and accessible
51
+ - Ensure environment variables are set correctly
52
+ - Use command palette: "MCP" to find relevant commands
53
+ - Servers reconnect automatically on config changes
@@ -0,0 +1,55 @@
1
+ # Skills
2
+
3
+ ## Overview
4
+
5
+ Skills are modular capabilities that Kiro activates automatically based on context. They provide specialized knowledge and workflows.
6
+
7
+ ## Structure
8
+
9
+ ```
10
+ .kiro/skills/{skill-name}/
11
+ skill.md # Main skill file (required)
12
+ references/ # Supporting documents (optional)
13
+ guide.md
14
+ examples.md
15
+ ```
16
+
17
+ ## skill.md Format
18
+
19
+ ```markdown
20
+ ---
21
+ name: my-skill
22
+ description: >-
23
+ When to activate this skill. Include trigger phrases
24
+ and use cases.
25
+ ---
26
+
27
+ # Skill Title
28
+
29
+ Content, instructions, and guidance...
30
+
31
+ ## References
32
+
33
+ - `references/guide.md` - Detailed guide
34
+ ```
35
+
36
+ ## Front-Matter
37
+
38
+ Required fields:
39
+ - `name`: Skill identifier (kebab-case)
40
+ - `description`: Activation description (when should Kiro use this skill)
41
+
42
+ ## Activation
43
+
44
+ Skills activate automatically when:
45
+ - User's message matches the description keywords
46
+ - Context suggests the skill is relevant
47
+ - User explicitly references the skill
48
+
49
+ ## Best Practices
50
+
51
+ - Keep descriptions specific about when to activate
52
+ - Use references for detailed content (keeps main file focused)
53
+ - One skill per domain/topic
54
+ - Include examples in the skill content
55
+ - Reference external docs when available
@@ -0,0 +1,62 @@
1
+ # Specs Workflow
2
+
3
+ ## Overview
4
+
5
+ Specs are a structured way of building and documenting features. A spec formalizes the design and implementation process through requirements, design, and implementation tasks.
6
+
7
+ ## Spec Types
8
+
9
+ ### Feature Spec
10
+ - Requirements -> Design -> Tasks (requirements-first)
11
+ - Design -> Requirements -> Tasks (design-first)
12
+
13
+ ### Bugfix Spec
14
+ - Bug condition methodology
15
+ - Exploration tests to confirm bug exists
16
+ - Fix implementation with property-based testing
17
+
18
+ ## File Structure
19
+
20
+ ```
21
+ .kiro/specs/{feature-name}/
22
+ requirements.md # User stories and acceptance criteria
23
+ design.md # Technical design document
24
+ tasks.md # Implementation task list
25
+ ```
26
+
27
+ ## Workflow
28
+
29
+ 1. **Start a spec**: Tell Kiro you want to build a feature
30
+ 2. **Choose approach**: Requirements-first or Design-first
31
+ 3. **Iterate on documents**: Review and refine with Kiro
32
+ 4. **Execute tasks**: Kiro implements tasks sequentially
33
+ 5. **Validate**: Tests verify correctness
34
+
35
+ ## Requirements Document
36
+
37
+ Contains:
38
+ - User stories with acceptance criteria
39
+ - Correctness properties (formal specifications)
40
+ - Constraints and assumptions
41
+
42
+ ## Design Document
43
+
44
+ Contains:
45
+ - High-level architecture
46
+ - Data models and schemas
47
+ - API contracts
48
+ - Component interactions
49
+
50
+ ## Tasks Document
51
+
52
+ Contains:
53
+ - Ordered implementation tasks
54
+ - Sub-tasks with checkboxes
55
+ - Dependencies between tasks
56
+
57
+ ## Property-Based Testing
58
+
59
+ Specs encourage formal correctness properties:
60
+ - Define what "correct" means for your feature
61
+ - Encode properties as executable tests
62
+ - Use property-based testing frameworks (fast-check, hypothesis)
@@ -0,0 +1,84 @@
1
+ # Steering Files
2
+
3
+ ## Overview
4
+
5
+ Steering files provide additional context and instructions to the AI agent. They live in `.kiro/steering/` and influence all interactions.
6
+
7
+ ## Inclusion Modes
8
+
9
+ ### Always Included (default)
10
+ ```markdown
11
+ ---
12
+ inclusion: always
13
+ description: Project coding standards
14
+ ---
15
+
16
+ Your instructions here...
17
+ ```
18
+
19
+ ### Conditional (fileMatch)
20
+ Only included when matching files are read into context:
21
+ ```markdown
22
+ ---
23
+ inclusion: fileMatch
24
+ fileMatchPattern: "*.test.ts"
25
+ description: Testing conventions
26
+ ---
27
+
28
+ Your testing instructions here...
29
+ ```
30
+
31
+ ### Manual
32
+ Only included when user explicitly references via `#` in chat:
33
+ ```markdown
34
+ ---
35
+ inclusion: manual
36
+ description: Database migration guide
37
+ ---
38
+
39
+ Your migration guide here...
40
+ ```
41
+
42
+ ## Front-Matter Schema
43
+
44
+ Required fields:
45
+ - `inclusion`: "always" | "fileMatch" | "manual"
46
+ - `description`: Brief description of the steering file
47
+
48
+ Optional fields:
49
+ - `fileMatchPattern`: Glob pattern (required for fileMatch inclusion)
50
+
51
+ ## Best Practices
52
+
53
+ - Keep steering files focused on one topic
54
+ - Use "always" sparingly to avoid context bloat
55
+ - Use "fileMatch" for language/framework-specific conventions
56
+ - Use "manual" for reference material not needed every time
57
+ - Include file references with `#[[file:relative/path]]` syntax
58
+
59
+ ## Examples
60
+
61
+ ### Code Standards
62
+ ```markdown
63
+ ---
64
+ inclusion: always
65
+ description: TypeScript coding standards
66
+ ---
67
+
68
+ - Use strict mode, no `any` types
69
+ - Prefer interfaces for props, types for unions
70
+ - Use Zod for runtime validation
71
+ ```
72
+
73
+ ### API Conventions (conditional)
74
+ ```markdown
75
+ ---
76
+ inclusion: fileMatch
77
+ fileMatchPattern: "**/api/**/*.ts"
78
+ description: API route conventions
79
+ ---
80
+
81
+ - Use parameterized queries
82
+ - Validate input with Zod
83
+ - Return consistent error format
84
+ ```
@@ -0,0 +1,42 @@
1
+ # Troubleshooting
2
+
3
+ ## Common Issues
4
+
5
+ ### MCP Server Not Starting
6
+ - Verify `uvx` is installed: run `uvx --version`
7
+ - Check mcp.json syntax (valid JSON)
8
+ - Ensure environment variables are set
9
+ - Check Kiro's MCP Server view for error logs
10
+ - Try restarting from command palette
11
+
12
+ ### Steering Files Not Loading
13
+ - Verify front-matter has correct `inclusion` field
14
+ - Check file is in `.kiro/steering/` directory
15
+ - For fileMatch, verify pattern matches target files
16
+ - Ensure no YAML syntax errors in front-matter
17
+
18
+ ### Skills Not Activating
19
+ - Check skill.md has valid front-matter (name, description)
20
+ - Verify skill directory is in `.kiro/skills/`
21
+ - Ensure description contains relevant trigger keywords
22
+ - Try referencing the skill explicitly
23
+
24
+ ### Hooks Not Triggering
25
+ - Verify hook JSON schema is valid
26
+ - Check event type matches expected trigger
27
+ - For file events, verify patterns match file paths
28
+ - Check command exists and is executable
29
+
30
+ ### Performance Issues
31
+ - Reduce number of "always" steering files
32
+ - Keep skill references focused and concise
33
+ - Disable unused MCP servers
34
+ - Clear workspace cache if needed
35
+
36
+ ## Debug Steps
37
+
38
+ 1. Check Kiro output panel for errors
39
+ 2. Verify `.kiro/` directory structure
40
+ 3. Validate JSON/YAML syntax in config files
41
+ 4. Try disabling extensions one by one
42
+ 5. Restart Kiro if issues persist
@@ -0,0 +1,194 @@
1
+ ---
2
+ name: kiro
3
+ description: >-
4
+ Use when users ask about Kiro IDE features, setup, configuration,
5
+ troubleshooting, specs, steering files, MCP servers, hooks, skills,
6
+ commands, or workspace management. Activate for questions like 'How
7
+ do I use Kiro?', 'What are specs?', 'How to set up MCP?', 'Create a
8
+ steering file', 'Fix Kiro issues', or 'Configure my workspace'.
9
+ ---
10
+
11
+ # Kiro IDE Expert
12
+
13
+ Kiro is an AI-powered development environment that helps developers focus on what matters: designing systems, exploring solutions, and making decisions. It combines autonomous planning, execution, and validation with extensibility through specs, steering files, skills, commands, hooks, and MCP servers.
14
+
15
+ ## When to Use This Skill
16
+
17
+ Use when users need help with:
18
+ - Understanding Kiro features and capabilities
19
+ - Installation, setup, and workspace configuration
20
+ - Creating and managing specs (requirements, design, tasks)
21
+ - Writing steering files for project conventions
22
+ - Creating or managing skills
23
+ - Configuring MCP servers for external tool integration
24
+ - Setting up hooks for automation
25
+ - Using commands for development workflows
26
+ - Troubleshooting Kiro issues
27
+ - Multi-workspace and team collaboration
28
+ - Advanced features (autonomy modes, context management)
29
+
30
+ **Activation examples:**
31
+ - "How do I use Kiro?"
32
+ - "What are specs and how do I create one?"
33
+ - "How to set up MCP servers?"
34
+ - "Create a new steering file for X"
35
+ - "Fix Kiro configuration issues"
36
+ - "How do hooks work in Kiro?"
37
+
38
+ ## Core Architecture
39
+
40
+ **Specs**: Structured feature development workflow (requirements -> design -> tasks) that guides implementation systematically
41
+
42
+ **Steering Files**: Project-level instructions in `.kiro/steering/` that provide conventions, standards, and context to the AI agent
43
+
44
+ **Skills**: Modular capabilities with instructions and references that Kiro activates automatically based on context
45
+
46
+ **Commands**: User-defined operations in `.kiro/commands/` that expand to prompts for common workflows
47
+
48
+ **Hooks**: Automated actions triggered by IDE events (file changes, tool use, task execution, prompt submission)
49
+
50
+ **MCP Servers**: Model Context Protocol integrations connecting external tools and services via `.kiro/settings/mcp.json`
51
+
52
+ ## Quick Reference
53
+
54
+ Load these references when needed for detailed guidance:
55
+
56
+ ### Getting Started
57
+ - **Installation & Setup**: `references/getting-started.md`
58
+ - Prerequisites, installation, workspace setup, first run
59
+
60
+ ### Spec-Driven Development
61
+ - **Specs Workflow**: `references/specs-workflow.md`
62
+ - Requirements, design, tasks, bugfix specs, property-based testing
63
+
64
+ ### Steering & Configuration
65
+ - **Steering Files**: `references/steering-files.md`
66
+ - Always-included, conditional (fileMatch), manual inclusion, front-matter format
67
+
68
+ - **Configuration**: `references/configuration.md`
69
+ - Settings hierarchy, MCP config, workspace vs user settings
70
+
71
+ ### Skills & Commands
72
+ - **Skills**: `references/skills.md`
73
+ - Creating skills, skill.md format, references directory, activation patterns
74
+
75
+ - **Commands**: `references/commands.md`
76
+ - Command file format, front-matter, argument hints, workflow patterns
77
+
78
+ ### Integration & Extension
79
+ - **MCP Integration**: `references/mcp-integration.md`
80
+ - mcp.json configuration, common servers, auto-approve, troubleshooting
81
+
82
+ - **Hooks**: `references/hooks.md`
83
+ - Event types (fileEdited, preToolUse, postToolUse, promptSubmit, etc.)
84
+ - Actions (askAgent, runCommand), hook schema, examples
85
+
86
+ ### Advanced Usage
87
+ - **Autonomy Modes**: `references/autonomy-modes.md`
88
+ - Autopilot vs Supervised mode, when to use each
89
+
90
+ - **Troubleshooting**: `references/troubleshooting.md`
91
+ - Common issues, MCP problems, performance, workspace diagnostics
92
+
93
+ - **Best Practices**: `references/best-practices.md`
94
+ - Project organization, steering conventions, skill design, team workflows
95
+
96
+ ## Common Workflows
97
+
98
+ ### Spec-Driven Feature Development
99
+ ```
100
+ 1. Create a spec: Kiro guides you through requirements -> design -> tasks
101
+ 2. Execute tasks: Kiro implements each task from the spec sequentially
102
+ 3. Validate: Property-based tests verify correctness properties
103
+ ```
104
+
105
+ ### Steering File Setup
106
+ ```
107
+ # .kiro/steering/my-conventions.md
108
+ ---
109
+ inclusion: always
110
+ description: Project coding conventions
111
+ ---
112
+
113
+ Your conventions here...
114
+ ```
115
+
116
+ ### Hook Configuration
117
+ ```json
118
+ {
119
+ "name": "Lint on Save",
120
+ "version": "1.0.0",
121
+ "when": {
122
+ "type": "fileEdited",
123
+ "patterns": ["*.ts", "*.tsx"]
124
+ },
125
+ "then": {
126
+ "type": "runCommand",
127
+ "command": "npm run lint"
128
+ }
129
+ }
130
+ ```
131
+
132
+ ### MCP Server Setup
133
+ ```json
134
+ {
135
+ "mcpServers": {
136
+ "my-server": {
137
+ "command": "uvx",
138
+ "args": ["my-mcp-server@latest"],
139
+ "env": {},
140
+ "disabled": false,
141
+ "autoApprove": []
142
+ }
143
+ }
144
+ }
145
+ ```
146
+
147
+ ### Skill Creation
148
+ ```
149
+ .kiro/skills/my-skill/
150
+ skill.md # Main skill file with front-matter
151
+ references/ # Supporting reference documents
152
+ guide.md
153
+ ```
154
+
155
+ ## Instructions for Kiro
156
+
157
+ When responding to Kiro-related questions:
158
+
159
+ 1. **Identify the topic** from the user's question
160
+ 2. **Load relevant references** from the Quick Reference section above
161
+ 3. **Provide specific guidance** using information from loaded references
162
+ 4. **Include examples** when helpful
163
+
164
+ **Loading references:**
165
+ - Read reference files only when needed for the specific question
166
+ - Multiple references can be loaded for complex queries
167
+
168
+ **For setup questions:** Load `references/getting-started.md`
169
+
170
+ **For spec questions:** Load `references/specs-workflow.md`
171
+
172
+ **For steering questions:** Load `references/steering-files.md`
173
+
174
+ **For skill creation:** Load `references/skills.md`
175
+
176
+ **For command questions:** Load `references/commands.md`
177
+
178
+ **For MCP questions:** Load `references/mcp-integration.md`
179
+
180
+ **For hook questions:** Load `references/hooks.md`
181
+
182
+ **For configuration:** Load `references/configuration.md`
183
+
184
+ **For autonomy modes:** Load `references/autonomy-modes.md`
185
+
186
+ **For troubleshooting:** Load `references/troubleshooting.md`
187
+
188
+ **For best practices:** Load `references/best-practices.md`
189
+
190
+ **Documentation links:**
191
+ - Kiro docs: https://kiro.dev/docs/
192
+ - GitHub: https://github.com/aws/kiro
193
+
194
+ Provide accurate, actionable guidance based on the loaded references and official documentation.
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Checks Dockerfile for security best practices: non-root user,
4
+ * no latest tag, and multi-stage build usage.
5
+ */
6
+
7
+ const fs = require('fs');
8
+ const path = require('path');
9
+
10
+ const cwd = process.cwd();
11
+ const DOCKERFILE_NAMES = ['Dockerfile', 'dockerfile', 'Containerfile'];
12
+
13
+ function findDockerfiles(dir) {
14
+ const results = [];
15
+ try {
16
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
17
+ for (const entry of entries) {
18
+ if (entry.isFile() && (DOCKERFILE_NAMES.includes(entry.name) || entry.name.startsWith('Dockerfile.'))) {
19
+ results.push(path.join(dir, entry.name));
20
+ } else if (entry.isDirectory() && !['node_modules', '.git', '.terraform'].includes(entry.name)) {
21
+ results.push(...findDockerfiles(path.join(dir, entry.name)));
22
+ }
23
+ }
24
+ } catch (e) { /* skip */ }
25
+ return results;
26
+ }
27
+
28
+ const dockerfiles = findDockerfiles(cwd);
29
+
30
+ if (dockerfiles.length === 0) {
31
+ process.exit(0);
32
+ }
33
+
34
+ const issues = [];
35
+
36
+ for (const df of dockerfiles) {
37
+ const content = fs.readFileSync(df, 'utf8');
38
+ const rel = path.relative(cwd, df);
39
+ const lines = content.split('\n');
40
+
41
+ // Check for latest tag
42
+ const fromLines = lines.filter((l) => /^\s*FROM\s+/i.test(l));
43
+ for (const line of fromLines) {
44
+ if (/:latest\b/.test(line) || (/^\s*FROM\s+\S+\s*/i.test(line) && !/:/.test(line) && !/\s+AS\s+/i.test(line.split(/\s+/).slice(2).join(' ')))) {
45
+ if (!/:/.test(line.split(/\s+/)[1] || '')) {
46
+ issues.push(`${rel}: FROM without pinned version tag`);
47
+ }
48
+ }
49
+ if (/:latest/.test(line)) {
50
+ issues.push(`${rel}: Uses :latest tag (pin a specific version)`);
51
+ }
52
+ }
53
+
54
+ // Check for non-root user
55
+ const hasUser = /^\s*USER\s+(?!root)/im.test(content);
56
+ if (!hasUser) {
57
+ issues.push(`${rel}: No non-root USER directive found`);
58
+ }
59
+
60
+ // Check for multi-stage build
61
+ if (fromLines.length < 2) {
62
+ issues.push(`${rel}: Single-stage build (consider multi-stage for smaller images)`);
63
+ }
64
+ }
65
+
66
+ if (issues.length > 0) {
67
+ process.stdout.write('[container-scan] Dockerfile security issues:\n');
68
+ issues.forEach((i) => process.stdout.write(` - ${i}\n`));
69
+ process.exit(1);
70
+ }
71
+
72
+ process.stdout.write('[container-scan] All Dockerfiles pass security checks.\n');
73
+ process.exit(0);
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Scans terraform files for expensive resource types (RDS, NAT Gateway, EKS)
4
+ * and flags them for cost review.
5
+ */
6
+
7
+ const fs = require('fs');
8
+ const path = require('path');
9
+
10
+ const EXPENSIVE_RESOURCES = [
11
+ { pattern: /resource\s+"aws_db_instance"/, label: 'RDS Instance', note: 'Consider Aurora Serverless for variable workloads' },
12
+ { pattern: /resource\s+"aws_nat_gateway"/, label: 'NAT Gateway', note: 'Costs ~$32/month per AZ plus data transfer' },
13
+ { pattern: /resource\s+"aws_eks_cluster"/, label: 'EKS Cluster', note: 'Costs $0.10/hour (~$73/month) per cluster' },
14
+ { pattern: /resource\s+"aws_elasticsearch_domain"/, label: 'Elasticsearch', note: 'Consider OpenSearch Serverless for variable usage' },
15
+ { pattern: /resource\s+"aws_redshift_cluster"/, label: 'Redshift Cluster', note: 'Consider Redshift Serverless for intermittent queries' },
16
+ { pattern: /resource\s+"aws_msk_cluster"/, label: 'MSK Cluster', note: 'Minimum 3 brokers required, consider MSK Serverless' },
17
+ { pattern: /resource\s+"aws_fsx_/, label: 'FSx File System', note: 'High baseline cost, verify storage requirements' },
18
+ { pattern: /resource\s+"google_container_cluster"/, label: 'GKE Cluster', note: 'Management fee applies per cluster' },
19
+ { pattern: /resource\s+"azurerm_kubernetes_cluster"/, label: 'AKS Cluster', note: 'Node pool costs can escalate quickly' },
20
+ ];
21
+
22
+ const TF_EXTENSIONS = ['.tf', '.tf.json'];
23
+ const cwd = process.cwd();
24
+
25
+ function findTfFiles(dir, depth) {
26
+ const results = [];
27
+ if (depth > 3 || !fs.existsSync(dir)) return results;
28
+ try {
29
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
30
+ for (const entry of entries) {
31
+ const full = path.join(dir, entry.name);
32
+ if (entry.isDirectory() && !['.terraform', 'node_modules', '.git'].includes(entry.name)) {
33
+ results.push(...findTfFiles(full, depth + 1));
34
+ } else if (entry.isFile() && TF_EXTENSIONS.some((ext) => entry.name.endsWith(ext))) {
35
+ results.push(full);
36
+ }
37
+ }
38
+ } catch (e) { /* skip */ }
39
+ return results;
40
+ }
41
+
42
+ const tfFiles = findTfFiles(cwd, 0);
43
+
44
+ if (tfFiles.length === 0) {
45
+ process.exit(0);
46
+ }
47
+
48
+ const findings = [];
49
+
50
+ for (const file of tfFiles) {
51
+ const content = fs.readFileSync(file, 'utf8');
52
+ const rel = path.relative(cwd, file);
53
+
54
+ for (const { pattern, label, note } of EXPENSIVE_RESOURCES) {
55
+ if (pattern.test(content)) {
56
+ findings.push({ file: rel, label, note });
57
+ }
58
+ }
59
+ }
60
+
61
+ if (findings.length > 0) {
62
+ process.stdout.write('[cost-estimation] Expensive resources detected for cost review:\n');
63
+ findings.forEach((f) => {
64
+ process.stdout.write(` - ${f.file}: ${f.label}\n ${f.note}\n`);
65
+ });
66
+ process.exit(1);
67
+ }
68
+
69
+ process.exit(0);
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Parses terraform plan output for destructive changes (destroy, replace)
4
+ * and highlights them for review.
5
+ */
6
+
7
+ const fs = require('fs');
8
+ const path = require('path');
9
+ const { execSync } = require('child_process');
10
+
11
+ const cwd = process.cwd();
12
+ const PLAN_FILES = ['tfplan.txt', 'plan.txt', 'terraform.plan.txt'];
13
+
14
+ let planContent = '';
15
+
16
+ // Try to read a saved plan output file
17
+ for (const pf of PLAN_FILES) {
18
+ const full = path.resolve(cwd, pf);
19
+ if (fs.existsSync(full)) {
20
+ planContent = fs.readFileSync(full, 'utf8');
21
+ break;
22
+ }
23
+ }
24
+
25
+ // If no plan file, try to run terraform show on binary plan
26
+ if (!planContent) {
27
+ const binaryPlan = path.resolve(cwd, 'tfplan');
28
+ if (fs.existsSync(binaryPlan)) {
29
+ try {
30
+ planContent = execSync('terraform show -no-color tfplan', {
31
+ cwd,
32
+ encoding: 'utf8',
33
+ timeout: 30000,
34
+ });
35
+ } catch (e) { /* skip */ }
36
+ }
37
+ }
38
+
39
+ if (!planContent) {
40
+ process.exit(0);
41
+ }
42
+
43
+ const DESTRUCTIVE_PATTERNS = [
44
+ { pattern: /will be destroyed/g, label: 'DESTROY' },
45
+ { pattern: /must be replaced/g, label: 'REPLACE' },
46
+ { pattern: /forces replacement/g, label: 'FORCE REPLACE' },
47
+ ];
48
+
49
+ const findings = [];
50
+
51
+ for (const { pattern, label } of DESTRUCTIVE_PATTERNS) {
52
+ const matches = planContent.match(pattern);
53
+ if (matches) {
54
+ findings.push({ label, count: matches.length });
55
+ }
56
+ }
57
+
58
+ if (findings.length > 0) {
59
+ process.stdout.write('[terraform-plan-review] Destructive changes detected:\n');
60
+ findings.forEach((f) => {
61
+ process.stdout.write(` - ${f.label}: ${f.count} resource(s)\n`);
62
+ });
63
+ process.stdout.write(' Review plan carefully before applying.\n');
64
+ process.exit(1);
65
+ }
66
+
67
+ process.exit(0);