agentboot 0.1.0 → 0.2.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.
- package/README.md +8 -7
- package/agentboot.config.json +4 -1
- package/package.json +2 -2
- package/scripts/cli.ts +42 -14
- package/scripts/compile.ts +30 -7
- package/scripts/dev-sync.ts +1 -1
- package/scripts/lib/config.ts +17 -1
- package/scripts/validate.ts +12 -7
- package/.github/ISSUE_TEMPLATE/persona-request.md +0 -62
- package/.github/ISSUE_TEMPLATE/quality-feedback.md +0 -67
- package/.github/workflows/cla.yml +0 -25
- package/.github/workflows/validate.yml +0 -49
- package/.idea/agentboot.iml +0 -9
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/CLAUDE.md +0 -230
- package/CONTRIBUTING.md +0 -168
- package/PERSONAS.md +0 -156
- package/core/instructions/baseline.instructions.md +0 -133
- package/core/instructions/security.instructions.md +0 -186
- package/core/personas/code-reviewer/SKILL.md +0 -175
- package/core/personas/security-reviewer/SKILL.md +0 -233
- package/core/personas/test-data-expert/SKILL.md +0 -234
- package/core/personas/test-generator/SKILL.md +0 -262
- package/core/traits/audit-trail.md +0 -182
- package/core/traits/confidence-signaling.md +0 -172
- package/core/traits/critical-thinking.md +0 -129
- package/core/traits/schema-awareness.md +0 -132
- package/core/traits/source-citation.md +0 -174
- package/core/traits/structured-output.md +0 -199
- package/docs/ci-cd-automation.md +0 -548
- package/docs/claude-code-reference/README.md +0 -21
- package/docs/claude-code-reference/agentboot-coverage.md +0 -484
- package/docs/claude-code-reference/feature-inventory.md +0 -906
- package/docs/cli-commands-audit.md +0 -112
- package/docs/cli-design.md +0 -924
- package/docs/concepts.md +0 -1117
- package/docs/config-schema-audit.md +0 -121
- package/docs/configuration.md +0 -645
- package/docs/delivery-methods.md +0 -758
- package/docs/developer-onboarding.md +0 -342
- package/docs/extending.md +0 -448
- package/docs/getting-started.md +0 -298
- package/docs/knowledge-layer.md +0 -464
- package/docs/marketplace.md +0 -822
- package/docs/org-connection.md +0 -570
- package/docs/plans/architecture.md +0 -2429
- package/docs/plans/design.md +0 -2018
- package/docs/plans/prd.md +0 -1862
- package/docs/plans/stack-rank.md +0 -261
- package/docs/plans/technical-spec.md +0 -2755
- package/docs/privacy-and-safety.md +0 -807
- package/docs/prompt-optimization.md +0 -1071
- package/docs/test-plan.md +0 -972
- package/docs/third-party-ecosystem.md +0 -496
- package/domains/compliance-template/README.md +0 -173
- package/domains/compliance-template/traits/compliance-aware.md +0 -228
- package/examples/enterprise/agentboot.config.json +0 -184
- package/examples/minimal/agentboot.config.json +0 -46
- package/tests/REGRESSION-PLAN.md +0 -705
- package/tests/TEST-PLAN.md +0 -111
- package/tests/cli.test.ts +0 -705
- package/tests/pipeline.test.ts +0 -608
- package/tests/validate.test.ts +0 -278
- package/tsconfig.json +0 -62
package/docs/org-connection.md
DELETED
|
@@ -1,570 +0,0 @@
|
|
|
1
|
-
# How Developers Get Their Org's AgentBoot
|
|
2
|
-
|
|
3
|
-
The gap: AgentBoot (generic framework) and Acme-AgentBoot (org's custom rules, personas,
|
|
4
|
-
domain knowledge) are two different things. A developer who installs "agentboot" gets
|
|
5
|
-
the framework. How do they get their company's customizations?
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## The Two Layers
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
┌─────────────────────────────────────────────────┐
|
|
13
|
-
│ Layer 2: Org Customizations │
|
|
14
|
-
│ ┌─────────────┐ ┌──────────┐ ┌──────────────┐ │
|
|
15
|
-
│ │ Custom │ │ Domain │ │ Org-specific │ │
|
|
16
|
-
│ │ personas │ │ gotchas │ │ traits │ │
|
|
17
|
-
│ │ (HIPAA │ │ (Postgres│ │ (coding │ │
|
|
18
|
-
│ │ reviewer) │ │ RLS, │ │ standards, │ │
|
|
19
|
-
│ │ │ │ Lambda) │ │ brand voice)│ │
|
|
20
|
-
│ └─────────────┘ └──────────┘ └──────────────┘ │
|
|
21
|
-
│ ┌──────────┐ ┌──────────────┐ ┌─────────────┐ │
|
|
22
|
-
│ │ Hooks │ │ Managed │ │ MCP servers │ │
|
|
23
|
-
│ │ (PHI │ │ settings │ │ (knowledge │ │
|
|
24
|
-
│ │ scan) │ │ (permissions)│ │ base) │ │
|
|
25
|
-
│ └──────────┘ └──────────────┘ └─────────────┘ │
|
|
26
|
-
├─────────────────────────────────────────────────┤
|
|
27
|
-
│ Layer 1: AgentBoot Core │
|
|
28
|
-
│ ┌───────────┐ ┌────────────┐ ┌──────────────┐ │
|
|
29
|
-
│ │ code- │ │ security- │ │ test- │ │
|
|
30
|
-
│ │ reviewer │ │ reviewer │ │ generator │ │
|
|
31
|
-
│ └───────────┘ └────────────┘ └──────────────┘ │
|
|
32
|
-
│ ┌───────────────────────────────────────────┐ │
|
|
33
|
-
│ │ Core traits: critical-thinking, │ │
|
|
34
|
-
│ │ structured-output, source-citation, etc. │ │
|
|
35
|
-
│ └───────────────────────────────────────────┘ │
|
|
36
|
-
│ ┌──────────┐ ┌────────────┐ ┌──────────────┐ │
|
|
37
|
-
│ │ Build │ │ Validate │ │ Sync │ │
|
|
38
|
-
│ │ system │ │ system │ │ system │ │
|
|
39
|
-
│ └──────────┘ └────────────┘ └──────────────┘ │
|
|
40
|
-
└─────────────────────────────────────────────────┘
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
The developer needs both layers. The question is: how do they arrive?
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Five Connection Models
|
|
48
|
-
|
|
49
|
-
### Model A: Single Org Plugin (Recommended)
|
|
50
|
-
|
|
51
|
-
The org's platform team uses AgentBoot (the build tool) to produce a **single,
|
|
52
|
-
self-contained plugin** that includes core + org customizations, already composed.
|
|
53
|
-
The developer only installs one thing.
|
|
54
|
-
|
|
55
|
-
**Platform team workflow:**
|
|
56
|
-
```bash
|
|
57
|
-
# One-time setup
|
|
58
|
-
agentboot setup --org acme-corp
|
|
59
|
-
# Edit agentboot.config.json, add custom personas, traits, hooks, domain layers
|
|
60
|
-
agentboot build
|
|
61
|
-
agentboot export --format plugin --name acme
|
|
62
|
-
# Publish to private marketplace
|
|
63
|
-
agentboot publish --marketplace acme-corp/acme-personas
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
**Developer workflow:**
|
|
67
|
-
```bash
|
|
68
|
-
# One-time (or IT force-enables via managed settings)
|
|
69
|
-
/plugin marketplace add acme-corp/acme-personas
|
|
70
|
-
/plugin install acme
|
|
71
|
-
|
|
72
|
-
# That's it. They now have:
|
|
73
|
-
# - Core personas (code-reviewer, security-reviewer, etc.)
|
|
74
|
-
# - Org personas (hipaa-reviewer, compliance-checker, etc.)
|
|
75
|
-
# - Org traits (acme-standards, phi-awareness, etc.)
|
|
76
|
-
# - Compliance hooks (PHI scanning, credential blocking)
|
|
77
|
-
# - Domain gotchas rules
|
|
78
|
-
# - MCP servers (knowledge base)
|
|
79
|
-
# All namespaced: /acme:review-code, /acme:review-security
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Plugin Naming Strategy
|
|
83
|
-
|
|
84
|
-
The plugin `name` in plugin.json IS the namespace prefix for all skills. Keep it short:
|
|
85
|
-
|
|
86
|
-
| Plugin Name | Skill Invocation | Verdict |
|
|
87
|
-
|---|---|---|
|
|
88
|
-
| `"acme"` | `/acme:review-code` | Too long |
|
|
89
|
-
| `"acme"` | `/acme:review-code` | Good — org identity, short |
|
|
90
|
-
| `"ab"` | `/ab:review-code` | Fine for internal use |
|
|
91
|
-
|
|
92
|
-
For a private marketplace with a single org plugin, use the shortest recognizable
|
|
93
|
-
name. There's no collision risk in a private context. The `name` field accepts any
|
|
94
|
-
kebab-case string — it doesn't have to match the repo name, directory name, or
|
|
95
|
-
marketplace name.
|
|
96
|
-
|
|
97
|
-
**How the connection happens:**
|
|
98
|
-
- Managed settings force-enable: developer does nothing, it just appears
|
|
99
|
-
- Onboarding doc says "run this command": `/plugin marketplace add acme-corp/acme-personas`
|
|
100
|
-
- Repo README mentions it
|
|
101
|
-
- Tech lead tells them in standup
|
|
102
|
-
|
|
103
|
-
**Pros:**
|
|
104
|
-
- Simplest developer experience (one install, everything works)
|
|
105
|
-
- Core and org customizations are pre-composed (no assembly)
|
|
106
|
-
- Version-controlled as a unit
|
|
107
|
-
- IT can force-enable via managed settings
|
|
108
|
-
- Namespace prevents conflicts with anything else
|
|
109
|
-
|
|
110
|
-
**Cons:**
|
|
111
|
-
- Org doesn't get core updates automatically (must rebuild when AgentBoot core updates)
|
|
112
|
-
- Larger plugin (includes core + org)
|
|
113
|
-
|
|
114
|
-
### Private Marketplace Hosting
|
|
115
|
-
|
|
116
|
-
A marketplace is **just a Git repo** — not an artifact server like Maven/Nexus. No
|
|
117
|
-
special infrastructure required.
|
|
118
|
-
|
|
119
|
-
**Monorepo approach** (plugins in the same repo as marketplace.json):
|
|
120
|
-
```
|
|
121
|
-
acme-personas/ # Private GitHub/GitLab/Bitbucket repo
|
|
122
|
-
├── .claude-plugin/
|
|
123
|
-
│ └── marketplace.json # Plugin catalog
|
|
124
|
-
└── plugins/
|
|
125
|
-
└── acme/ # The org plugin
|
|
126
|
-
├── .claude-plugin/
|
|
127
|
-
│ └── plugin.json # name: "acme"
|
|
128
|
-
├── agents/
|
|
129
|
-
├── skills/
|
|
130
|
-
├── hooks/
|
|
131
|
-
└── .mcp.json
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
```json
|
|
135
|
-
// .claude-plugin/marketplace.json
|
|
136
|
-
{
|
|
137
|
-
"name": "acme-personas",
|
|
138
|
-
"owner": { "name": "Acme Platform Team" },
|
|
139
|
-
"plugins": [
|
|
140
|
-
{
|
|
141
|
-
"name": "acme",
|
|
142
|
-
"source": "./plugins/acme",
|
|
143
|
-
"description": "Acme engineering personas and compliance",
|
|
144
|
-
"version": "1.0.0"
|
|
145
|
-
}
|
|
146
|
-
]
|
|
147
|
-
}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
**Multi-repo approach** (plugins in separate repos):
|
|
151
|
-
```json
|
|
152
|
-
{
|
|
153
|
-
"name": "acme-personas",
|
|
154
|
-
"plugins": [
|
|
155
|
-
{
|
|
156
|
-
"name": "acme",
|
|
157
|
-
"source": { "source": "github", "repo": "acme-corp/acme-plugin", "ref": "v1.0.0" }
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
"name": "acme-data",
|
|
161
|
-
"source": { "source": "npm", "package": "@acme/data-plugin", "version": "^2.0.0" }
|
|
162
|
-
}
|
|
163
|
-
]
|
|
164
|
-
}
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
Plugin sources can be: relative paths, GitHub repos, any git URL (GitLab, Bitbucket,
|
|
168
|
-
self-hosted), npm packages (including private registries), or pip packages.
|
|
169
|
-
|
|
170
|
-
**Authentication:** Uses existing git credentials. If `git clone` works for the private
|
|
171
|
-
repo in your terminal, it works in Claude Code. For background auto-updates, set
|
|
172
|
-
`GITHUB_TOKEN` / `GITLAB_TOKEN` / `BITBUCKET_TOKEN` in the environment.
|
|
173
|
-
|
|
174
|
-
**IT force-install** (no developer action):
|
|
175
|
-
```json
|
|
176
|
-
// managed-settings.json (deployed via MDM)
|
|
177
|
-
{
|
|
178
|
-
"extraKnownMarketplaces": {
|
|
179
|
-
"acme-personas": {
|
|
180
|
-
"source": { "source": "github", "repo": "acme-corp/acme-personas" }
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
|
-
"enabledPlugins": {
|
|
184
|
-
"acme@acme-personas": true
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
**Lockdown** (prevent developers from adding unauthorized marketplaces):
|
|
190
|
-
```json
|
|
191
|
-
{
|
|
192
|
-
"strictKnownMarketplaces": [
|
|
193
|
-
{ "source": "github", "repo": "acme-corp/acme-personas" }
|
|
194
|
-
]
|
|
195
|
-
}
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
**Mitigation for core updates:**
|
|
199
|
-
```bash
|
|
200
|
-
# In the personas repo CI
|
|
201
|
-
agentboot upgrade # Pull latest core traits/personas
|
|
202
|
-
agentboot build # Rebuild with org customizations
|
|
203
|
-
agentboot publish # Push to marketplace
|
|
204
|
-
# Developers get updates via /reload-plugins or next session
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
### Model B: Two-Layer Plugin (Core + Org Extension)
|
|
210
|
-
|
|
211
|
-
Developer installs the generic AgentBoot plugin from the public marketplace, then
|
|
212
|
-
installs the org plugin on top. The org plugin extends core, doesn't replace it.
|
|
213
|
-
|
|
214
|
-
**Developer workflow:**
|
|
215
|
-
```bash
|
|
216
|
-
/plugin marketplace add agentboot/agentboot-marketplace
|
|
217
|
-
/plugin install agentboot # Core personas
|
|
218
|
-
|
|
219
|
-
/plugin marketplace add acme-corp/acme-personas
|
|
220
|
-
/plugin install acme # Org extensions
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
**How they compose:**
|
|
224
|
-
- Core plugin provides: `/agentboot:review-code`, `/agentboot:review-security`
|
|
225
|
-
- Org plugin provides: `/acme:review-hipaa`, `/acme:sme-compliance`
|
|
226
|
-
- Org plugin can also add hooks, rules, and MCP servers that layer on top
|
|
227
|
-
|
|
228
|
-
**Pros:**
|
|
229
|
-
- Core updates flow independently (AgentBoot publishes, devs get it)
|
|
230
|
-
- Org plugin is smaller (only customizations)
|
|
231
|
-
- Clear separation of concerns
|
|
232
|
-
|
|
233
|
-
**Cons:**
|
|
234
|
-
- Two installs (confusing for willing adopters)
|
|
235
|
-
- Two namespaces (`/agentboot:X` and `/acme:Y`)
|
|
236
|
-
- No way for org plugin to modify core persona behavior (can only add new personas)
|
|
237
|
-
- Plugin-to-plugin composition isn't a native CC feature
|
|
238
|
-
|
|
239
|
-
**Verdict:** Cleaner architecture but worse developer experience. **Not recommended**
|
|
240
|
-
unless CC adds plugin dependency/extension mechanisms.
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
### Model C: Repo Already Has It (Sync-Based)
|
|
245
|
-
|
|
246
|
-
The org's sync pipeline writes `.claude/` into every target repo. When a developer
|
|
247
|
-
clones the repo, the personas are already there. No plugin install needed.
|
|
248
|
-
|
|
249
|
-
**Developer workflow:**
|
|
250
|
-
```bash
|
|
251
|
-
git clone git@github.com:acme-corp/my-service.git
|
|
252
|
-
cd my-service
|
|
253
|
-
claude
|
|
254
|
-
# .claude/ is already populated with agents, skills, rules, hooks, traits
|
|
255
|
-
# /review-code just works (no namespace prefix)
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
**How it gets there:**
|
|
259
|
-
```bash
|
|
260
|
-
# In the personas repo CI (runs on merge to main)
|
|
261
|
-
agentboot build
|
|
262
|
-
agentboot sync --mode github-api
|
|
263
|
-
# Creates PRs in every target repo updating .claude/
|
|
264
|
-
# Team champion merges the PR
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
**Pros:**
|
|
268
|
-
- **Zero developer setup** — clone and go
|
|
269
|
-
- No plugin system dependency
|
|
270
|
-
- No namespace prefix (`/review-code` not `/acme:review-code`)
|
|
271
|
-
- Works for any tool that reads `.claude/` (not just CC plugins)
|
|
272
|
-
- Files are in the repo, visible, inspectable
|
|
273
|
-
|
|
274
|
-
**Cons:**
|
|
275
|
-
- Adds files to every repo (`.claude/` directory)
|
|
276
|
-
- Sync PRs create merge noise
|
|
277
|
-
- Files can drift if someone edits them in the target repo
|
|
278
|
-
- No automatic updates (requires re-sync + merge)
|
|
279
|
-
- Scales to dozens of repos; gets painful at hundreds
|
|
280
|
-
|
|
281
|
-
**Verdict:** Best **zero-friction developer experience**. The developer never installs
|
|
282
|
-
anything — the governance is in the repo they're already working in. This should be the
|
|
283
|
-
**default for existing repos**.
|
|
284
|
-
|
|
285
|
-
---
|
|
286
|
-
|
|
287
|
-
### Model D: Managed Settings Push (IT-Driven)
|
|
288
|
-
|
|
289
|
-
IT deploys configuration to developer machines via MDM or Anthropic's server-managed
|
|
290
|
-
settings. The developer does nothing.
|
|
291
|
-
|
|
292
|
-
**What gets pushed:**
|
|
293
|
-
```
|
|
294
|
-
/Library/Application Support/ClaudeCode/
|
|
295
|
-
├── managed-settings.json
|
|
296
|
-
│ {
|
|
297
|
-
│ "enabledPlugins": { "acme@acme-personas": true },
|
|
298
|
-
│ "extraKnownMarketplaces": ["https://github.com/acme-corp/acme-personas"],
|
|
299
|
-
│ "hooks": { /* compliance hooks */ },
|
|
300
|
-
│ "permissions": { "deny": ["Bash(rm -rf *)"] },
|
|
301
|
-
│ "allowManagedHooksOnly": true
|
|
302
|
-
│ }
|
|
303
|
-
├── managed-mcp.json
|
|
304
|
-
│ { "mcpServers": { "acme-kb": { ... } } }
|
|
305
|
-
└── CLAUDE.md
|
|
306
|
-
## Acme Corp Development Standards
|
|
307
|
-
@acme-standards.md
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
**Developer experience:**
|
|
311
|
-
```bash
|
|
312
|
-
claude
|
|
313
|
-
# Plugin auto-installed, hooks active, MCP servers connected
|
|
314
|
-
# Developer didn't do anything — IT handled it
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
**Pros:**
|
|
318
|
-
- Zero developer action (not even "run this command")
|
|
319
|
-
- Strongest enforcement (OS-level, can't be overridden)
|
|
320
|
-
- Perfect for compliance-first orgs
|
|
321
|
-
- Skeptics get governed without opting in
|
|
322
|
-
|
|
323
|
-
**Cons:**
|
|
324
|
-
- Requires MDM infrastructure (Jamf, Intune, etc.)
|
|
325
|
-
- Or requires Anthropic Team/Enterprise plan for server-managed
|
|
326
|
-
- Blunt instrument (same config for every repo on machine)
|
|
327
|
-
- Doesn't help with repo-specific personas (use sync for those)
|
|
328
|
-
|
|
329
|
-
**Verdict:** Use for **HARD guardrails and plugin force-enable** only. Compliance hooks,
|
|
330
|
-
credential blocking, and forcing the org plugin to install. Don't use for persona
|
|
331
|
-
delivery — that's what the plugin and sync are for.
|
|
332
|
-
|
|
333
|
-
---
|
|
334
|
-
|
|
335
|
-
### Model E: Self-Service Discovery
|
|
336
|
-
|
|
337
|
-
The developer has AgentBoot installed (generic or org plugin) and runs a setup skill
|
|
338
|
-
that connects them to their org.
|
|
339
|
-
|
|
340
|
-
**Developer workflow:**
|
|
341
|
-
```bash
|
|
342
|
-
# Has generic agentboot installed
|
|
343
|
-
/agentboot:connect
|
|
344
|
-
|
|
345
|
-
# Interactive:
|
|
346
|
-
# > What organization are you with?
|
|
347
|
-
# > acme-corp
|
|
348
|
-
# > Found: acme-corp/acme-personas marketplace
|
|
349
|
-
# > Installing acme plugin...
|
|
350
|
-
# > Connected! You now have 12 personas, 8 traits, 3 compliance hooks.
|
|
351
|
-
# > Run /acme:review-code to try a code review.
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
**How it works under the hood:**
|
|
355
|
-
1. Skill asks for org name (or reads from git remote, or env var)
|
|
356
|
-
2. Looks up org's marketplace (registry of known org marketplaces, or convention-based URL)
|
|
357
|
-
3. Adds marketplace and installs org plugin
|
|
358
|
-
4. Optionally configures local settings
|
|
359
|
-
|
|
360
|
-
**Pros:**
|
|
361
|
-
- Self-service (no IT ticket, no Slack message)
|
|
362
|
-
- Discoverable (the skill guides you)
|
|
363
|
-
- Works for contractors/new hires who aren't in MDM yet
|
|
364
|
-
- Could auto-detect org from git remote (`git@github.com:acme-corp/...` → `acme-corp`)
|
|
365
|
-
|
|
366
|
-
**Cons:**
|
|
367
|
-
- Requires the generic agentboot plugin first (chicken-and-egg)
|
|
368
|
-
- Auto-detection from git remote is fragile
|
|
369
|
-
- Discovery registry adds complexity
|
|
370
|
-
|
|
371
|
-
**Verdict:** Nice **onboarding UX** but not the primary connection method. Good as a
|
|
372
|
-
fallback for developers who aren't covered by MDM or repo sync.
|
|
373
|
-
|
|
374
|
-
---
|
|
375
|
-
|
|
376
|
-
## Recommended: Three-Path Strategy
|
|
377
|
-
|
|
378
|
-
Different paths for different situations. All three can coexist.
|
|
379
|
-
|
|
380
|
-
```
|
|
381
|
-
New developer joins Acme Corp
|
|
382
|
-
│
|
|
383
|
-
├── Path 1: IT already pushed managed settings (MDM)
|
|
384
|
-
│ └── Plugin auto-installed, hooks active. Done.
|
|
385
|
-
│
|
|
386
|
-
├── Path 2: Developer clones an Acme repo
|
|
387
|
-
│ └── .claude/ already has personas from sync. Done.
|
|
388
|
-
│
|
|
389
|
-
└── Path 3: Developer working on new/unsynced repo
|
|
390
|
-
└── /acme:connect or manual plugin install
|
|
391
|
-
```
|
|
392
|
-
|
|
393
|
-
### Path 1: Managed Settings (Compliance + Plugin Auto-Install)
|
|
394
|
-
|
|
395
|
-
**Who:** Every developer on a managed machine.
|
|
396
|
-
**What gets pushed:** Force-enabled org plugin + HARD guardrail hooks.
|
|
397
|
-
**Result:** Developer opens Claude Code → plugin is there → compliance hooks active.
|
|
398
|
-
|
|
399
|
-
### Path 2: Repo Sync (Repo-Specific Personas)
|
|
400
|
-
|
|
401
|
-
**Who:** Every developer who clones an org repo.
|
|
402
|
-
**What's in the repo:** `.claude/` with compiled agents, skills, rules, traits.
|
|
403
|
-
**Result:** Developer clones → `claude` → personas work immediately.
|
|
404
|
-
|
|
405
|
-
### Path 3: Self-Service (Catch-All)
|
|
406
|
-
|
|
407
|
-
**Who:** Contractors, new hires before MDM, developers on new repos.
|
|
408
|
-
**What they do:** `/agentboot:connect acme-corp` or manual marketplace add.
|
|
409
|
-
**Result:** Plugin installed, ready to go.
|
|
410
|
-
|
|
411
|
-
### How They Layer
|
|
412
|
-
|
|
413
|
-
```
|
|
414
|
-
Managed Settings (HARD guardrails, forced plugin)
|
|
415
|
-
└── Org Plugin (personas, traits, org-wide hooks, MCP servers)
|
|
416
|
-
└── Repo .claude/ (repo-specific rules, path-scoped gotchas)
|
|
417
|
-
└── User preferences (~/.claude/CLAUDE.md, personal rules)
|
|
418
|
-
```
|
|
419
|
-
|
|
420
|
-
All four layers compose. A developer on a managed machine, working in a synced repo,
|
|
421
|
-
with the org plugin installed, gets the union of all layers. Nothing conflicts because
|
|
422
|
-
the scope hierarchy handles precedence.
|
|
423
|
-
|
|
424
|
-
---
|
|
425
|
-
|
|
426
|
-
## Non-Claude Code Org Connection
|
|
427
|
-
|
|
428
|
-
The five connection models above are CC-centric. For orgs using Copilot, Cursor, or
|
|
429
|
-
mixed toolchains, the connection is simpler — but also less capable.
|
|
430
|
-
|
|
431
|
-
### Copilot Orgs
|
|
432
|
-
|
|
433
|
-
**How developers get org customizations:**
|
|
434
|
-
|
|
435
|
-
The **only** delivery path is repo sync. There is no plugin marketplace, no managed
|
|
436
|
-
settings, no force-enable. The platform team runs `agentboot sync` and the
|
|
437
|
-
generated files land in the repo:
|
|
438
|
-
|
|
439
|
-
```
|
|
440
|
-
.github/
|
|
441
|
-
├── copilot-instructions.md # Always-on instructions (org + team layers)
|
|
442
|
-
├── prompts/
|
|
443
|
-
│ ├── review-code.prompt.md # /review-code slash command
|
|
444
|
-
│ ├── review-security.prompt.md
|
|
445
|
-
│ └── gen-tests.prompt.md
|
|
446
|
-
└── instructions/
|
|
447
|
-
├── database.instructions.md # Path-scoped (glob frontmatter)
|
|
448
|
-
└── lambda.instructions.md
|
|
449
|
-
skills/
|
|
450
|
-
├── code-reviewer/SKILL.md # Agent Skills (CLI agent mode)
|
|
451
|
-
└── security-reviewer/SKILL.md
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
Developers clone the repo → open VS Code → Copilot reads the instructions and prompts
|
|
455
|
-
automatically. No install step.
|
|
456
|
-
|
|
457
|
-
**Org-level custom instructions:** Copilot Enterprise supports org-wide custom
|
|
458
|
-
instructions configured in GitHub org settings. AgentBoot's org-scope always-on
|
|
459
|
-
instructions map here, but must be copy-pasted into the GitHub admin UI (no API
|
|
460
|
-
sync for this yet).
|
|
461
|
-
|
|
462
|
-
**What's missing vs. CC:**
|
|
463
|
-
- No plugin system → no private marketplace, no force-enable, no version management
|
|
464
|
-
- No hooks → compliance is advisory only (instruction-based refusal)
|
|
465
|
-
- No managed settings → no HARD guardrails
|
|
466
|
-
- No self-service connect → developer gets what's in the repo, period
|
|
467
|
-
|
|
468
|
-
### Cursor Orgs
|
|
469
|
-
|
|
470
|
-
**How developers get org customizations:**
|
|
471
|
-
|
|
472
|
-
Also repo sync only:
|
|
473
|
-
|
|
474
|
-
```
|
|
475
|
-
.cursor/
|
|
476
|
-
└── rules/
|
|
477
|
-
├── org-standards.md # Always-on
|
|
478
|
-
├── gotchas-database.md # Path-scoped (with globs)
|
|
479
|
-
└── gotchas-lambda.md
|
|
480
|
-
.cursorrules # Legacy single-file (flattened org instructions)
|
|
481
|
-
skills/
|
|
482
|
-
├── code-reviewer/SKILL.md
|
|
483
|
-
└── security-reviewer/SKILL.md
|
|
484
|
-
```
|
|
485
|
-
|
|
486
|
-
**What's missing vs. CC:**
|
|
487
|
-
- No plugin system, no hooks, no managed settings, no org-level config
|
|
488
|
-
- Basically instruction files in the repo — that's the entire governance surface
|
|
489
|
-
|
|
490
|
-
### Mixed-Toolchain Orgs
|
|
491
|
-
|
|
492
|
-
When an org has CC, Copilot, AND Cursor users:
|
|
493
|
-
|
|
494
|
-
```
|
|
495
|
-
agentboot sync
|
|
496
|
-
│
|
|
497
|
-
├── CC repos: .claude/ (full native — agents, skills, rules, hooks, MCP)
|
|
498
|
-
├── Copilot repos: .github/ (instructions, prompts, skills)
|
|
499
|
-
├── Cursor repos: .cursor/ (rules, skills)
|
|
500
|
-
└── All repos: skills/ (agentskills.io — cross-platform)
|
|
501
|
-
```
|
|
502
|
-
|
|
503
|
-
The repo's `platform` field in `repos.json` determines which format it receives.
|
|
504
|
-
The MCP server is the equalizer — it works in all three platforms and provides the
|
|
505
|
-
same persona invocation regardless of which tool the developer uses.
|
|
506
|
-
|
|
507
|
-
**The governance gap:** CC repos get hooks, managed settings, and plugin force-enable.
|
|
508
|
-
Copilot and Cursor repos get instructions and prompt files — advisory only. There is
|
|
509
|
-
no way to enforce HARD guardrails on non-CC platforms today. AgentBoot should be
|
|
510
|
-
transparent about this gap rather than overpromising. The compliance story for non-CC
|
|
511
|
-
is: instruction-based refusal + CI-based review (PR bots) + organizational policy.
|
|
512
|
-
|
|
513
|
-
---
|
|
514
|
-
|
|
515
|
-
## What AgentBoot Needs to Build
|
|
516
|
-
|
|
517
|
-
| Component | Purpose | Phase |
|
|
518
|
-
|-----------|---------|-------|
|
|
519
|
-
| `agentboot export --format plugin` | Generate CC plugin from personas repo | V1 |
|
|
520
|
-
| `agentboot publish` | Push plugin to private marketplace | V1 |
|
|
521
|
-
| Private marketplace template | Scaffold a marketplace.json repo for the org | V1 |
|
|
522
|
-
| `/agentboot:connect` skill | Self-service org connection | V1.5 |
|
|
523
|
-
| Managed settings generator | Generate managed-settings.json for IT deployment | V1.5 |
|
|
524
|
-
| `agentboot upgrade` | Pull latest core into org's personas repo | V1 |
|
|
525
|
-
| Org detection (git remote) | Auto-detect org from repo context | V2 |
|
|
526
|
-
| Plugin update notification | Notify developers when org plugin updates | V2 |
|
|
527
|
-
|
|
528
|
-
---
|
|
529
|
-
|
|
530
|
-
## The Full Picture
|
|
531
|
-
|
|
532
|
-
```
|
|
533
|
-
Org Platform Team Individual Developer
|
|
534
|
-
───────────────── ────────────────────
|
|
535
|
-
|
|
536
|
-
agentboot.config.json ──┐
|
|
537
|
-
custom personas ────────┤
|
|
538
|
-
domain layers ──────────┤
|
|
539
|
-
gotchas rules ──────────┤
|
|
540
|
-
compliance hooks ───────┘
|
|
541
|
-
│
|
|
542
|
-
agentboot build
|
|
543
|
-
│
|
|
544
|
-
agentboot export
|
|
545
|
-
│
|
|
546
|
-
┌────┴────────────────┐
|
|
547
|
-
│ │
|
|
548
|
-
▼ ▼
|
|
549
|
-
Plugin .claude/
|
|
550
|
-
(marketplace) (sync to repos)
|
|
551
|
-
│ │
|
|
552
|
-
│ ┌────────────┐ │
|
|
553
|
-
└───►│ Developer │◄──┘
|
|
554
|
-
│ │
|
|
555
|
-
│ Also gets: │
|
|
556
|
-
│ - managed │◄── IT pushes via MDM
|
|
557
|
-
│ settings │
|
|
558
|
-
│ - personal │◄── ~/.claude/CLAUDE.md
|
|
559
|
-
│ prefs │
|
|
560
|
-
└────────────┘
|
|
561
|
-
```
|
|
562
|
-
|
|
563
|
-
The developer never runs `agentboot`. They either:
|
|
564
|
-
1. Get the plugin automatically (managed settings)
|
|
565
|
-
2. Get .claude/ by cloning a repo (sync)
|
|
566
|
-
3. Install the plugin manually (self-service)
|
|
567
|
-
4. Some combination of all three
|
|
568
|
-
|
|
569
|
-
AgentBoot is invisible to the end developer. They see personas, skills, and hooks —
|
|
570
|
-
not a framework.
|