caruso 0.5.4

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.
@@ -0,0 +1,391 @@
1
+ # Plugins
2
+
3
+ > Extend Claude Code with custom commands, agents, hooks, Skills, and MCP servers through the plugin system.
4
+
5
+ <Tip>
6
+ For complete technical specifications and schemas, see [Plugins reference](/en/plugins-reference). For marketplace management, see [Plugin marketplaces](/en/plugin-marketplaces).
7
+ </Tip>
8
+
9
+ Plugins let you extend Claude Code with custom functionality that can be shared across projects and teams. Install plugins from [marketplaces](/en/plugin-marketplaces) to add pre-built commands, agents, hooks, Skills, and MCP servers, or create your own to automate your workflows.
10
+
11
+ ## Quickstart
12
+
13
+ Let's create a simple greeting plugin to get you familiar with the plugin system. We'll build a working plugin that adds a custom command, test it locally, and understand the core concepts.
14
+
15
+ ### Prerequisites
16
+
17
+ * Claude Code installed on your machine
18
+ * Basic familiarity with command-line tools
19
+
20
+ ### Create your first plugin
21
+
22
+ <Steps>
23
+ <Step title="Create the marketplace structure">
24
+ ```bash theme={null}
25
+ mkdir test-marketplace
26
+ cd test-marketplace
27
+ ```
28
+ </Step>
29
+
30
+ <Step title="Create the plugin directory">
31
+ ```bash theme={null}
32
+ mkdir my-first-plugin
33
+ cd my-first-plugin
34
+ ```
35
+ </Step>
36
+
37
+ <Step title="Create the plugin manifest">
38
+ ```bash Create .claude-plugin/plugin.json theme={null}
39
+ mkdir .claude-plugin
40
+ cat > .claude-plugin/plugin.json << 'EOF'
41
+ {
42
+ "name": "my-first-plugin",
43
+ "description": "A simple greeting plugin to learn the basics",
44
+ "version": "1.0.0",
45
+ "author": {
46
+ "name": "Your Name"
47
+ }
48
+ }
49
+ EOF
50
+ ```
51
+ </Step>
52
+
53
+ <Step title="Add a custom command">
54
+ ```bash Create commands/hello.md theme={null}
55
+ mkdir commands
56
+ cat > commands/hello.md << 'EOF'
57
+ ---
58
+ description: Greet the user with a personalized message
59
+ ---
60
+
61
+ # Hello Command
62
+
63
+ Greet the user warmly and ask how you can help them today. Make the greeting personal and encouraging.
64
+ EOF
65
+ ```
66
+ </Step>
67
+
68
+ <Step title="Create the marketplace manifest">
69
+ ```bash Create marketplace.json theme={null}
70
+ cd ..
71
+ mkdir .claude-plugin
72
+ cat > .claude-plugin/marketplace.json << 'EOF'
73
+ {
74
+ "name": "test-marketplace",
75
+ "owner": {
76
+ "name": "Test User"
77
+ },
78
+ "plugins": [
79
+ {
80
+ "name": "my-first-plugin",
81
+ "source": "./my-first-plugin",
82
+ "description": "My first test plugin"
83
+ }
84
+ ]
85
+ }
86
+ EOF
87
+ ```
88
+ </Step>
89
+
90
+ <Step title="Install and test your plugin">
91
+ ```bash Start Claude Code from parent directory theme={null}
92
+ cd ..
93
+ claude
94
+ ```
95
+
96
+ ```shell Add the test marketplace theme={null}
97
+ /plugin marketplace add ./test-marketplace
98
+ ```
99
+
100
+ ```shell Install your plugin theme={null}
101
+ /plugin install my-first-plugin@test-marketplace
102
+ ```
103
+
104
+ Select "Install now". You'll then need to restart Claude Code in order to use the new plugin.
105
+
106
+ ```shell Try your new command theme={null}
107
+ /hello
108
+ ```
109
+
110
+ You'll see Claude use your greeting command! Check `/help` to see your new command listed.
111
+ </Step>
112
+ </Steps>
113
+
114
+ You've successfully created and tested a plugin with these key components:
115
+
116
+ * **Plugin manifest** (`.claude-plugin/plugin.json`) - Describes your plugin's metadata
117
+ * **Commands directory** (`commands/`) - Contains your custom slash commands
118
+ * **Test marketplace** - Allows you to test your plugin locally
119
+
120
+ ### Plugin structure overview
121
+
122
+ Your plugin follows this basic structure:
123
+
124
+ ```
125
+ my-first-plugin/
126
+ ├── .claude-plugin/
127
+ │ └── plugin.json # Plugin metadata
128
+ ├── commands/ # Custom slash commands (optional)
129
+ │ └── hello.md
130
+ ├── agents/ # Custom agents (optional)
131
+ │ └── helper.md
132
+ ├── skills/ # Agent Skills (optional)
133
+ │ └── my-skill/
134
+ │ └── SKILL.md
135
+ └── hooks/ # Event handlers (optional)
136
+ └── hooks.json
137
+ ```
138
+
139
+ **Additional components you can add:**
140
+
141
+ * **Commands**: Create markdown files in `commands/` directory
142
+ * **Agents**: Create agent definitions in `agents/` directory
143
+ * **Skills**: Create `SKILL.md` files in `skills/` directory
144
+ * **Hooks**: Create `hooks/hooks.json` for event handling
145
+ * **MCP servers**: Create `.mcp.json` for external tool integration
146
+
147
+ <Note>
148
+ **Next steps**: Ready to add more features? Jump to [Develop more complex plugins](#develop-more-complex-plugins) to add agents, hooks, and MCP servers. For complete technical specifications of all plugin components, see [Plugins reference](/en/plugins-reference).
149
+ </Note>
150
+
151
+ ***
152
+
153
+ ## Install and manage plugins
154
+
155
+ Learn how to discover, install, and manage plugins to extend your Claude Code capabilities.
156
+
157
+ ### Prerequisites
158
+
159
+ * Claude Code installed and running
160
+ * Basic familiarity with command-line interfaces
161
+
162
+ ### Add marketplaces
163
+
164
+ Marketplaces are catalogs of available plugins. Add them to discover and install plugins:
165
+
166
+ ```shell Add a marketplace theme={null}
167
+ /plugin marketplace add your-org/claude-plugins
168
+ ```
169
+
170
+ ```shell Browse available plugins theme={null}
171
+ /plugin
172
+ ```
173
+
174
+ For detailed marketplace management including Git repositories, local development, and team distribution, see [Plugin marketplaces](/en/plugin-marketplaces).
175
+
176
+ ### Install plugins
177
+
178
+ #### Via interactive menu (recommended for discovery)
179
+
180
+ ```shell Open the plugin management interface theme={null}
181
+ /plugin
182
+ ```
183
+
184
+ Select "Browse Plugins" to see available options with descriptions, features, and installation options.
185
+
186
+ #### Via direct commands (for quick installation)
187
+
188
+ ```shell Install a specific plugin theme={null}
189
+ /plugin install formatter@your-org
190
+ ```
191
+
192
+ ```shell Enable a disabled plugin theme={null}
193
+ /plugin enable plugin-name@marketplace-name
194
+ ```
195
+
196
+ ```shell Disable without uninstalling theme={null}
197
+ /plugin disable plugin-name@marketplace-name
198
+ ```
199
+
200
+ ```shell Completely remove a plugin theme={null}
201
+ /plugin uninstall plugin-name@marketplace-name
202
+ ```
203
+
204
+ ### Verify installation
205
+
206
+ After installing a plugin:
207
+
208
+ 1. **Check available commands**: Run `/help` to see new commands
209
+ 2. **Test plugin features**: Try the plugin's commands and features
210
+ 3. **Review plugin details**: Use `/plugin` → "Manage Plugins" to see what the plugin provides
211
+
212
+ ## Set up team plugin workflows
213
+
214
+ Configure plugins at the repository level to ensure consistent tooling across your team. When team members trust your repository folder, Claude Code automatically installs specified marketplaces and plugins.
215
+
216
+ **To set up team plugins:**
217
+
218
+ 1. Add marketplace and plugin configuration to your repository's `.claude/settings.json`
219
+ 2. Team members trust the repository folder
220
+ 3. Plugins install automatically for all team members
221
+
222
+ For complete instructions including configuration examples, marketplace setup, and rollout best practices, see [Configure team marketplaces](/en/plugin-marketplaces#how-to-configure-team-marketplaces).
223
+
224
+ ***
225
+
226
+ ## Develop more complex plugins
227
+
228
+ Once you're comfortable with basic plugins, you can create more sophisticated extensions.
229
+
230
+ ### Add Skills to your plugin
231
+
232
+ Plugins can include [Agent Skills](/en/skills) to extend Claude's capabilities. Skills are model-invoked—Claude autonomously uses them based on the task context.
233
+
234
+ To add Skills to your plugin, create a `skills/` directory at your plugin root and add Skill folders with `SKILL.md` files. Plugin Skills are automatically available when the plugin is installed.
235
+
236
+ For complete Skill authoring guidance, see [Agent Skills](/en/skills).
237
+
238
+ ### Organize complex plugins
239
+
240
+ For plugins with many components, organize your directory structure by functionality. For complete directory layouts and organization patterns, see [Plugin directory structure](/en/plugins-reference#plugin-directory-structure).
241
+
242
+ ### Test your plugins locally
243
+
244
+ When developing plugins, use a local marketplace to test changes iteratively. This workflow builds on the quickstart pattern and works for plugins of any complexity.
245
+
246
+ <Steps>
247
+ <Step title="Set up your development structure">
248
+ Organize your plugin and marketplace for testing:
249
+
250
+ ```bash Create directory structure theme={null}
251
+ mkdir dev-marketplace
252
+ cd dev-marketplace
253
+ mkdir my-plugin
254
+ ```
255
+
256
+ This creates:
257
+
258
+ ```
259
+ dev-marketplace/
260
+ ├── .claude-plugin/marketplace.json (you'll create this)
261
+ └── my-plugin/ (your plugin under development)
262
+ ├── .claude-plugin/plugin.json
263
+ ├── commands/
264
+ ├── agents/
265
+ └── hooks/
266
+ ```
267
+ </Step>
268
+
269
+ <Step title="Create the marketplace manifest">
270
+ ```bash Create marketplace.json theme={null}
271
+ mkdir .claude-plugin
272
+ cat > .claude-plugin/marketplace.json << 'EOF'
273
+ {
274
+ "name": "dev-marketplace",
275
+ "owner": {
276
+ "name": "Developer"
277
+ },
278
+ "plugins": [
279
+ {
280
+ "name": "my-plugin",
281
+ "source": "./my-plugin",
282
+ "description": "Plugin under development"
283
+ }
284
+ ]
285
+ }
286
+ EOF
287
+ ```
288
+ </Step>
289
+
290
+ <Step title="Install and test">
291
+ ```bash Start Claude Code from parent directory theme={null}
292
+ cd ..
293
+ claude
294
+ ```
295
+
296
+ ```shell Add your development marketplace theme={null}
297
+ /plugin marketplace add ./dev-marketplace
298
+ ```
299
+
300
+ ```shell Install your plugin theme={null}
301
+ /plugin install my-plugin@dev-marketplace
302
+ ```
303
+
304
+ Test your plugin components:
305
+
306
+ * Try your commands with `/command-name`
307
+ * Check that agents appear in `/agents`
308
+ * Verify hooks work as expected
309
+ </Step>
310
+
311
+ <Step title="Iterate on your plugin">
312
+ After making changes to your plugin code:
313
+
314
+ ```shell Uninstall the current version theme={null}
315
+ /plugin uninstall my-plugin@dev-marketplace
316
+ ```
317
+
318
+ ```shell Reinstall to test changes theme={null}
319
+ /plugin install my-plugin@dev-marketplace
320
+ ```
321
+
322
+ Repeat this cycle as you develop and refine your plugin.
323
+ </Step>
324
+ </Steps>
325
+
326
+ <Note>
327
+ **For multiple plugins**: Organize plugins in subdirectories like `./plugins/plugin-name` and update your marketplace.json accordingly. See [Plugin sources](/en/plugin-marketplaces#plugin-sources) for organization patterns.
328
+ </Note>
329
+
330
+ ### Debug plugin issues
331
+
332
+ If your plugin isn't working as expected:
333
+
334
+ 1. **Check the structure**: Ensure your directories are at the plugin root, not inside `.claude-plugin/`
335
+ 2. **Test components individually**: Check each command, agent, and hook separately
336
+ 3. **Use validation and debugging tools**: See [Debugging and development tools](/en/plugins-reference#debugging-and-development-tools) for CLI commands and troubleshooting techniques
337
+
338
+ ### Share your plugins
339
+
340
+ When your plugin is ready to share:
341
+
342
+ 1. **Add documentation**: Include a README.md with installation and usage instructions
343
+ 2. **Version your plugin**: Use semantic versioning in your `plugin.json`
344
+ 3. **Create or use a marketplace**: Distribute through plugin marketplaces for easy installation
345
+ 4. **Test with others**: Have team members test the plugin before wider distribution
346
+
347
+ <Note>
348
+ For complete technical specifications, debugging techniques, and distribution strategies, see [Plugins reference](/en/plugins-reference).
349
+ </Note>
350
+
351
+ ***
352
+
353
+ ## Next steps
354
+
355
+ Now that you understand Claude Code's plugin system, here are suggested paths for different goals:
356
+
357
+ ### For plugin users
358
+
359
+ * **Discover plugins**: Browse community marketplaces for useful tools
360
+ * **Team adoption**: Set up repository-level plugins for your projects
361
+ * **Marketplace management**: Learn to manage multiple plugin sources
362
+ * **Advanced usage**: Explore plugin combinations and workflows
363
+
364
+ ### For plugin developers
365
+
366
+ * **Create your first marketplace**: [Plugin marketplaces guide](/en/plugin-marketplaces)
367
+ * **Advanced components**: Dive deeper into specific plugin components:
368
+ * [Slash commands](/en/slash-commands) - Command development details
369
+ * [Subagents](/en/sub-agents) - Agent configuration and capabilities
370
+ * [Agent Skills](/en/skills) - Extend Claude's capabilities
371
+ * [Hooks](/en/hooks) - Event handling and automation
372
+ * [MCP](/en/mcp) - External tool integration
373
+ * **Distribution strategies**: Package and share your plugins effectively
374
+ * **Community contribution**: Consider contributing to community plugin collections
375
+
376
+ ### For team leads and administrators
377
+
378
+ * **Repository configuration**: Set up automatic plugin installation for team projects
379
+ * **Plugin governance**: Establish guidelines for plugin approval and security review
380
+ * **Marketplace maintenance**: Create and maintain organization-specific plugin catalogs
381
+ * **Training and documentation**: Help team members adopt plugin workflows effectively
382
+
383
+ ## See also
384
+
385
+ * [Plugin marketplaces](/en/plugin-marketplaces) - Creating and managing plugin catalogs
386
+ * [Slash commands](/en/slash-commands) - Understanding custom commands
387
+ * [Subagents](/en/sub-agents) - Creating and using specialized agents
388
+ * [Agent Skills](/en/skills) - Extend Claude's capabilities
389
+ * [Hooks](/en/hooks) - Automating workflows with event handlers
390
+ * [MCP](/en/mcp) - Connecting to external tools and services
391
+ * [Settings](/en/settings) - Configuration options for plugins