allagents 0.1.5 → 0.2.2

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.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 EntityProcess
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 EntityProcess
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,281 +1,281 @@
1
- # AllAgents
2
-
3
- CLI tool for managing multi-repo AI agent workspaces with plugin synchronization across multiple AI clients.
4
-
5
- > **Attribution:** AllAgents is inspired by [dotagents](https://github.com/iannuttall/dotagents) by Ian Nuttall. While rewritten from scratch, we share the vision of unified AI agent configuration management. Thank you Ian for the inspiration!
6
-
7
- ## Why AllAgents?
8
-
9
- **The Problem:** AI coding assistants (Claude, Copilot, Cursor, Codex, etc.) each have their own configuration formats and directory structures. If you want to share skills, commands, or prompts across multiple projects or use multiple AI clients, you need to manually copy and transform files.
10
-
11
- **AllAgents solves this by:**
12
-
13
- | Feature | Claude Code Plugins | AllAgents |
14
- |---------|--------------------|-----------|
15
- | Scope | Single project | Multi-repo workspace |
16
- | Client support | Claude only | 8 AI clients |
17
- | File location | Runtime lookup from cache | Copied to workspace (git-versioned) |
18
- | Project structure | AI config mixed with code | Separate workspace repo |
19
-
20
- ### Key Differentiators
21
-
22
- 1. **Multi-repo workspaces** - One workspace references multiple project repositories. Your AI tooling lives separately from your application code.
23
-
24
- 2. **Multi-client distribution** - Write plugins once, sync to all clients. AllAgents transforms and copies files to each client's expected paths.
25
-
26
- 3. **Workspace is a git repo** - Unlike Claude's runtime plugin system, AllAgents copies files into your workspace. Team members get the same AI tooling via git.
27
-
28
- 4. **Clean separation** - Project repos stay clean. AI configuration lives in the workspace.
29
-
30
- ```
31
- ┌─────────────────┐
32
- │ Marketplace │ (plugin source - GitHub repos)
33
- └────────┬────────┘
34
-
35
-
36
- ┌─────────────────┐
37
- │ AllAgents │ (sync & transform)
38
- │ workspace sync │
39
- └────────┬────────┘
40
-
41
- ┌────┴────┬────────┬─────────┐
42
- ▼ ▼ ▼ ▼
43
- .claude/ .github/ .cursor/ .codex/ (client-specific paths)
44
- ```
45
-
46
- ## Installation
47
-
48
- ```bash
49
- # Using bun
50
- bun install -g allagents
51
-
52
- # Or run directly
53
- bunx allagents
54
- ```
55
-
56
- ## Quick Start
57
-
58
- ```bash
59
- # Create a new workspace
60
- allagents workspace init my-workspace
61
- cd my-workspace
62
-
63
- # Add a marketplace (or let auto-registration handle it)
64
- allagents plugin marketplace add anthropics/claude-plugins-official
65
-
66
- # Add plugins to workspace
67
- allagents workspace plugin add code-review@claude-plugins-official
68
- allagents workspace plugin add my-plugin@someuser/their-repo
69
-
70
- # Sync plugins to workspace
71
- allagents workspace sync
72
- ```
73
-
74
- ## Commands
75
-
76
- ### Workspace Commands
77
-
78
- ```bash
79
- # Initialize a new workspace from template
80
- allagents workspace init <path>
81
-
82
- # Sync all plugins to workspace (non-destructive)
83
- allagents workspace sync [options]
84
- --force Force re-fetch of remote plugins even if cached
85
- --dry-run Preview changes without applying
86
-
87
- # Non-destructive sync: your files are safe
88
- # - First sync overlays without deleting existing files
89
- # - Subsequent syncs only remove files AllAgents previously synced
90
- # - Tracked in .allagents/sync-state.json
91
-
92
- # Show status of workspace and plugins
93
- allagents workspace status
94
-
95
- # Add a plugin to .allagents/workspace.yaml (auto-registers marketplace if needed)
96
- allagents workspace plugin add <plugin@marketplace>
97
-
98
- # Remove a plugin from .allagents/workspace.yaml
99
- allagents workspace plugin remove <plugin>
100
- ```
101
-
102
- ### Plugin Marketplace Commands
103
-
104
- ```bash
105
- # List registered marketplaces
106
- allagents plugin marketplace list
107
-
108
- # Add a marketplace from GitHub or local path
109
- allagents plugin marketplace add <source>
110
- # Examples:
111
- # allagents plugin marketplace add anthropics/claude-plugins-official
112
- # allagents plugin marketplace add /path/to/local/marketplace
113
-
114
- # Remove a marketplace
115
- allagents plugin marketplace remove <name>
116
-
117
- # Update marketplace(s) from remote
118
- allagents plugin marketplace update [name]
119
- ```
120
-
121
- ### Plugin Commands
122
-
123
- ```bash
124
- # List available plugins from marketplaces
125
- allagents plugin list [marketplace]
126
-
127
- # Validate a plugin or marketplace structure
128
- allagents plugin validate <path>
129
- ```
130
-
131
- ## .allagents/workspace.yaml
132
-
133
- The workspace configuration file lives in `.allagents/workspace.yaml` and defines repositories, plugins, and target clients:
134
-
135
- ```yaml
136
- repositories:
137
- - path: ../my-project
138
- owner: myorg
139
- repo: my-project
140
- description: Main project repository
141
- - path: ../my-api
142
- owner: myorg
143
- repo: my-api
144
- description: API service
145
-
146
- plugins:
147
- - code-review@claude-plugins-official # plugin@marketplace format
148
- - context7@claude-plugins-official
149
- - my-plugin@someuser/their-repo # fully qualified for custom marketplaces
150
-
151
- clients:
152
- - claude
153
- - copilot
154
- - cursor
155
- ```
156
-
157
- ### Plugin Spec Format
158
-
159
- Plugins use the `plugin@marketplace` format:
160
-
161
- | Format | Example | Description |
162
- |--------|---------|-------------|
163
- | Well-known | `code-review@claude-plugins-official` | Uses known marketplace mapping |
164
- | owner/repo | `my-plugin@owner/repo` | Auto-registers GitHub repo, looks in `plugins/` |
165
- | owner/repo/subpath | `my-plugin@owner/repo/extensions` | Looks in custom subdirectory |
166
-
167
- The subpath format is useful when plugins aren't in the standard `plugins/` directory:
168
-
169
- ```yaml
170
- plugins:
171
- - feature-dev@anthropics/claude-plugins-official/plugins # explicit plugins/ dir
172
- - my-addon@someuser/repo/addons # custom addons/ dir
173
- - tool@org/monorepo/packages/tools # nested path
174
- ```
175
-
176
- ### Well-Known Marketplaces
177
-
178
- These marketplace names auto-resolve to their GitHub repos:
179
-
180
- - `claude-plugins-official` → `anthropics/claude-plugins-official`
181
-
182
- ### Supported Clients
183
-
184
- | Client | Commands | Skills | Agent File | Hooks |
185
- |--------|----------|--------|------------|-------|
186
- | claude | `.claude/commands/` | `.claude/skills/` | `CLAUDE.md` | `.claude/hooks/` |
187
- | copilot | `.github/prompts/*.prompt.md` | `.github/skills/` | `AGENTS.md` | No |
188
- | codex | `.codex/prompts/` | `.codex/skills/` | `AGENTS.md` | No |
189
- | cursor | `.cursor/commands/` | `.cursor/skills/` | No | No |
190
- | opencode | `.opencode/commands/` | `.opencode/skills/` | `AGENTS.md` | No |
191
- | gemini | `.gemini/commands/` | `.gemini/skills/` | `GEMINI.md` | No |
192
- | factory | `.factory/commands/` | `.factory/skills/` | `AGENTS.md` | `.factory/hooks/` |
193
- | ampcode | N/A | N/A | `AGENTS.md` | No |
194
-
195
- ## Marketplace Structure
196
-
197
- Marketplaces contain multiple plugins:
198
-
199
- ```
200
- my-marketplace/
201
- ├── plugins/
202
- │ ├── code-review/
203
- │ │ ├── plugin.json
204
- ├── commands/
205
- │ │ └── skills/
206
- │ └── debugging/
207
- ├── plugin.json
208
- │ ├── commands/
209
- │ └── skills/
210
- └── README.md
211
- ```
212
-
213
- ## Plugin Structure
214
-
215
- Each plugin follows this structure:
216
-
217
- ```
218
- my-plugin/
219
- ├── plugin.json # Plugin metadata
220
- ├── commands/ # Command files (.md)
221
- ├── build.md
222
- └── deploy.md
223
- ├── skills/ # Skill directories with SKILL.md
224
- └── debugging/
225
- └── SKILL.md
226
- ├── hooks/ # Hook files (for Claude/Factory)
227
- │ └── pre-commit.md
228
- └── AGENTS.md # Agent configuration (optional)
229
- ```
230
-
231
- ### Skill Validation
232
-
233
- Skills must have a valid `SKILL.md` file with YAML frontmatter:
234
-
235
- ```yaml
236
- ---
237
- name: my-skill # Required: lowercase, alphanumeric + hyphens, max 64 chars
238
- description: Description of the skill # Required
239
- allowed-tools: # Optional
240
- - Read
241
- - Write
242
- model: claude-3-opus # Optional
243
- ---
244
-
245
- # Skill Content
246
-
247
- Skill instructions go here...
248
- ```
249
-
250
- ## Storage Locations
251
-
252
- ```
253
- ~/.allagents/
254
- ├── marketplaces.json # Registry of marketplaces
255
- └── marketplaces/ # Cloned marketplace repos
256
- ├── claude-plugins-official/
257
- └── someuser-their-repo/
258
- ```
259
-
260
- ## Development
261
-
262
- ```bash
263
- # Install dependencies
264
- bun install
265
-
266
- # Run in development
267
- bun run dev workspace init test-ws
268
-
269
- # Run tests
270
- bun run test
271
-
272
- # Type check
273
- bun run typecheck
274
-
275
- # Build
276
- bun run build
277
- ```
278
-
279
- ## License
280
-
281
- MIT
1
+ # AllAgents
2
+
3
+ CLI tool for managing multi-repo AI agent workspaces with plugin synchronization across multiple AI clients.
4
+
5
+ > **Attribution:** AllAgents is inspired by [dotagents](https://github.com/iannuttall/dotagents) by Ian Nuttall. While rewritten from scratch, we share the vision of unified AI agent configuration management. Thank you Ian for the inspiration!
6
+
7
+ ## Why AllAgents?
8
+
9
+ **The Problem:** AI coding assistants (Claude, Copilot, Cursor, Codex, etc.) each have their own configuration formats and directory structures. If you want to share skills across multiple projects or use multiple AI clients, you need to manually copy and transform files.
10
+
11
+ **AllAgents solves this by:**
12
+
13
+ | Feature | Claude Code Plugins | AllAgents |
14
+ |---------|--------------------|-----------|
15
+ | Scope | Single project | Multi-repo workspace |
16
+ | Client support | Claude only | 8 AI clients |
17
+ | File location | Runtime lookup from cache | Copied to workspace (git-versioned) |
18
+ | Project structure | AI config mixed with code | Separate workspace repo |
19
+
20
+ ### Key Differentiators
21
+
22
+ 1. **Multi-repo workspaces** - One workspace references multiple project repositories. Your AI tooling lives separately from your application code.
23
+
24
+ 2. **Multi-client distribution** - Write plugins once, sync to all clients. AllAgents transforms and copies files to each client's expected paths.
25
+
26
+ 3. **Workspace is a git repo** - Unlike Claude's runtime plugin system, AllAgents copies files into your workspace. Team members get the same AI tooling via git.
27
+
28
+ 4. **Clean separation** - Project repos stay clean. AI configuration lives in the workspace.
29
+
30
+ ```
31
+ ┌─────────────────┐
32
+ │ Marketplace │ (plugin source - GitHub repos)
33
+ └────────┬────────┘
34
+
35
+
36
+ ┌─────────────────┐
37
+ │ AllAgents │ (sync & transform)
38
+ │ workspace sync │
39
+ └────────┬────────┘
40
+
41
+ ┌────┴────┬────────┬─────────┐
42
+ ▼ ▼ ▼ ▼
43
+ .claude/ .github/ .cursor/ .codex/ (client-specific paths)
44
+ ```
45
+
46
+ ## Installation
47
+
48
+ ```bash
49
+ # Using bun
50
+ bun install -g allagents
51
+
52
+ # Or run directly
53
+ bunx allagents
54
+ ```
55
+
56
+ ## Quick Start
57
+
58
+ ```bash
59
+ # Create a new workspace
60
+ allagents workspace init my-workspace
61
+ cd my-workspace
62
+
63
+ # Add a marketplace (or let auto-registration handle it)
64
+ allagents plugin marketplace add anthropics/claude-plugins-official
65
+
66
+ # Add plugins to workspace
67
+ allagents workspace plugin add code-review@claude-plugins-official
68
+ allagents workspace plugin add my-plugin@someuser/their-repo
69
+
70
+ # Sync plugins to workspace
71
+ allagents workspace sync
72
+ ```
73
+
74
+ ## Commands
75
+
76
+ ### Workspace Commands
77
+
78
+ ```bash
79
+ # Initialize a new workspace from template
80
+ allagents workspace init <path>
81
+
82
+ # Sync all plugins to workspace (non-destructive)
83
+ allagents workspace sync [options]
84
+ --force Force re-fetch of remote plugins even if cached
85
+ --dry-run Preview changes without applying
86
+
87
+ # Non-destructive sync: your files are safe
88
+ # - First sync overlays without deleting existing files
89
+ # - Subsequent syncs only remove files AllAgents previously synced
90
+ # - Tracked in .allagents/sync-state.json
91
+
92
+ # Show status of workspace and plugins
93
+ allagents workspace status
94
+
95
+ # Add a plugin to .allagents/workspace.yaml (auto-registers marketplace if needed)
96
+ allagents workspace plugin add <plugin@marketplace>
97
+
98
+ # Remove a plugin from .allagents/workspace.yaml
99
+ allagents workspace plugin remove <plugin>
100
+ ```
101
+
102
+ ### Plugin Marketplace Commands
103
+
104
+ ```bash
105
+ # List registered marketplaces
106
+ allagents plugin marketplace list
107
+
108
+ # Add a marketplace from GitHub or local path
109
+ allagents plugin marketplace add <source>
110
+ # Examples:
111
+ # allagents plugin marketplace add anthropics/claude-plugins-official
112
+ # allagents plugin marketplace add /path/to/local/marketplace
113
+
114
+ # Remove a marketplace
115
+ allagents plugin marketplace remove <name>
116
+
117
+ # Update marketplace(s) from remote
118
+ allagents plugin marketplace update [name]
119
+ ```
120
+
121
+ ### Plugin Commands
122
+
123
+ ```bash
124
+ # List available plugins from marketplaces
125
+ allagents plugin list [marketplace]
126
+
127
+ # Validate a plugin or marketplace structure
128
+ allagents plugin validate <path>
129
+ ```
130
+
131
+ ## .allagents/workspace.yaml
132
+
133
+ The workspace configuration file lives in `.allagents/workspace.yaml` and defines repositories, plugins, and target clients:
134
+
135
+ ```yaml
136
+ repositories:
137
+ - path: ../my-project
138
+ owner: myorg
139
+ repo: my-project
140
+ description: Main project repository
141
+ - path: ../my-api
142
+ owner: myorg
143
+ repo: my-api
144
+ description: API service
145
+
146
+ plugins:
147
+ - code-review@claude-plugins-official # plugin@marketplace format
148
+ - context7@claude-plugins-official
149
+ - my-plugin@someuser/their-repo # fully qualified for custom marketplaces
150
+
151
+ clients:
152
+ - claude
153
+ - copilot
154
+ - cursor
155
+ ```
156
+
157
+ ### Plugin Spec Format
158
+
159
+ Plugins use the `plugin@marketplace` format:
160
+
161
+ | Format | Example | Description |
162
+ |--------|---------|-------------|
163
+ | Well-known | `code-review@claude-plugins-official` | Uses known marketplace mapping |
164
+ | owner/repo | `my-plugin@owner/repo` | Auto-registers GitHub repo, looks in `plugins/` |
165
+ | owner/repo/subpath | `my-plugin@owner/repo/extensions` | Looks in custom subdirectory |
166
+
167
+ The subpath format is useful when plugins aren't in the standard `plugins/` directory:
168
+
169
+ ```yaml
170
+ plugins:
171
+ - feature-dev@anthropics/claude-plugins-official/plugins # explicit plugins/ dir
172
+ - my-addon@someuser/repo/addons # custom addons/ dir
173
+ - tool@org/monorepo/packages/tools # nested path
174
+ ```
175
+
176
+ ### Well-Known Marketplaces
177
+
178
+ These marketplace names auto-resolve to their GitHub repos:
179
+
180
+ - `claude-plugins-official` → `anthropics/claude-plugins-official`
181
+
182
+ ### Supported Clients
183
+
184
+ | Client | Skills | Agent File | Hooks | Commands |
185
+ |--------|--------|------------|-------|----------|
186
+ | claude | `.claude/skills/` | `CLAUDE.md` | `.claude/hooks/` | `.claude/commands/` |
187
+ | copilot | `.github/skills/` | `AGENTS.md` | No | No |
188
+ | codex | `.codex/skills/` | `AGENTS.md` | No | No |
189
+ | cursor | `.cursor/skills/` | `AGENTS.md` | No | No |
190
+ | opencode | `.opencode/skills/` | `AGENTS.md` | No | No |
191
+ | gemini | `.gemini/skills/` | `GEMINI.md` | No | No |
192
+ | factory | `.factory/skills/` | `AGENTS.md` | `.factory/hooks/` | No |
193
+ | ampcode | No | `AGENTS.md` | No | No |
194
+
195
+ > **Note:** Commands are a Claude-specific feature. Skills are the cross-client way to share reusable prompts.
196
+
197
+ ## Marketplace Structure
198
+
199
+ Marketplaces contain multiple plugins:
200
+
201
+ ```
202
+ my-marketplace/
203
+ ├── plugins/
204
+ │ ├── code-review/
205
+ │ │ ├── plugin.json
206
+ └── skills/
207
+ └── debugging/
208
+ │ ├── plugin.json
209
+ │ └── skills/
210
+ └── README.md
211
+ ```
212
+
213
+ ## Plugin Structure
214
+
215
+ Each plugin follows this structure:
216
+
217
+ ```
218
+ my-plugin/
219
+ ├── plugin.json # Plugin metadata
220
+ ├── skills/ # Skill directories with SKILL.md (all clients)
221
+ └── debugging/
222
+ └── SKILL.md
223
+ ├── commands/ # Command files (.md) - Claude only
224
+ ├── build.md
225
+ └── deploy.md
226
+ ├── hooks/ # Hook files (Claude/Factory only)
227
+ │ └── pre-commit.md
228
+ └── AGENTS.md # Agent configuration (optional)
229
+ ```
230
+
231
+ ### Skill Validation
232
+
233
+ Skills must have a valid `SKILL.md` file with YAML frontmatter:
234
+
235
+ ```yaml
236
+ ---
237
+ name: my-skill # Required: lowercase, alphanumeric + hyphens, max 64 chars
238
+ description: Description of the skill # Required
239
+ allowed-tools: # Optional
240
+ - Read
241
+ - Write
242
+ model: claude-3-opus # Optional
243
+ ---
244
+
245
+ # Skill Content
246
+
247
+ Skill instructions go here...
248
+ ```
249
+
250
+ ## Storage Locations
251
+
252
+ ```
253
+ ~/.allagents/
254
+ ├── marketplaces.json # Registry of marketplaces
255
+ └── marketplaces/ # Cloned marketplace repos
256
+ ├── claude-plugins-official/
257
+ └── someuser-their-repo/
258
+ ```
259
+
260
+ ## Development
261
+
262
+ ```bash
263
+ # Install dependencies
264
+ bun install
265
+
266
+ # Run in development
267
+ bun run dev workspace init test-ws
268
+
269
+ # Run tests
270
+ bun run test
271
+
272
+ # Type check
273
+ bun run typecheck
274
+
275
+ # Build
276
+ bun run build
277
+ ```
278
+
279
+ ## License
280
+
281
+ MIT