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.
- checksums.yaml +7 -0
- data/.rspec +4 -0
- data/.rubocop.yml +146 -0
- data/CHANGELOG.md +213 -0
- data/CLAUDE.md +276 -0
- data/IMPROVEMENTS.md +337 -0
- data/LICENSE.txt +21 -0
- data/README.md +326 -0
- data/Rakefile +71 -0
- data/bin/caruso +6 -0
- data/caruso.gemspec +43 -0
- data/lib/caruso/adapter.rb +110 -0
- data/lib/caruso/cli.rb +532 -0
- data/lib/caruso/config_manager.rb +190 -0
- data/lib/caruso/fetcher.rb +248 -0
- data/lib/caruso/marketplace_registry.rb +102 -0
- data/lib/caruso/version.rb +5 -0
- data/lib/caruso.rb +22 -0
- data/reference/marketplace.md +433 -0
- data/reference/plugins.md +391 -0
- data/reference/plugins_reference.md +376 -0
- metadata +176 -0
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
# Plugins reference
|
|
2
|
+
|
|
3
|
+
> Complete technical reference for Claude Code plugin system, including schemas, CLI commands, and component specifications.
|
|
4
|
+
|
|
5
|
+
<Tip>
|
|
6
|
+
For hands-on tutorials and practical usage, see [Plugins](/en/plugins). For plugin management across teams and communities, see [Plugin marketplaces](/en/plugin-marketplaces).
|
|
7
|
+
</Tip>
|
|
8
|
+
|
|
9
|
+
This reference provides complete technical specifications for the Claude Code plugin system, including component schemas, CLI commands, and development tools.
|
|
10
|
+
|
|
11
|
+
## Plugin components reference
|
|
12
|
+
|
|
13
|
+
This section documents the five types of components that plugins can provide.
|
|
14
|
+
|
|
15
|
+
### Commands
|
|
16
|
+
|
|
17
|
+
Plugins add custom slash commands that integrate seamlessly with Claude Code's command system.
|
|
18
|
+
|
|
19
|
+
**Location**: `commands/` directory in plugin root
|
|
20
|
+
|
|
21
|
+
**File format**: Markdown files with frontmatter
|
|
22
|
+
|
|
23
|
+
For complete details on plugin command structure, invocation patterns, and features, see [Plugin commands](/en/slash-commands#plugin-commands).
|
|
24
|
+
|
|
25
|
+
### Agents
|
|
26
|
+
|
|
27
|
+
Plugins can provide specialized subagents for specific tasks that Claude can invoke automatically when appropriate.
|
|
28
|
+
|
|
29
|
+
**Location**: `agents/` directory in plugin root
|
|
30
|
+
|
|
31
|
+
**File format**: Markdown files describing agent capabilities
|
|
32
|
+
|
|
33
|
+
**Agent structure**:
|
|
34
|
+
|
|
35
|
+
```markdown theme={null}
|
|
36
|
+
---
|
|
37
|
+
description: What this agent specializes in
|
|
38
|
+
capabilities: ["task1", "task2", "task3"]
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
# Agent Name
|
|
42
|
+
|
|
43
|
+
Detailed description of the agent's role, expertise, and when Claude should invoke it.
|
|
44
|
+
|
|
45
|
+
## Capabilities
|
|
46
|
+
- Specific task the agent excels at
|
|
47
|
+
- Another specialized capability
|
|
48
|
+
- When to use this agent vs others
|
|
49
|
+
|
|
50
|
+
## Context and examples
|
|
51
|
+
Provide examples of when this agent should be used and what kinds of problems it solves.
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Integration points**:
|
|
55
|
+
|
|
56
|
+
* Agents appear in the `/agents` interface
|
|
57
|
+
* Claude can invoke agents automatically based on task context
|
|
58
|
+
* Agents can be invoked manually by users
|
|
59
|
+
* Plugin agents work alongside built-in Claude agents
|
|
60
|
+
|
|
61
|
+
### Skills
|
|
62
|
+
|
|
63
|
+
Plugins can provide Agent Skills that extend Claude's capabilities. Skills are model-invoked—Claude autonomously decides when to use them based on the task context.
|
|
64
|
+
|
|
65
|
+
**Location**: `skills/` directory in plugin root
|
|
66
|
+
|
|
67
|
+
**File format**: Directories containing `SKILL.md` files with frontmatter
|
|
68
|
+
|
|
69
|
+
**Skill structure**:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
skills/
|
|
73
|
+
├── pdf-processor/
|
|
74
|
+
│ ├── SKILL.md
|
|
75
|
+
│ ├── reference.md (optional)
|
|
76
|
+
│ └── scripts/ (optional)
|
|
77
|
+
└── code-reviewer/
|
|
78
|
+
└── SKILL.md
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Integration behavior**:
|
|
82
|
+
|
|
83
|
+
* Plugin Skills are automatically discovered when the plugin is installed
|
|
84
|
+
* Claude autonomously invokes Skills based on matching task context
|
|
85
|
+
* Skills can include supporting files alongside SKILL.md
|
|
86
|
+
|
|
87
|
+
For SKILL.md format and complete Skill authoring guidance, see:
|
|
88
|
+
|
|
89
|
+
* [Use Skills in Claude Code](/en/skills)
|
|
90
|
+
* [Agent Skills overview](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview#skill-structure)
|
|
91
|
+
|
|
92
|
+
### Hooks
|
|
93
|
+
|
|
94
|
+
Plugins can provide event handlers that respond to Claude Code events automatically.
|
|
95
|
+
|
|
96
|
+
**Location**: `hooks/hooks.json` in plugin root, or inline in plugin.json
|
|
97
|
+
|
|
98
|
+
**Format**: JSON configuration with event matchers and actions
|
|
99
|
+
|
|
100
|
+
**Hook configuration**:
|
|
101
|
+
|
|
102
|
+
```json theme={null}
|
|
103
|
+
{
|
|
104
|
+
"hooks": {
|
|
105
|
+
"PostToolUse": [
|
|
106
|
+
{
|
|
107
|
+
"matcher": "Write|Edit",
|
|
108
|
+
"hooks": [
|
|
109
|
+
{
|
|
110
|
+
"type": "command",
|
|
111
|
+
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/format-code.sh"
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Available events**:
|
|
121
|
+
|
|
122
|
+
* `PreToolUse`: Before Claude uses any tool
|
|
123
|
+
* `PostToolUse`: After Claude uses any tool
|
|
124
|
+
* `UserPromptSubmit`: When user submits a prompt
|
|
125
|
+
* `Notification`: When Claude Code sends notifications
|
|
126
|
+
* `Stop`: When Claude attempts to stop
|
|
127
|
+
* `SubagentStop`: When a subagent attempts to stop
|
|
128
|
+
* `SessionStart`: At the beginning of sessions
|
|
129
|
+
* `SessionEnd`: At the end of sessions
|
|
130
|
+
* `PreCompact`: Before conversation history is compacted
|
|
131
|
+
|
|
132
|
+
**Hook types**:
|
|
133
|
+
|
|
134
|
+
* `command`: Execute shell commands or scripts
|
|
135
|
+
* `validation`: Validate file contents or project state
|
|
136
|
+
* `notification`: Send alerts or status updates
|
|
137
|
+
|
|
138
|
+
### MCP servers
|
|
139
|
+
|
|
140
|
+
Plugins can bundle Model Context Protocol (MCP) servers to connect Claude Code with external tools and services.
|
|
141
|
+
|
|
142
|
+
**Location**: `.mcp.json` in plugin root, or inline in plugin.json
|
|
143
|
+
|
|
144
|
+
**Format**: Standard MCP server configuration
|
|
145
|
+
|
|
146
|
+
**MCP server configuration**:
|
|
147
|
+
|
|
148
|
+
```json theme={null}
|
|
149
|
+
{
|
|
150
|
+
"mcpServers": {
|
|
151
|
+
"plugin-database": {
|
|
152
|
+
"command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server",
|
|
153
|
+
"args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"],
|
|
154
|
+
"env": {
|
|
155
|
+
"DB_PATH": "${CLAUDE_PLUGIN_ROOT}/data"
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
"plugin-api-client": {
|
|
159
|
+
"command": "npx",
|
|
160
|
+
"args": ["@company/mcp-server", "--plugin-mode"],
|
|
161
|
+
"cwd": "${CLAUDE_PLUGIN_ROOT}"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Integration behavior**:
|
|
168
|
+
|
|
169
|
+
* Plugin MCP servers start automatically when the plugin is enabled
|
|
170
|
+
* Servers appear as standard MCP tools in Claude's toolkit
|
|
171
|
+
* Server capabilities integrate seamlessly with Claude's existing tools
|
|
172
|
+
* Plugin servers can be configured independently of user MCP servers
|
|
173
|
+
|
|
174
|
+
***
|
|
175
|
+
|
|
176
|
+
## Plugin manifest schema
|
|
177
|
+
|
|
178
|
+
The `plugin.json` file defines your plugin's metadata and configuration. This section documents all supported fields and options.
|
|
179
|
+
|
|
180
|
+
### Complete schema
|
|
181
|
+
|
|
182
|
+
```json theme={null}
|
|
183
|
+
{
|
|
184
|
+
"name": "plugin-name",
|
|
185
|
+
"version": "1.2.0",
|
|
186
|
+
"description": "Brief plugin description",
|
|
187
|
+
"author": {
|
|
188
|
+
"name": "Author Name",
|
|
189
|
+
"email": "author@example.com",
|
|
190
|
+
"url": "https://github.com/author"
|
|
191
|
+
},
|
|
192
|
+
"homepage": "https://docs.example.com/plugin",
|
|
193
|
+
"repository": "https://github.com/author/plugin",
|
|
194
|
+
"license": "MIT",
|
|
195
|
+
"keywords": ["keyword1", "keyword2"],
|
|
196
|
+
"commands": ["./custom/commands/special.md"],
|
|
197
|
+
"agents": "./custom/agents/",
|
|
198
|
+
"hooks": "./config/hooks.json",
|
|
199
|
+
"mcpServers": "./mcp-config.json"
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Required fields
|
|
204
|
+
|
|
205
|
+
| Field | Type | Description | Example |
|
|
206
|
+
| :----- | :----- | :---------------------------------------- | :------------------- |
|
|
207
|
+
| `name` | string | Unique identifier (kebab-case, no spaces) | `"deployment-tools"` |
|
|
208
|
+
|
|
209
|
+
### Metadata fields
|
|
210
|
+
|
|
211
|
+
| Field | Type | Description | Example |
|
|
212
|
+
| :------------ | :----- | :---------------------------------- | :------------------------------------------------- |
|
|
213
|
+
| `version` | string | Semantic version | `"2.1.0"` |
|
|
214
|
+
| `description` | string | Brief explanation of plugin purpose | `"Deployment automation tools"` |
|
|
215
|
+
| `author` | object | Author information | `{"name": "Dev Team", "email": "dev@company.com"}` |
|
|
216
|
+
| `homepage` | string | Documentation URL | `"https://docs.example.com"` |
|
|
217
|
+
| `repository` | string | Source code URL | `"https://github.com/user/plugin"` |
|
|
218
|
+
| `license` | string | License identifier | `"MIT"`, `"Apache-2.0"` |
|
|
219
|
+
| `keywords` | array | Discovery tags | `["deployment", "ci-cd"]` |
|
|
220
|
+
|
|
221
|
+
### Component path fields
|
|
222
|
+
|
|
223
|
+
| Field | Type | Description | Example |
|
|
224
|
+
| :----------- | :------------- | :----------------------------------- | :------------------------------------- |
|
|
225
|
+
| `commands` | string\|array | Additional command files/directories | `"./custom/cmd.md"` or `["./cmd1.md"]` |
|
|
226
|
+
| `agents` | string\|array | Additional agent files | `"./custom/agents/"` |
|
|
227
|
+
| `hooks` | string\|object | Hook config path or inline config | `"./hooks.json"` |
|
|
228
|
+
| `mcpServers` | string\|object | MCP config path or inline config | `"./mcp.json"` |
|
|
229
|
+
|
|
230
|
+
### Path behavior rules
|
|
231
|
+
|
|
232
|
+
**Important**: Custom paths supplement default directories - they don't replace them.
|
|
233
|
+
|
|
234
|
+
* If `commands/` exists, it's loaded in addition to custom command paths
|
|
235
|
+
* All paths must be relative to plugin root and start with `./`
|
|
236
|
+
* Commands from custom paths use the same naming and namespacing rules
|
|
237
|
+
* Multiple paths can be specified as arrays for flexibility
|
|
238
|
+
|
|
239
|
+
**Path examples**:
|
|
240
|
+
|
|
241
|
+
```json theme={null}
|
|
242
|
+
{
|
|
243
|
+
"commands": [
|
|
244
|
+
"./specialized/deploy.md",
|
|
245
|
+
"./utilities/batch-process.md"
|
|
246
|
+
],
|
|
247
|
+
"agents": [
|
|
248
|
+
"./custom-agents/reviewer.md",
|
|
249
|
+
"./custom-agents/tester.md"
|
|
250
|
+
]
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Environment variables
|
|
255
|
+
|
|
256
|
+
**`${CLAUDE_PLUGIN_ROOT}`**: Contains the absolute path to your plugin directory. Use this in hooks, MCP servers, and scripts to ensure correct paths regardless of installation location.
|
|
257
|
+
|
|
258
|
+
```json theme={null}
|
|
259
|
+
{
|
|
260
|
+
"hooks": {
|
|
261
|
+
"PostToolUse": [
|
|
262
|
+
{
|
|
263
|
+
"hooks": [
|
|
264
|
+
{
|
|
265
|
+
"type": "command",
|
|
266
|
+
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/process.sh"
|
|
267
|
+
}
|
|
268
|
+
]
|
|
269
|
+
}
|
|
270
|
+
]
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
***
|
|
276
|
+
|
|
277
|
+
## Plugin directory structure
|
|
278
|
+
|
|
279
|
+
### Standard plugin layout
|
|
280
|
+
|
|
281
|
+
A complete plugin follows this structure:
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
enterprise-plugin/
|
|
285
|
+
├── .claude-plugin/ # Metadata directory
|
|
286
|
+
│ └── plugin.json # Required: plugin manifest
|
|
287
|
+
├── commands/ # Default command location
|
|
288
|
+
│ ├── status.md
|
|
289
|
+
│ └── logs.md
|
|
290
|
+
├── agents/ # Default agent location
|
|
291
|
+
│ ├── security-reviewer.md
|
|
292
|
+
│ ├── performance-tester.md
|
|
293
|
+
│ └── compliance-checker.md
|
|
294
|
+
├── skills/ # Agent Skills
|
|
295
|
+
│ ├── code-reviewer/
|
|
296
|
+
│ │ └── SKILL.md
|
|
297
|
+
│ └── pdf-processor/
|
|
298
|
+
│ ├── SKILL.md
|
|
299
|
+
│ └── scripts/
|
|
300
|
+
├── hooks/ # Hook configurations
|
|
301
|
+
│ ├── hooks.json # Main hook config
|
|
302
|
+
│ └── security-hooks.json # Additional hooks
|
|
303
|
+
├── .mcp.json # MCP server definitions
|
|
304
|
+
├── scripts/ # Hook and utility scripts
|
|
305
|
+
│ ├── security-scan.sh
|
|
306
|
+
│ ├── format-code.py
|
|
307
|
+
│ └── deploy.js
|
|
308
|
+
├── LICENSE # License file
|
|
309
|
+
└── CHANGELOG.md # Version history
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
<Warning>
|
|
313
|
+
The `.claude-plugin/` directory contains the `plugin.json` file. All other directories (commands/, agents/, skills/, hooks/) must be at the plugin root, not inside `.claude-plugin/`.
|
|
314
|
+
</Warning>
|
|
315
|
+
|
|
316
|
+
### File locations reference
|
|
317
|
+
|
|
318
|
+
| Component | Default Location | Purpose |
|
|
319
|
+
| :-------------- | :--------------------------- | :------------------------------- |
|
|
320
|
+
| **Manifest** | `.claude-plugin/plugin.json` | Required metadata file |
|
|
321
|
+
| **Commands** | `commands/` | Slash command markdown files |
|
|
322
|
+
| **Agents** | `agents/` | Subagent markdown files |
|
|
323
|
+
| **Skills** | `skills/` | Agent Skills with SKILL.md files |
|
|
324
|
+
| **Hooks** | `hooks/hooks.json` | Hook configuration |
|
|
325
|
+
| **MCP servers** | `.mcp.json` | MCP server definitions |
|
|
326
|
+
|
|
327
|
+
***
|
|
328
|
+
|
|
329
|
+
## Debugging and development tools
|
|
330
|
+
|
|
331
|
+
### Debugging commands
|
|
332
|
+
|
|
333
|
+
Use `claude --debug` to see plugin loading details:
|
|
334
|
+
|
|
335
|
+
```bash theme={null}
|
|
336
|
+
claude --debug
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
This shows:
|
|
340
|
+
|
|
341
|
+
* Which plugins are being loaded
|
|
342
|
+
* Any errors in plugin manifests
|
|
343
|
+
* Command, agent, and hook registration
|
|
344
|
+
* MCP server initialization
|
|
345
|
+
|
|
346
|
+
### Common issues
|
|
347
|
+
|
|
348
|
+
| Issue | Cause | Solution |
|
|
349
|
+
| :--------------------- | :------------------------------ | :--------------------------------------------------- |
|
|
350
|
+
| Plugin not loading | Invalid `plugin.json` | Validate JSON syntax |
|
|
351
|
+
| Commands not appearing | Wrong directory structure | Ensure `commands/` at root, not in `.claude-plugin/` |
|
|
352
|
+
| Hooks not firing | Script not executable | Run `chmod +x script.sh` |
|
|
353
|
+
| MCP server fails | Missing `${CLAUDE_PLUGIN_ROOT}` | Use variable for all plugin paths |
|
|
354
|
+
| Path errors | Absolute paths used | All paths must be relative and start with `./` |
|
|
355
|
+
|
|
356
|
+
***
|
|
357
|
+
|
|
358
|
+
## Distribution and versioning reference
|
|
359
|
+
|
|
360
|
+
### Version management
|
|
361
|
+
|
|
362
|
+
Follow semantic versioning for plugin releases:
|
|
363
|
+
|
|
364
|
+
```json theme={null}
|
|
365
|
+
|
|
366
|
+
## See also
|
|
367
|
+
|
|
368
|
+
- [Plugins](/en/plugins) - Tutorials and practical usage
|
|
369
|
+
- [Plugin marketplaces](/en/plugin-marketplaces) - Creating and managing marketplaces
|
|
370
|
+
- [Slash commands](/en/slash-commands) - Command development details
|
|
371
|
+
- [Subagents](/en/sub-agents) - Agent configuration and capabilities
|
|
372
|
+
- [Agent Skills](/en/skills) - Extend Claude's capabilities
|
|
373
|
+
- [Hooks](/en/hooks) - Event handling and automation
|
|
374
|
+
- [MCP](/en/mcp) - External tool integration
|
|
375
|
+
- [Settings](/en/settings) - Configuration options for plugins
|
|
376
|
+
```
|
metadata
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: caruso
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.5.4
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Philipp Comans
|
|
8
|
+
bindir: bin
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: faraday
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - "~>"
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '2.0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - "~>"
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '2.0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: git
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '1.19'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '1.19'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: thor
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - "~>"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '1.3'
|
|
47
|
+
type: :runtime
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - "~>"
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '1.3'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: aruba
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '2.1'
|
|
61
|
+
type: :development
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '2.1'
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: rake
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '13.0'
|
|
75
|
+
type: :development
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '13.0'
|
|
82
|
+
- !ruby/object:Gem::Dependency
|
|
83
|
+
name: rspec
|
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - "~>"
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '3.13'
|
|
89
|
+
type: :development
|
|
90
|
+
prerelease: false
|
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - "~>"
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '3.13'
|
|
96
|
+
- !ruby/object:Gem::Dependency
|
|
97
|
+
name: rubocop
|
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - "~>"
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '1.60'
|
|
103
|
+
type: :development
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - "~>"
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '1.60'
|
|
110
|
+
- !ruby/object:Gem::Dependency
|
|
111
|
+
name: timecop
|
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - "~>"
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0.9'
|
|
117
|
+
type: :development
|
|
118
|
+
prerelease: false
|
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - "~>"
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0.9'
|
|
124
|
+
description: A tool to fetch Claude Code plugins and adapt them into Cursor Rules
|
|
125
|
+
or other agent contexts.
|
|
126
|
+
email:
|
|
127
|
+
- philipp.comans@gmail.com
|
|
128
|
+
executables:
|
|
129
|
+
- caruso
|
|
130
|
+
extensions: []
|
|
131
|
+
extra_rdoc_files: []
|
|
132
|
+
files:
|
|
133
|
+
- ".rspec"
|
|
134
|
+
- ".rubocop.yml"
|
|
135
|
+
- CHANGELOG.md
|
|
136
|
+
- CLAUDE.md
|
|
137
|
+
- IMPROVEMENTS.md
|
|
138
|
+
- LICENSE.txt
|
|
139
|
+
- README.md
|
|
140
|
+
- Rakefile
|
|
141
|
+
- bin/caruso
|
|
142
|
+
- caruso.gemspec
|
|
143
|
+
- lib/caruso.rb
|
|
144
|
+
- lib/caruso/adapter.rb
|
|
145
|
+
- lib/caruso/cli.rb
|
|
146
|
+
- lib/caruso/config_manager.rb
|
|
147
|
+
- lib/caruso/fetcher.rb
|
|
148
|
+
- lib/caruso/marketplace_registry.rb
|
|
149
|
+
- lib/caruso/version.rb
|
|
150
|
+
- reference/marketplace.md
|
|
151
|
+
- reference/plugins.md
|
|
152
|
+
- reference/plugins_reference.md
|
|
153
|
+
homepage: https://github.com/pcomans/caruso
|
|
154
|
+
licenses:
|
|
155
|
+
- MIT
|
|
156
|
+
metadata:
|
|
157
|
+
homepage_uri: https://github.com/pcomans/caruso
|
|
158
|
+
source_code_uri: https://github.com/pcomans/caruso
|
|
159
|
+
rdoc_options: []
|
|
160
|
+
require_paths:
|
|
161
|
+
- lib
|
|
162
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - ">="
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: 3.0.0
|
|
167
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
|
+
requirements:
|
|
169
|
+
- - ">="
|
|
170
|
+
- !ruby/object:Gem::Version
|
|
171
|
+
version: '0'
|
|
172
|
+
requirements: []
|
|
173
|
+
rubygems_version: 3.6.9
|
|
174
|
+
specification_version: 4
|
|
175
|
+
summary: Sync steering docs from Claude Marketplaces to other agents.
|
|
176
|
+
test_files: []
|