@biggora/claude-plugins 1.0.0 → 1.1.1

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 (80) hide show
  1. package/.claude/settings.local.json +13 -0
  2. package/CLAUDE.md +55 -0
  3. package/LICENSE +1 -1
  4. package/README.md +193 -39
  5. package/bin/cli.js +39 -0
  6. package/package.json +30 -17
  7. package/registry/registry.json +196 -1
  8. package/registry/schema.json +10 -0
  9. package/src/commands/skills/add.js +194 -0
  10. package/src/commands/skills/list.js +52 -0
  11. package/src/commands/skills/remove.js +27 -0
  12. package/src/commands/skills/update.js +74 -0
  13. package/src/config.js +5 -0
  14. package/src/skills/codex-cli/SKILL.md +265 -0
  15. package/src/skills/commafeed-api/SKILL.md +1012 -0
  16. package/src/skills/gemini-cli/SKILL.md +379 -0
  17. package/src/skills/gemini-cli/references/commands.md +145 -0
  18. package/src/skills/gemini-cli/references/configuration.md +182 -0
  19. package/src/skills/gemini-cli/references/headless-and-scripting.md +181 -0
  20. package/src/skills/gemini-cli/references/mcp-and-extensions.md +254 -0
  21. package/src/skills/n8n-api/SKILL.md +623 -0
  22. package/src/skills/notebook-lm/SKILL.md +217 -0
  23. package/src/skills/notebook-lm/references/artifact-options.md +168 -0
  24. package/src/skills/notebook-lm/references/auth.md +58 -0
  25. package/src/skills/notebook-lm/references/workflows.md +144 -0
  26. package/src/skills/screen-recording/SKILL.md +309 -0
  27. package/src/skills/screen-recording/references/approach1-programmatic.md +311 -0
  28. package/src/skills/screen-recording/references/approach2-xvfb.md +232 -0
  29. package/src/skills/screen-recording/references/design-patterns.md +168 -0
  30. package/src/skills/test-mobile-app/SKILL.md +212 -0
  31. package/src/skills/test-mobile-app/references/report-template.md +95 -0
  32. package/src/skills/test-mobile-app/references/setup-appium.md +154 -0
  33. package/src/skills/test-mobile-app/scripts/analyze_apk.py +164 -0
  34. package/src/skills/test-mobile-app/scripts/check_environment.py +116 -0
  35. package/src/skills/test-mobile-app/scripts/generate_report.py +250 -0
  36. package/src/skills/test-mobile-app/scripts/run_tests.py +326 -0
  37. package/src/skills/test-web-ui/SKILL.md +232 -0
  38. package/src/skills/test-web-ui/references/test_case_schema.md +102 -0
  39. package/src/skills/test-web-ui/scripts/discover.py +176 -0
  40. package/src/skills/test-web-ui/scripts/generate_report.py +237 -0
  41. package/src/skills/test-web-ui/scripts/run_tests.py +296 -0
  42. package/src/skills/text-to-speech/SKILL.md +236 -0
  43. package/src/skills/text-to-speech/references/espeak-cli.md +277 -0
  44. package/src/skills/text-to-speech/references/kokoro-onnx.md +124 -0
  45. package/src/skills/text-to-speech/references/online-engines.md +128 -0
  46. package/src/skills/text-to-speech/references/pyttsx3-espeak.md +143 -0
  47. package/src/skills/tm-search/SKILL.md +240 -0
  48. package/src/skills/tm-search/references/field-guide.md +79 -0
  49. package/src/skills/tm-search/references/scraping-fallback.md +140 -0
  50. package/src/skills/tm-search/scripts/tm_search.py +375 -0
  51. package/src/skills/wp-rest-api/SKILL.md +114 -0
  52. package/src/skills/wp-rest-api/references/authentication.md +18 -0
  53. package/src/skills/wp-rest-api/references/custom-content-types.md +20 -0
  54. package/src/skills/wp-rest-api/references/discovery-and-params.md +20 -0
  55. package/src/skills/wp-rest-api/references/responses-and-fields.md +30 -0
  56. package/src/skills/wp-rest-api/references/routes-and-endpoints.md +36 -0
  57. package/src/skills/wp-rest-api/references/schema.md +22 -0
  58. package/src/skills/youtube-search/SKILL.md +412 -0
  59. package/src/skills/youtube-search/references/parsing-examples.md +159 -0
  60. package/src/skills/youtube-search/references/youtube-api-quota.md +85 -0
  61. package/src/skills/youtube-thumbnail/SKILL.md +1070 -0
  62. package/tests/commands/info.test.js +49 -0
  63. package/tests/commands/install.test.js +36 -0
  64. package/tests/commands/list.test.js +66 -0
  65. package/tests/commands/publish.test.js +182 -0
  66. package/tests/commands/search.test.js +45 -0
  67. package/tests/commands/uninstall.test.js +29 -0
  68. package/tests/commands/update.test.js +59 -0
  69. package/tests/functional/skills-lifecycle.test.js +293 -0
  70. package/tests/helpers/fixtures.js +63 -0
  71. package/tests/integration/cli.test.js +83 -0
  72. package/tests/skills/add.test.js +138 -0
  73. package/tests/skills/list.test.js +63 -0
  74. package/tests/skills/remove.test.js +38 -0
  75. package/tests/skills/update.test.js +60 -0
  76. package/tests/unit/config.test.js +31 -0
  77. package/tests/unit/registry.test.js +79 -0
  78. package/tests/unit/utils.test.js +150 -0
  79. package/tests/validation/registry-schema.test.js +112 -0
  80. package/tests/validation/skills-validation.test.js +96 -0
@@ -0,0 +1,13 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "WebFetch(domain:n8n.hm.neutron.lv)",
5
+ "WebFetch(domain:docs.n8n.io)",
6
+ "WebFetch(domain:deepwiki.com)",
7
+ "WebFetch(domain:commafeed.hm.neutron.lv)",
8
+ "WebFetch(domain:raw.githubusercontent.com)",
9
+ "Bash(done)",
10
+ "Bash(npm --version)"
11
+ ]
12
+ }
13
+ }
package/CLAUDE.md ADDED
@@ -0,0 +1,55 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ CLI marketplace for discovering, installing, and managing Claude Code plugins. Published as `@biggora/claude-plugins` on npm. Plugins are git-cloned into `~/.claude/plugins/` where Claude Code auto-discovers them.
8
+
9
+ ## Commands
10
+
11
+ ```bash
12
+ # Run the CLI (no build step needed)
13
+ node bin/cli.js --help
14
+
15
+ # Test (currently just runs --help)
16
+ npm test
17
+ ```
18
+
19
+ ## Architecture
20
+
21
+ Pure JavaScript ESM project (`"type": "module"`) with no build/transpile step. Node.js >= 18 required.
22
+
23
+ ### Entry Points
24
+
25
+ - `bin/cli.js` - CLI entry point using Commander.js. Defines all commands with lazy `await import()` for each handler.
26
+ - `package.json` `bin` field maps `claude-plugins` to `bin/cli.js`.
27
+
28
+ ### Core Modules
29
+
30
+ - `src/config.js` - Constants and directory helpers. Defines `PLUGINS_DIR` (`~/.claude/plugins`), `CACHE_DIR`, `CACHE_TTL` (15 min), and `REGISTRY_URL` (GitHub raw URL).
31
+ - `src/registry.js` - Fetches registry with 3-tier fallback: remote -> local cache -> bundled `registry/registry.json`. Provides `searchPlugins()` (keyword match across name/description/keywords/author) and `findPlugin()` (exact name match).
32
+ - `src/utils.js` - Logging helpers (`log.info/success/warn/error/dim`), `spinner()` (ora), `formatTable()`, `truncate()`.
33
+
34
+ ### Command Handlers (`src/commands/`)
35
+
36
+ Each file exports a single async function matching its command name:
37
+ - `search.js` - Lists/filters plugins from registry
38
+ - `install.js` - `git clone` from plugin's repository URL into plugins dir
39
+ - `uninstall.js` - Removes plugin directory
40
+ - `list.js` - Reads installed plugins from `~/.claude/plugins/`
41
+ - `info.js` - Shows detailed plugin metadata
42
+ - `update.js` - `git pull --ff-only` on installed plugins
43
+ - `publish.js` - Validates plugin structure (`.claude-plugin/plugin.json` + `README.md`) and generates registry JSON entry
44
+
45
+ ### Registry (`registry/`)
46
+
47
+ - `registry.json` - Bundled fallback registry with plugin entries
48
+ - `schema.json` - JSON schema for registry format
49
+
50
+ ## Key Patterns
51
+
52
+ - All shell operations use `execFileSync` (not `exec`) with `stdio: 'pipe'` for safety
53
+ - Dependencies: `chalk` (styling), `commander` (CLI framework), `ora` (spinners) - all ESM-only
54
+ - Plugin names must match `^[a-z0-9-]+$`
55
+ - Registry entries require: name, version, description, author, repository
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 biggora
3
+ Copyright (c) 2026 Aleksejs Gordejevs
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,67 +1,182 @@
1
- # claude-plugins
1
+ # @biggora/claude-plugins
2
2
 
3
- CLI marketplace for discovering, installing, and managing Claude Code plugins.
3
+ [![npm version](https://img.shields.io/npm/v/@biggora/claude-plugins.svg)](https://www.npmjs.com/package/@biggora/claude-plugins)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+
6
+ CLI marketplace for discovering, installing, and managing [Claude Code](https://docs.anthropic.com/en/docs/claude-code) plugins and skills.
4
7
 
5
8
  ## Installation
6
9
 
7
10
  ```bash
8
- npm install -g claude-plugins
11
+ npm install -g @biggora/claude-plugins
9
12
  ```
10
13
 
11
- Or use directly with npx:
14
+ Or use directly with npx (no install required):
12
15
 
13
16
  ```bash
14
- npx claude-plugins search
17
+ npx @biggora/claude-plugins search
15
18
  ```
16
19
 
17
- ## Commands
20
+ ## Skills
21
+
22
+ Skills are self-contained instruction sets (SKILL.md files) that teach Claude Code how to perform specific tasks. They are installed into `~/.claude/skills/` and auto-discovered by Claude Code on startup.
18
23
 
19
- ### Browse & Search
24
+ ### Install a Skill from Git
25
+
26
+ Install a specific skill directly from a Git repository:
20
27
 
21
28
  ```bash
22
- # List all available plugins
23
- claude-plugins search
29
+ # Install a single skill from a repository
30
+ npx @biggora/claude-plugins skills add https://github.com/biggora/claude-plugins-registry --skill commafeed-api
24
31
 
25
- # Search by name or keyword
26
- claude-plugins search typescript
27
- claude-plugins search code-quality
32
+ # Short form
33
+ claude-plugins skills add https://github.com/biggora/claude-plugins-registry --skill n8n-api
28
34
  ```
29
35
 
30
- ### Install & Remove
36
+ ### Manage Installed Skills
31
37
 
32
38
  ```bash
39
+ # List installed skills
40
+ claude-plugins skills list
41
+
42
+ # Update a specific skill
43
+ claude-plugins skills update commafeed-api
44
+
45
+ # Update all installed skills
46
+ claude-plugins skills update
47
+
48
+ # Remove a skill
49
+ claude-plugins skills remove commafeed-api
50
+ ```
51
+
52
+ ### Available Skills
53
+
54
+ | Skill | Category | Description |
55
+ |-------|----------|-------------|
56
+ | `codex-cli` | devops | Install, configure, and automate tasks using OpenAI Codex CLI — approval modes, sandbox policies, MCP servers, and CI integration |
57
+ | `commafeed-api` | workflow | Manage CommaFeed RSS reader via REST API — subscriptions, categories, feeds, entries, and OPML import/export |
58
+ | `gemini-cli` | devops | Install, configure, and script with Gemini CLI — headless prompts, MCP servers, custom slash commands, extensions, and CI automation |
59
+ | `n8n-api` | workflow | Build, debug, and manage n8n workflows via REST API — create workflows, manage credentials, execute and monitor runs |
60
+ | `notebook-lm` | workflow | Automate Google NotebookLM — create notebooks, add sources, chat, generate audio/video overviews, quizzes, reports, and mind maps |
61
+ | `screen-recording` | other | Autonomous video creation — product demos, presentation videos, UI walkthroughs, and narrated screencasts via Pillow, MoviePy, and pyttsx3 |
62
+ | `test-mobile-app` | testing | Automated mobile app testing — analyzes APK/source, generates use cases, runs Appium tests on emulator, and produces QA reports |
63
+ | `test-web-ui` | testing | Automated web QA — discovers site structure, generates use cases and test plans, runs Playwright tests, and produces HTML reports |
64
+ | `text-to-speech` | other | Converts text to speech audio files using pyttsx3, espeak-ng, Kokoro ONNX, or cloud TTS engines with multilingual support |
65
+ | `tm-search` | workflow | Search, validate, and check availability of US trademarks via USPTO APIs — keyword search, batch validation, and status lookup |
66
+ | `wp-rest-api` | workflow | Build, extend, and debug WordPress REST API endpoints — routes, controllers, schema validation, authentication, and custom fields |
67
+ | `youtube-search` | workflow | Search YouTube for videos, channels, playlists and extract metadata, transcripts, and analytics via multiple API methods |
68
+ | `youtube-thumbnail` | other | Generates professional YouTube thumbnails in 11 strategic styles with auto-detection of AI image backends and Pillow compositing |
69
+
70
+ #### Install Examples
71
+
72
+ ```bash
73
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill codex-cli
74
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill gemini-cli
75
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill n8n-api
76
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill notebook-lm
77
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill commafeed-api
78
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill tm-search
79
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill wp-rest-api
80
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill youtube-search
81
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill youtube-thumbnail
82
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill screen-recording
83
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill text-to-speech
84
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill test-web-ui
85
+ npx skills add https://github.com/biggora/claude-plugins-registry --skill --skill test-mobile-app
86
+ ```
87
+
88
+ ## Plugins
89
+
90
+ ### Quick Start
91
+
92
+ ```bash
93
+ # Browse all available plugins
94
+ claude-plugins search
95
+
96
+ # Search by keyword
97
+ claude-plugins search typescript
98
+
33
99
  # Install a plugin
34
100
  claude-plugins install code-optimizer
35
101
 
36
- # Remove a plugin
37
- claude-plugins uninstall code-optimizer
102
+ # Restart Claude Code to load the plugin
103
+ ```
104
+
105
+ ### Plugin Commands
106
+
107
+ | Command | Description |
108
+ |---------|-------------|
109
+ | `claude-plugins search [query]` | Browse or search plugins by name, keyword, or category |
110
+ | `claude-plugins install <name>` | Install a plugin from the registry |
111
+ | `claude-plugins uninstall <name>` | Remove an installed plugin |
112
+ | `claude-plugins list` | List locally installed plugins |
113
+ | `claude-plugins info <name>` | Show detailed plugin information |
114
+ | `claude-plugins update [name]` | Update one or all installed plugins |
115
+ | `claude-plugins publish` | Validate plugin and generate registry entry for submission |
116
+
117
+ ### Skills Commands
118
+
119
+ | Command | Description |
120
+ |---------|-------------|
121
+ | `claude-plugins skills add <source>` | Install a skill from a Git URL or registry name |
122
+ | `claude-plugins skills add <url> --skill <name>` | Install a specific skill from a multi-skill repository |
123
+ | `claude-plugins skills list` | List installed skills |
124
+ | `claude-plugins skills update [name]` | Update one or all installed skills |
125
+ | `claude-plugins skills remove <name>` | Remove an installed skill |
126
+
127
+ ### Aliases
128
+
129
+ - `claude-plugins ls` - alias for `list`
130
+ - `claude-plugins remove <name>` - alias for `uninstall`
131
+ - `claude-plugins upgrade [name]` - alias for `update`
132
+ - `claude-plugins skills ls` - alias for `skills list`
133
+ - `claude-plugins skills rm <name>` - alias for `skills remove`
134
+
135
+ ## Usage Examples
136
+
137
+ ### Search & Install Plugins
138
+
139
+ ```bash
140
+ # List all plugins in the registry
141
+ claude-plugins search
142
+
143
+ # Search for code quality tools
144
+ claude-plugins search code-quality
145
+
146
+ # Get details about a specific plugin
147
+ claude-plugins info typescript-eslint-fixer
148
+
149
+ # Install it
150
+ claude-plugins install typescript-eslint-fixer
38
151
  ```
39
152
 
40
- ### Manage
153
+ ### Manage Installed Plugins
41
154
 
42
155
  ```bash
43
- # List installed plugins
156
+ # See what you have installed
44
157
  claude-plugins list
45
158
 
46
- # Show plugin details
47
- claude-plugins info code-optimizer
48
-
49
- # Update all plugins
159
+ # Update all plugins to latest
50
160
  claude-plugins update
51
161
 
52
162
  # Update a specific plugin
53
163
  claude-plugins update code-optimizer
164
+
165
+ # Remove a plugin
166
+ claude-plugins uninstall code-optimizer
54
167
  ```
55
168
 
56
- ### Publish
169
+ ### Publish Your Own Plugin
57
170
 
58
171
  ```bash
59
172
  # From your plugin directory
60
- cd my-plugin
173
+ cd my-awesome-plugin
174
+
175
+ # Validate and generate a registry entry
61
176
  claude-plugins publish
62
177
  ```
63
178
 
64
- This validates your plugin and generates a registry entry. Submit a PR to [claude-plugins-registry](https://github.com/biggora/claude-plugins-registry) to list it.
179
+ The `publish` command validates your plugin structure and outputs a JSON entry. Submit a PR to [claude-plugins-registry](https://github.com/biggora/claude-plugins-registry) to list your plugin.
65
180
 
66
181
  ## Plugin Structure
67
182
 
@@ -72,10 +187,10 @@ my-plugin/
72
187
  .claude-plugin/
73
188
  plugin.json # Required: name, version, description
74
189
  README.md # Required
75
- commands/ # Slash commands
76
- agents/ # Agent definitions
77
- skills/ # Skill files
78
- hooks/ # Hook definitions
190
+ commands/ # Slash commands (optional)
191
+ agents/ # Agent definitions (optional)
192
+ skills/ # Skill files (optional)
193
+ hooks/ # Hook definitions (optional)
79
194
  ```
80
195
 
81
196
  ### plugin.json
@@ -84,29 +199,68 @@ my-plugin/
84
199
  {
85
200
  "name": "my-plugin",
86
201
  "version": "1.0.0",
87
- "description": "What it does",
88
- "author": { "name": "you", "url": "https://github.com/you" },
89
- "repository": "https://github.com/you/my-plugin",
202
+ "description": "Short description of what it does",
203
+ "author": {
204
+ "name": "your-name",
205
+ "url": "https://github.com/your-name"
206
+ },
207
+ "repository": "https://github.com/your-name/my-plugin",
90
208
  "keywords": ["keyword1", "keyword2"],
91
209
  "license": "MIT"
92
210
  }
93
211
  ```
94
212
 
213
+ ## Skill Structure
214
+
215
+ Skills are simpler than plugins — just a SKILL.md file with optional supporting files:
216
+
217
+ ```
218
+ my-skill/
219
+ SKILL.md # Required: skill instructions with YAML frontmatter
220
+ references/ # Reference docs (optional)
221
+ scripts/ # Helper scripts (optional)
222
+ ```
223
+
224
+ ### SKILL.md
225
+
226
+ ```markdown
227
+ ---
228
+ name: my-skill
229
+ description: What this skill teaches Claude to do
230
+ ---
231
+
232
+ # My Skill
233
+
234
+ Instructions for Claude Code...
235
+ ```
236
+
95
237
  ## Registry
96
238
 
97
- The plugin registry is hosted at [github.com/biggora/claude-plugins-registry](https://github.com/biggora/claude-plugins-registry). The CLI fetches it on demand and caches for 15 minutes.
239
+ The plugin registry is a GitHub-hosted JSON file at [biggora/claude-plugins-registry](https://github.com/biggora/claude-plugins-registry).
98
240
 
99
- To add your plugin to the registry:
241
+ - The CLI fetches the registry on demand and caches it locally for 15 minutes
242
+ - Falls back to cached version if GitHub is unreachable
243
+ - Falls back to bundled registry if no cache exists
100
244
 
101
- 1. Ensure your plugin is on GitHub
102
- 2. Run `claude-plugins publish` to validate and generate a registry entry
103
- 3. Submit a PR adding the entry to `registry.json`
245
+ ### Adding a Plugin to the Registry
246
+
247
+ 1. Create your plugin and push it to a public GitHub repository
248
+ 2. Run `claude-plugins publish` from your plugin directory to validate
249
+ 3. Copy the generated registry entry
250
+ 4. Submit a PR to [claude-plugins-registry](https://github.com/biggora/claude-plugins-registry) adding the entry to `registry/registry.json`
104
251
 
105
252
  ## How It Works
106
253
 
107
- - Plugins are installed to `~/.claude/plugins/<name>` via `git clone`
108
- - Updates use `git pull --ff-only`
109
- - Claude Code automatically discovers plugins in `~/.claude/plugins/`
254
+ - **Plugins** are installed via `git clone` to `~/.claude/plugins/<name>`
255
+ - **Skills** are installed via `git clone` + copy to `~/.claude/skills/<name>`
256
+ - Updates use `git pull --ff-only` to safely fast-forward
257
+ - Claude Code automatically discovers plugins and skills in `~/.claude/`
258
+ - Restart Claude Code after installing or removing plugins/skills
259
+
260
+ ## Requirements
261
+
262
+ - Node.js >= 18.0.0
263
+ - Git (for install/update operations)
110
264
 
111
265
  ## License
112
266
 
package/bin/cli.js CHANGED
@@ -76,4 +76,43 @@ program
76
76
  await publish();
77
77
  });
78
78
 
79
+ const skills = program
80
+ .command('skills')
81
+ .description('Manage Claude Code skills');
82
+
83
+ skills
84
+ .command('add <source>')
85
+ .description('Install a skill from a Git URL or registry name')
86
+ .option('--skill <name>', 'Select a specific skill from a multi-skill repo')
87
+ .action(async (source, options) => {
88
+ const { add } = await import('../src/commands/skills/add.js');
89
+ await add(source, options);
90
+ });
91
+
92
+ skills
93
+ .command('list')
94
+ .alias('ls')
95
+ .description('List installed skills')
96
+ .action(async () => {
97
+ const { list } = await import('../src/commands/skills/list.js');
98
+ await list();
99
+ });
100
+
101
+ skills
102
+ .command('remove <name>')
103
+ .alias('rm')
104
+ .description('Remove an installed skill')
105
+ .action(async (name) => {
106
+ const { remove } = await import('../src/commands/skills/remove.js');
107
+ await remove(name);
108
+ });
109
+
110
+ skills
111
+ .command('update [name]')
112
+ .description('Update one or all installed skills')
113
+ .action(async (name) => {
114
+ const { update } = await import('../src/commands/skills/update.js');
115
+ await update(name);
116
+ });
117
+
79
118
  program.parse();
package/package.json CHANGED
@@ -1,17 +1,7 @@
1
1
  {
2
2
  "name": "@biggora/claude-plugins",
3
- "publishConfig": {
4
- "access": "public"
5
- },
6
- "version": "1.0.0",
3
+ "version": "1.1.1",
7
4
  "description": "CLI marketplace for discovering, installing, and managing Claude Code plugins",
8
- "main": "src/index.js",
9
- "bin": {
10
- "claude-plugins": "bin/cli.js"
11
- },
12
- "scripts": {
13
- "test": "node bin/cli.js --help"
14
- },
15
5
  "keywords": [
16
6
  "claude",
17
7
  "claude-code",
@@ -19,22 +9,45 @@
19
9
  "marketplace",
20
10
  "cli"
21
11
  ],
22
- "author": {
23
- "name": "biggora",
24
- "url": "https://github.com/biggora"
12
+ "homepage": "https://github.com/biggora/claude-plugins-registry#readme",
13
+ "bugs": {
14
+ "url": "https://github.com/biggora/claude-plugins-registry/issues"
25
15
  },
26
- "license": "MIT",
27
16
  "repository": {
28
17
  "type": "git",
29
- "url": "https://github.com/biggora/claude-plugins"
18
+ "url": "git+https://github.com/biggora/claude-plugins-registry.git"
19
+ },
20
+ "license": "MIT",
21
+ "author": "biggora (https://github.com/biggora)",
22
+ "type": "module",
23
+ "main": "src/index.js",
24
+ "bin": {
25
+ "claude-plugins": "bin/cli.js"
26
+ },
27
+ "directories": {
28
+ "test": "tests"
29
+ },
30
+ "scripts": {
31
+ "test": "node --test tests/unit/*.test.js tests/commands/*.test.js tests/skills/*.test.js tests/validation/*.test.js tests/integration/*.test.js",
32
+ "test:unit": "node --test tests/unit/*.test.js",
33
+ "test:commands": "node --test tests/commands/*.test.js",
34
+ "test:skills": "node --test tests/skills/*.test.js",
35
+ "test:validation": "node --test tests/validation/*.test.js",
36
+ "test:integration": "node --test tests/integration/*.test.js",
37
+ "test:functional": "node --test tests/functional/*.test.js",
38
+ "test:all": "node --test tests/unit/*.test.js tests/commands/*.test.js tests/skills/*.test.js tests/validation/*.test.js tests/integration/*.test.js tests/functional/*.test.js",
39
+ "test:coverage": "node --test --experimental-test-coverage tests/unit/*.test.js tests/commands/*.test.js tests/skills/*.test.js tests/validation/*.test.js tests/integration/*.test.js"
30
40
  },
31
41
  "dependencies": {
32
42
  "chalk": "^5.3.0",
33
43
  "commander": "^12.1.0",
34
44
  "ora": "^8.1.0"
35
45
  },
46
+ "devDependencies": {},
36
47
  "engines": {
37
48
  "node": ">=18.0.0"
38
49
  },
39
- "type": "module"
50
+ "publishConfig": {
51
+ "access": "public"
52
+ }
40
53
  }