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
@@ -1,441 +0,0 @@
1
- # Hooks and Plugins
2
-
3
- Customize and extend Claude Code behavior with hooks and plugins.
4
-
5
- ## Hooks System
6
-
7
- Hooks are shell commands that execute in response to events.
8
-
9
- ### Hook Types
10
-
11
- **Pre-tool hooks**: Execute before tool calls
12
- **Post-tool hooks**: Execute after tool calls
13
- **User prompt submit hooks**: Execute when user submits prompts
14
-
15
- ### Configuration
16
-
17
- Hooks are configured in `.kiro/hooks.json`:
18
-
19
- ```json
20
- {
21
- "hooks": {
22
- "pre-tool": {
23
- "bash": "echo 'Running: $TOOL_ARGS'",
24
- "write": "./scripts/validate-write.sh"
25
- },
26
- "post-tool": {
27
- "write": "./scripts/format-code.sh",
28
- "edit": "prettier --write $FILE_PATH"
29
- },
30
- "user-prompt-submit": "./scripts/validate-request.sh"
31
- }
32
- }
33
- ```
34
-
35
- ### Environment Variables
36
-
37
- Available in hook scripts:
38
-
39
- **All hooks:**
40
- - `$TOOL_NAME`: Name of the tool being called
41
- - `$TOOL_ARGS`: JSON string of tool arguments
42
-
43
- **Post-tool only:**
44
- - `$TOOL_RESULT`: Tool execution result
45
-
46
- **User-prompt-submit only:**
47
- - `$USER_PROMPT`: User's prompt text
48
-
49
- ### Hook Examples
50
-
51
- #### Pre-tool: Security Validation
52
- ```bash
53
- #!/bin/bash
54
- # .kiro/scripts/validate-bash.sh
55
-
56
- # Block dangerous commands
57
- if echo "$TOOL_ARGS" | grep -E "rm -rf /|format|mkfs"; then
58
- echo "❌ Dangerous command blocked"
59
- exit 1
60
- fi
61
-
62
- echo "✓ Command validated"
63
- ```
64
-
65
- **Configuration:**
66
- ```json
67
- {
68
- "hooks": {
69
- "pre-tool": {
70
- "bash": "./.kiro/scripts/validate-bash.sh"
71
- }
72
- }
73
- }
74
- ```
75
-
76
- #### Post-tool: Auto-format
77
- ```bash
78
- #!/bin/bash
79
- # .kiro/scripts/format-code.sh
80
-
81
- # Extract file path from tool args
82
- FILE_PATH=$(echo "$TOOL_ARGS" | jq -r '.file_path')
83
-
84
- # Format based on file type
85
- case "$FILE_PATH" in
86
- *.js|*.ts|*.jsx|*.tsx)
87
- prettier --write "$FILE_PATH"
88
- ;;
89
- *.py)
90
- black "$FILE_PATH"
91
- ;;
92
- *.go)
93
- gofmt -w "$FILE_PATH"
94
- ;;
95
- esac
96
- ```
97
-
98
- **Configuration:**
99
- ```json
100
- {
101
- "hooks": {
102
- "post-tool": {
103
- "write": "./.kiro/scripts/format-code.sh",
104
- "edit": "./.kiro/scripts/format-code.sh"
105
- }
106
- }
107
- }
108
- ```
109
-
110
- #### User-prompt-submit: Cost Tracking
111
- ```bash
112
- #!/bin/bash
113
- # .kiro/scripts/track-usage.sh
114
-
115
- # Log prompt
116
- echo "$(date): $USER_PROMPT" >> .kiro/usage.log
117
-
118
- # Estimate tokens (rough)
119
- TOKEN_COUNT=$(echo "$USER_PROMPT" | wc -w)
120
- echo "Estimated tokens: $TOKEN_COUNT"
121
- ```
122
-
123
- **Configuration:**
124
- ```json
125
- {
126
- "hooks": {
127
- "user-prompt-submit": "./.kiro/scripts/track-usage.sh"
128
- }
129
- }
130
- ```
131
-
132
- ### Hook Best Practices
133
-
134
- **Performance**: Keep hooks fast (<100ms)
135
- **Reliability**: Handle errors gracefully
136
- **Security**: Validate all inputs
137
- **Logging**: Log important actions
138
- **Testing**: Test hooks thoroughly
139
-
140
- ### Hook Errors
141
-
142
- When a hook fails:
143
- - Pre-tool hook failure blocks tool execution
144
- - Post-tool hook failure is logged but doesn't block
145
- - User can configure strict mode to block on all failures
146
-
147
- ## Plugins System
148
-
149
- Plugins are packaged collections of extensions.
150
-
151
- ### Plugin Structure
152
-
153
- ```
154
- my-plugin/
155
- ├── plugin.json # Plugin metadata
156
- ├── commands/ # Slash commands
157
- │ ├── my-command.md
158
- │ └── another-command.md
159
- ├── skills/ # Agent skills
160
- │ └── my-skill/
161
- │ └── SKILL.md
162
- ├── hooks/ # Hook scripts
163
- │ ├── hooks.json
164
- │ └── scripts/
165
- ├── mcp/ # MCP server configurations
166
- │ └── mcp.json
167
- └── README.md # Documentation
168
- ```
169
-
170
- ### plugin.json
171
-
172
- ```json
173
- {
174
- "name": "my-plugin",
175
- "version": "1.0.0",
176
- "description": "Plugin description",
177
- "author": "Your Name",
178
- "homepage": "https://github.com/user/plugin",
179
- "license": "MIT",
180
- "commands": ["commands/*.md"],
181
- "skills": ["skills/*/"],
182
- "hooks": "hooks/hooks.json",
183
- "mcpServers": "mcp/mcp.json",
184
- "dependencies": {
185
- "node": ">=18.0.0"
186
- }
187
- }
188
- ```
189
-
190
- ### Installing Plugins
191
-
192
- #### From GitHub
193
- ```bash
194
- claude plugin install gh:username/repo
195
- claude plugin install gh:username/repo@v1.0.0
196
- ```
197
-
198
- #### From npm
199
- ```bash
200
- claude plugin install npm:package-name
201
- claude plugin install npm:@scope/package-name
202
- ```
203
-
204
- #### From Local Path
205
- ```bash
206
- claude plugin install ./path/to/plugin
207
- claude plugin install ~/plugins/my-plugin
208
- ```
209
-
210
- #### From URL
211
- ```bash
212
- claude plugin install https://example.com/plugin.zip
213
- ```
214
-
215
- ### Managing Plugins
216
-
217
- #### List Installed Plugins
218
- ```bash
219
- claude plugin list
220
- ```
221
-
222
- #### Update Plugin
223
- ```bash
224
- claude plugin update my-plugin
225
- claude plugin update --all
226
- ```
227
-
228
- #### Uninstall Plugin
229
- ```bash
230
- claude plugin uninstall my-plugin
231
- ```
232
-
233
- #### Enable/Disable Plugin
234
- ```bash
235
- claude plugin disable my-plugin
236
- claude plugin enable my-plugin
237
- ```
238
-
239
- ### Creating Plugins
240
-
241
- #### Initialize Plugin
242
- ```bash
243
- mkdir my-plugin
244
- cd my-plugin
245
- ```
246
-
247
- #### Create plugin.json
248
- ```json
249
- {
250
- "name": "my-plugin",
251
- "version": "1.0.0",
252
- "description": "My awesome plugin",
253
- "author": "Your Name",
254
- "commands": ["commands/*.md"],
255
- "skills": ["skills/*/"]
256
- }
257
- ```
258
-
259
- #### Add Components
260
- ```bash
261
- # Add slash command
262
- mkdir -p commands
263
- cat > commands/my-command.md <<EOF
264
- # My Command
265
- Do something awesome with {{input}}.
266
- EOF
267
-
268
- # Add skill
269
- mkdir -p skills/my-skill
270
- cat > skills/my-skill/skill.json <<EOF
271
- {
272
- "name": "my-skill",
273
- "description": "Does something",
274
- "version": "1.0.0"
275
- }
276
- EOF
277
- ```
278
-
279
- #### Package Plugin
280
- ```bash
281
- # Create archive
282
- tar -czf my-plugin.tar.gz .
283
-
284
- # Or zip
285
- zip -r my-plugin.zip .
286
- ```
287
-
288
- ### Publishing Plugins
289
-
290
- #### To GitHub
291
- ```bash
292
- git init
293
- git add .
294
- git commit -m "Initial commit"
295
- git tag v1.0.0
296
- git push origin main --tags
297
- ```
298
-
299
- #### To npm
300
- ```bash
301
- npm init
302
- npm publish
303
- ```
304
-
305
- ### Plugin Marketplaces
306
-
307
- Organizations can create private plugin marketplaces.
308
-
309
- #### Configure Marketplace
310
- ```json
311
- {
312
- "marketplaces": [
313
- {
314
- "name": "company-internal",
315
- "url": "https://plugins.company.com/catalog.json",
316
- "auth": {
317
- "type": "bearer",
318
- "token": "${COMPANY_PLUGIN_TOKEN}"
319
- }
320
- }
321
- ]
322
- }
323
- ```
324
-
325
- #### Marketplace Catalog Format
326
- ```json
327
- {
328
- "plugins": [
329
- {
330
- "name": "company-plugin",
331
- "version": "1.0.0",
332
- "description": "Internal plugin",
333
- "downloadUrl": "https://plugins.company.com/company-plugin-1.0.0.zip",
334
- "checksum": "sha256:abc123..."
335
- }
336
- ]
337
- }
338
- ```
339
-
340
- #### Install from Marketplace
341
- ```bash
342
- claude plugin install company-internal:company-plugin
343
- ```
344
-
345
- ## Example Plugin: Code Quality
346
-
347
- ### Structure
348
- ```
349
- code-quality-plugin/
350
- ├── plugin.json
351
- ├── commands/
352
- │ ├── lint.md
353
- │ └── format.md
354
- ├── skills/
355
- │ └── code-review/
356
- │ └── SKILL.md
357
- └── hooks/
358
- ├── hooks.json
359
- └── scripts/
360
- └── auto-lint.sh
361
- ```
362
-
363
- ### plugin.json
364
- ```json
365
- {
366
- "name": "code-quality",
367
- "version": "1.0.0",
368
- "description": "Code quality tools and automation",
369
- "commands": ["commands/*.md"],
370
- "skills": ["skills/*/"],
371
- "hooks": "hooks/hooks.json"
372
- }
373
- ```
374
-
375
- ### commands/lint.md
376
- ```markdown
377
- # Lint
378
-
379
- Run linter on {{files}} and fix all issues automatically.
380
- ```
381
-
382
- ### hooks/hooks.json
383
- ```json
384
- {
385
- "hooks": {
386
- "post-tool": {
387
- "write": "./scripts/auto-lint.sh"
388
- }
389
- }
390
- }
391
- ```
392
-
393
- ## Security Considerations
394
-
395
- ### Hook Security
396
- - Validate all inputs
397
- - Use whitelists for allowed commands
398
- - Implement timeouts
399
- - Log all executions
400
- - Review hook scripts regularly
401
-
402
- ### Plugin Security
403
- - Verify plugin sources
404
- - Review code before installation
405
- - Use signed packages when available
406
- - Monitor plugin behavior
407
- - Keep plugins updated
408
-
409
- ### Best Practices
410
- - Install plugins from trusted sources only
411
- - Review plugin permissions
412
- - Use plugin sandboxing when available
413
- - Monitor resource usage
414
- - Regular security audits
415
-
416
- ## Troubleshooting
417
-
418
- ### Hooks Not Running
419
- - Check hooks.json syntax
420
- - Verify script permissions (`chmod +x`)
421
- - Check script paths
422
- - Review logs in `.kiro/logs/`
423
-
424
- ### Plugin Installation Failures
425
- - Verify internet connectivity
426
- - Check plugin URL/path
427
- - Review error messages
428
- - Clear cache: `claude plugin cache clear`
429
-
430
- ### Plugin Conflicts
431
- - Check for conflicting commands
432
- - Review plugin load order
433
- - Disable conflicting plugins
434
- - Update plugins to compatible versions
435
-
436
- ## See Also
437
-
438
- - Creating slash commands: `references/slash-commands.md`
439
- - Agent skills: `references/agent-skills.md`
440
- - Configuration: `references/configuration.md`
441
- - Best practices: `references/best-practices.md`