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.
Files changed (66) hide show
  1. package/README.md +8 -7
  2. package/agentboot.config.json +4 -1
  3. package/package.json +2 -2
  4. package/scripts/cli.ts +42 -14
  5. package/scripts/compile.ts +30 -7
  6. package/scripts/dev-sync.ts +1 -1
  7. package/scripts/lib/config.ts +17 -1
  8. package/scripts/validate.ts +12 -7
  9. package/.github/ISSUE_TEMPLATE/persona-request.md +0 -62
  10. package/.github/ISSUE_TEMPLATE/quality-feedback.md +0 -67
  11. package/.github/workflows/cla.yml +0 -25
  12. package/.github/workflows/validate.yml +0 -49
  13. package/.idea/agentboot.iml +0 -9
  14. package/.idea/misc.xml +0 -6
  15. package/.idea/modules.xml +0 -8
  16. package/.idea/vcs.xml +0 -6
  17. package/CLAUDE.md +0 -230
  18. package/CONTRIBUTING.md +0 -168
  19. package/PERSONAS.md +0 -156
  20. package/core/instructions/baseline.instructions.md +0 -133
  21. package/core/instructions/security.instructions.md +0 -186
  22. package/core/personas/code-reviewer/SKILL.md +0 -175
  23. package/core/personas/security-reviewer/SKILL.md +0 -233
  24. package/core/personas/test-data-expert/SKILL.md +0 -234
  25. package/core/personas/test-generator/SKILL.md +0 -262
  26. package/core/traits/audit-trail.md +0 -182
  27. package/core/traits/confidence-signaling.md +0 -172
  28. package/core/traits/critical-thinking.md +0 -129
  29. package/core/traits/schema-awareness.md +0 -132
  30. package/core/traits/source-citation.md +0 -174
  31. package/core/traits/structured-output.md +0 -199
  32. package/docs/ci-cd-automation.md +0 -548
  33. package/docs/claude-code-reference/README.md +0 -21
  34. package/docs/claude-code-reference/agentboot-coverage.md +0 -484
  35. package/docs/claude-code-reference/feature-inventory.md +0 -906
  36. package/docs/cli-commands-audit.md +0 -112
  37. package/docs/cli-design.md +0 -924
  38. package/docs/concepts.md +0 -1117
  39. package/docs/config-schema-audit.md +0 -121
  40. package/docs/configuration.md +0 -645
  41. package/docs/delivery-methods.md +0 -758
  42. package/docs/developer-onboarding.md +0 -342
  43. package/docs/extending.md +0 -448
  44. package/docs/getting-started.md +0 -298
  45. package/docs/knowledge-layer.md +0 -464
  46. package/docs/marketplace.md +0 -822
  47. package/docs/org-connection.md +0 -570
  48. package/docs/plans/architecture.md +0 -2429
  49. package/docs/plans/design.md +0 -2018
  50. package/docs/plans/prd.md +0 -1862
  51. package/docs/plans/stack-rank.md +0 -261
  52. package/docs/plans/technical-spec.md +0 -2755
  53. package/docs/privacy-and-safety.md +0 -807
  54. package/docs/prompt-optimization.md +0 -1071
  55. package/docs/test-plan.md +0 -972
  56. package/docs/third-party-ecosystem.md +0 -496
  57. package/domains/compliance-template/README.md +0 -173
  58. package/domains/compliance-template/traits/compliance-aware.md +0 -228
  59. package/examples/enterprise/agentboot.config.json +0 -184
  60. package/examples/minimal/agentboot.config.json +0 -46
  61. package/tests/REGRESSION-PLAN.md +0 -705
  62. package/tests/TEST-PLAN.md +0 -111
  63. package/tests/cli.test.ts +0 -705
  64. package/tests/pipeline.test.ts +0 -608
  65. package/tests/validate.test.ts +0 -278
  66. package/tsconfig.json +0 -62
@@ -1,924 +0,0 @@
1
- # AgentBoot CLI Design
2
-
3
- A standalone CLI tool distributed via native package managers. The primary entry point
4
- for anyone touching AgentBoot — from a developer running `agentboot setup` on their
5
- first day to a platform team running `agentboot build` in CI.
6
-
7
- ---
8
-
9
- ## Distribution
10
-
11
- ### Package Managers (Primary)
12
-
13
- ```bash
14
- # macOS
15
- brew install agentboot
16
-
17
- # Linux (Debian/Ubuntu)
18
- sudo apt install agentboot
19
-
20
- # Linux (RHEL/Fedora)
21
- sudo dnf install agentboot
22
-
23
- # Windows
24
- choco install agentboot
25
- # or
26
- winget install agentboot
27
-
28
- # Fallback (requires Node.js)
29
- npx agentboot
30
- ```
31
-
32
- ### Why Not npm-Only
33
-
34
- | npm/npx | Native package manager |
35
- |---------|----------------------|
36
- | Requires Node.js 18+ | No runtime dependency |
37
- | `npx` cold start is slow | Binary starts instantly |
38
- | npm is foreign to non-Node devs | brew/apt/choco is universal |
39
- | Version management via npm | Version management via brew/apt |
40
- | Works in CI with Node.js | Works in any CI |
41
-
42
- The CLI should be a compiled binary (Go or Rust) with **zero runtime dependencies**.
43
- npx remains as a fallback for environments where package managers aren't available
44
- or for CI pipelines that already have Node.js.
45
-
46
- ### Implementation Options
47
-
48
- | Language | Pros | Cons |
49
- |----------|------|------|
50
- | **Go** | Single binary, fast compile, good CLI libs (cobra, bubbletea), cross-compile trivial | Not the project's current language (TypeScript) |
51
- | **Rust** | Single binary, fastest, excellent CLI libs (clap, ratatui) | Steeper learning curve, slower compile |
52
- | **TypeScript + pkg/bun** | Same language as build scripts, reuse existing code | Bundled binary is large (~50MB), slower startup |
53
- | **TypeScript + native installer** | Same language, npm publish + brew tap + apt repo | Multiple distribution channels to maintain |
54
-
55
- **Recommendation:** Start with TypeScript (reuse existing compile/validate/sync code)
56
- distributed via npm + brew tap. Migrate to Go if binary size or startup time becomes
57
- a problem. The CLI commands are I/O-bound (file reads, git operations, API calls),
58
- not CPU-bound, so language performance doesn't matter much.
59
-
60
- ### Brew Tap
61
-
62
- ```bash
63
- # Users install with:
64
- brew tap agentboot/tap
65
- brew install agentboot
66
-
67
- # Or single command:
68
- brew install agentboot/tap/agentboot
69
- ```
70
-
71
- The tap is a GitHub repo (`agentboot/homebrew-tap`) with a formula that downloads
72
- the pre-built binary from GitHub Releases.
73
-
74
- ---
75
-
76
- ## Commands
77
-
78
- ### `agentboot setup` — Interactive Onboarding Wizard
79
-
80
- The main entry point. Asks questions, determines the right delivery method, and
81
- executes the setup.
82
-
83
- ```
84
- $ agentboot setup
85
-
86
- Welcome to AgentBoot — AI persona governance for engineering teams.
87
-
88
- I'll ask a few questions to set up the right configuration for your situation.
89
-
90
- ─────────────────────────────────────────────────
91
-
92
- What's your role?
93
- ❯ Developer (I write code and want AI personas in my workflow)
94
- Platform / DevEx team (I manage tooling for other developers)
95
- IT / Security (I manage compliance and device policies)
96
- Just exploring (I want to try AgentBoot on a personal project)
97
-
98
- ```
99
-
100
- #### Question Flow
101
-
102
- ```
103
- Q1: What's your role?
104
- ├── Developer → Q2
105
- ├── Platform team → Q5
106
- ├── IT / Security → Q8
107
- └── Exploring → Quick Start (solo setup, skip org questions)
108
-
109
- Q2: What AI coding tool do you use?
110
- ├── Claude Code → Q3
111
- ├── GitHub Copilot → Q3
112
- ├── Cursor → Q3
113
- ├── Multiple / mixed → Q3
114
- └── None yet → recommend Claude Code, then Q3
115
-
116
- Q3: Does your organization already have an AgentBoot setup?
117
- ├── Yes → Q4
118
- ├── No → "You'll need a platform team to set this up. Want to do a solo trial instead?"
119
- ├── I don't know → detect from git remote, check for .claude/, check for known marketplaces
120
- └── I'm solo / no org → Quick Start
121
-
122
- Q4: How do you connect to your org's setup?
123
- [Auto-detect: check managed settings, check .claude/ in current repo,
124
- check git remote against known marketplace patterns]
125
- ├── Found managed plugin → "You're already connected! Plugin {name} is active."
126
- ├── Found .claude/ in repo → "Your repo already has personas. Try /review-code."
127
- ├── Found org marketplace → "/plugin marketplace add {org}/{repo} — install now? [Y/n]"
128
- └── Nothing found → "Ask your platform team for the marketplace URL, or paste it here: ___"
129
-
130
- Q5: How many developers will use this?
131
- ├── Just me → Quick Start with org persona repo scaffold
132
- ├── Small team (2-20) → Standard Setup
133
- ├── Department (20-100) → Standard Setup + marketplace recommendation
134
- └── Enterprise (100+) → Enterprise Setup (MDM, managed settings, compliance)
135
-
136
- Q6: What AI tools does your team use?
137
- ├── Claude Code only → CC-native setup
138
- ├── Copilot only → Copilot setup
139
- ├── Cursor only → Cursor setup
140
- ├── Mixed → Multi-platform setup
141
- └── Deciding → recommend starting with CC, generate cross-platform output
142
-
143
- Q6.5: (Platform/IT roles) Want me to scan for existing agentic content?
144
- ├── Yes → Run agentboot discover (see below)
145
- ├── Skip → Q7
146
- └── I'll do it later → "Run 'agentboot discover' anytime"
147
-
148
- Q7: Do you have compliance requirements?
149
- ├── HIPAA → add healthcare domain layer
150
- ├── SOC 2 → add compliance hooks
151
- ├── PCI DSS → add financial domain layer
152
- ├── GDPR → add privacy hooks
153
- ├── Multiple → add all applicable
154
- ├── Not sure → skip, can add later
155
- └── None → skip
156
-
157
- Q8: (IT role) What device management do you use?
158
- ├── Jamf → generate macOS managed settings
159
- ├── Intune → generate Windows managed settings
160
- ├── JumpCloud → generate cross-platform managed settings
161
- ├── Kandji → generate macOS managed settings
162
- ├── Other MDM → generate generic managed settings
163
- ├── No MDM → recommend server-managed settings
164
- └── None → standard repo-based setup
165
-
166
- → Execute appropriate setup based on answers
167
- ```
168
-
169
- #### Setup Outcomes
170
-
171
- **Quick Start (solo developer):**
172
- ```
173
- $ agentboot setup
174
- ...answers questions...
175
-
176
- Setting up AgentBoot for solo use in the current directory.
177
-
178
- ✓ Created .claude/agents/code-reviewer/CLAUDE.md
179
- ✓ Created .claude/agents/security-reviewer/CLAUDE.md
180
- ✓ Created .claude/skills/review-code/SKILL.md
181
- ✓ Created .claude/skills/review-security/SKILL.md
182
- ✓ Created .claude/skills/gen-tests/SKILL.md
183
- ✓ Created .claude/traits/critical-thinking.md
184
- ✓ Created .claude/traits/structured-output.md
185
- ✓ Created .claude/traits/source-citation.md
186
- ✓ Created .claude/CLAUDE.md (with @imports)
187
-
188
- Done! Open Claude Code and try:
189
- /review-code Review your recent changes
190
- /review-security Security-focused review
191
- /gen-tests Generate tests for a file
192
- ```
193
-
194
- **Standard Setup (platform team, CC-focused):**
195
-
196
- The wizard detects the GitHub org from the git remote and suggests a repo name:
197
- - Default: `personas` (e.g., `github.com/acme/personas`)
198
- - Fallback: `agent-personas` (if `personas` is taken)
199
- - Avoids redundant prefixes (`acme-personas` in `github.com/acme/` is redundant)
200
-
201
- ```
202
- $ agentboot setup
203
- Detected GitHub org: acme
204
-
205
- Repo name for your personas hub? [personas]
206
- > personas
207
-
208
- Setting up AgentBoot org personas repo (acme/personas).
209
-
210
- ✓ Created agentboot.config.json (org: "acme")
211
- ✓ Created repos.json (empty — add your repos)
212
- ✓ Created core personas (4)
213
- ✓ Created core traits (6)
214
- ✓ Created baseline instructions
215
-
216
- Next steps:
217
- 1. Edit agentboot.config.json with your team structure
218
- 2. Add repos to repos.json
219
- 3. Run: agentboot build
220
- 4. Run: agentboot sync
221
- 5. Optional: agentboot export --format plugin (for marketplace distribution)
222
- ```
223
-
224
- **Enterprise Setup (IT, MDM):**
225
- ```
226
- Setting up AgentBoot enterprise deployment.
227
-
228
- ✓ Created agentboot.config.json (enterprise template)
229
- ✓ Created domains/compliance/ (HIPAA hooks and rules)
230
- ✓ Generated dist/managed/managed-settings.json (for Jamf deployment)
231
- ✓ Generated dist/managed/managed-mcp.json
232
- ✓ Generated dist/managed/CLAUDE.md
233
- ✓ Created marketplace template (personas/)
234
-
235
- Deploy managed settings:
236
- Upload dist/managed/ to Jamf → Configuration Profiles → Claude Code
237
-
238
- Publish marketplace:
239
- cd acme-personas && git init && git remote add origin ...
240
- agentboot publish
241
-
242
- Rollout guide: docs/rollout-playbook.md
243
- ```
244
-
245
- ---
246
-
247
- ### `agentboot build` — Compile Personas
248
-
249
- ```bash
250
- agentboot build # Build all output formats
251
- agentboot build --format claude-code # CC-native only
252
- agentboot build --format copilot # Copilot only
253
- agentboot build --format cross-platform
254
- agentboot build --format plugin # CC plugin
255
- agentboot build --format all
256
- agentboot build --validate-only # Dry run — check for errors without writing
257
- ```
258
-
259
- ### `agentboot sync` — Distribute to Repos
260
-
261
- ```bash
262
- agentboot sync # Sync to all repos in repos.json
263
- agentboot sync --repo my-org/my-repo # Sync to one repo
264
- agentboot sync --dry-run # Show what would change
265
- agentboot sync --mode local # Write to local filesystem paths
266
- agentboot sync --mode github-api # Create PRs via GitHub API
267
- agentboot sync --mode gitlab-api # Create MRs via GitLab API
268
- ```
269
-
270
- ### `agentboot export` — Generate Distributable Artifacts
271
-
272
- ```bash
273
- agentboot export --format plugin # CC plugin directory
274
- agentboot export --format marketplace # Marketplace repo scaffold
275
- agentboot export --format managed # Managed settings for MDM
276
- agentboot export --format github-action # Reusable workflow
277
- agentboot export --format mcp-server # MCP server package
278
- ```
279
-
280
- ### `agentboot publish` — Push to Marketplace
281
-
282
- ```bash
283
- agentboot publish # Push to configured marketplace
284
- agentboot publish --marketplace ./path # Specify marketplace
285
- agentboot publish --bump patch # Bump version before publishing
286
- agentboot publish --bump minor
287
- ```
288
-
289
- ### `agentboot doctor` — Diagnose Issues
290
-
291
- ```bash
292
- $ agentboot doctor
293
-
294
- AgentBoot Doctor
295
- ────────────────
296
-
297
- Environment:
298
- ✓ Claude Code installed (v1.0.45)
299
- ✓ Node.js 22.1.0
300
- ✓ git 2.44.0
301
- ✓ gh CLI 2.65.0
302
-
303
- Configuration:
304
- ✓ agentboot.config.json found and valid
305
- ✓ repos.json found (3 repos registered)
306
- ✗ persona.config.json missing for: code-reviewer, security-reviewer
307
- → Run: agentboot build --fix to generate missing configs
308
-
309
- Personas:
310
- ✓ code-reviewer: valid SKILL.md, 3 traits composed
311
- ✓ security-reviewer: valid SKILL.md, 4 traits composed
312
- ✗ test-generator: references trait 'minimal-diff' which is planned but not yet authored
313
- → Create core/traits/minimal-diff.md or remove from persona config
314
-
315
- Sync Status:
316
- ✓ my-org/api-service: synced (v1.2.0, 3 days ago)
317
- ✓ my-org/web-app: synced (v1.2.0, 3 days ago)
318
- ✗ my-org/mobile-app: never synced
319
- → Run: agentboot sync --repo my-org/mobile-app
320
-
321
- Plugin:
322
- ✗ No plugin generated yet
323
- → Run: agentboot export --format plugin
324
-
325
- Managed Settings:
326
- ✗ Not generated
327
- → Run: agentboot export --format managed (if using MDM)
328
- ```
329
-
330
- ### `agentboot status` — What's Deployed Where
331
-
332
- ```bash
333
- $ agentboot status
334
-
335
- Org: acme-corp (v1.2.0)
336
- ─────────────────────────
337
-
338
- Personas: 6 enabled
339
- code-reviewer security-reviewer test-generator
340
- test-data-expert architecture-reviewer cost-reviewer
341
-
342
- Traits: 8 enabled
343
- critical-thinking structured-output source-citation
344
- confidence-signaling audit-trail schema-awareness
345
- creative-suggestion cost-awareness
346
-
347
- Repos: 12 registered
348
- Platform (CC): api-service, auth-service, gateway [synced v1.2.0]
349
- Product (CC): web-app, mobile-api [synced v1.2.0]
350
- Data (Copilot): ml-pipeline, data-lake [synced v1.2.0]
351
- Frontend (Cursor): design-system, marketing-site [synced v1.1.0 ⚠️ outdated]
352
-
353
- Plugin: acme@acme-personas (v1.2.0)
354
- Marketplace: github.com/acme-corp/acme-personas
355
- Last published: 2 days ago
356
-
357
- Managed Settings: generated (v1.2.0)
358
- Deploy target: Jamf (macOS)
359
- Last deployed: manual (check MDM console)
360
- ```
361
-
362
- ### `agentboot discover` — Scan for Existing Agentic Infrastructure
363
-
364
- Scans the org's repos, machines, and configuration for existing AI agent content —
365
- CLAUDE.md files, Copilot instructions, Cursor rules, MCP servers, hooks, skills,
366
- agents, and anything else that represents agentic maturity the org already has.
367
-
368
- This is the "bring me everything you have" command, except the org doesn't have to
369
- remember what they have. AgentBoot finds it.
370
-
371
- ```bash
372
- # Scan current repo
373
- agentboot discover
374
-
375
- # Scan a directory of repos (e.g., ~/work/ with 30 repos)
376
- agentboot discover --path ~/work/
377
-
378
- # Scan specific repos
379
- agentboot discover --repos org/api-service org/web-app org/mobile-api
380
-
381
- # Scan via GitHub API (all repos in an org)
382
- agentboot discover --github-org acme-corp
383
-
384
- # Scan this machine's user-level config
385
- agentboot discover --local
386
-
387
- # Full scan: repos + local + managed settings
388
- agentboot discover --all
389
-
390
- # Output as JSON for processing
391
- agentboot discover --format json > discovery-report.json
392
- ```
393
-
394
- **What it scans for:**
395
-
396
- ```
397
- $ agentboot discover --path ~/work/ --local
398
-
399
- AgentBoot Discovery Scan
400
- ────────────────────────
401
-
402
- Scanning 28 repos in ~/work/...
403
- Scanning local config ~/.claude/...
404
- Scanning managed settings...
405
-
406
- ═══════════════════════════════════════════════════
407
-
408
- CLAUDE CODE INFRASTRUCTURE
409
- ──────────────────────────
410
-
411
- CLAUDE.md files found: 23 (across 18 repos)
412
- ├── Root-level CLAUDE.md: 18 repos
413
- ├── .claude/CLAUDE.md: 5 repos
414
- ├── Subdirectory CLAUDE.md: 12 files (in 6 repos)
415
- │ └── src/api/CLAUDE.md, src/auth/CLAUDE.md, etc.
416
- ├── Total lines (all files): 4,200
417
- ├── Average per repo: 233 lines ⚠️ (recommended: <200)
418
- └── Longest: web-app/CLAUDE.md 812 lines ⚠️
419
-
420
- Custom agents: 7 (across 4 repos)
421
- ├── api-service/.claude/agents/db-reviewer.md
422
- ├── api-service/.claude/agents/api-linter.md
423
- ├── web-app/.claude/agents/react-reviewer.md
424
- ├── web-app/.claude/agents/a11y-checker.md
425
- ├── auth-service/.claude/agents/security-scan.md
426
- ├── ml-pipeline/.claude/agents/data-validator.md
427
- └── ml-pipeline/.claude/agents/notebook-reviewer.md
428
-
429
- Skills: 4 (across 3 repos)
430
- ├── api-service/.claude/skills/gen-api-tests/SKILL.md
431
- ├── web-app/.claude/skills/gen-component/SKILL.md
432
- ├── web-app/.claude/skills/review-css/SKILL.md
433
- └── shared-lib/.claude/skills/check-types/SKILL.md
434
-
435
- Rules: 9 (across 5 repos)
436
- ├── Always-on (no paths): 4
437
- └── Path-scoped: 5
438
-
439
- Hooks: 2 repos have hooks in settings.json
440
- ├── api-service: PreToolUse (1 hook), PostToolUse (1 hook)
441
- └── auth-service: UserPromptSubmit (1 hook — PHI scan)
442
-
443
- MCP servers: 3 repos have .mcp.json
444
- ├── api-service: postgres-mcp, redis-mcp
445
- ├── ml-pipeline: jupyter-mcp
446
- └── web-app: figma-mcp
447
-
448
- COPILOT INFRASTRUCTURE
449
- ──────────────────────
450
-
451
- copilot-instructions.md: 8 repos
452
- ├── .github/copilot-instructions.md: 8 files
453
- ├── Total lines: 1,400
454
- └── Average: 175 lines
455
-
456
- Prompt files (.github/prompts/): 3 repos
457
- ├── web-app: review-component.prompt.md, gen-story.prompt.md
458
- ├── api-service: review-api.prompt.md
459
- └── mobile-api: gen-tests.prompt.md
460
-
461
- CURSOR INFRASTRUCTURE
462
- ─────────────────────
463
-
464
- .cursorrules: 6 repos
465
- .cursor/rules/: 2 repos (4 rule files total)
466
-
467
- LOCAL MACHINE
468
- ─────────────
469
-
470
- ~/.claude/CLAUDE.md: exists (48 lines)
471
- ~/.claude/agents/: 2 personal agents
472
- ~/.claude/skills/: 1 personal skill
473
- ~/.claude/rules/: 3 personal rules
474
-
475
- Managed settings: /Library/Application Support/ClaudeCode/
476
- ├── managed-settings.json: NOT FOUND
477
- └── managed-mcp.json: NOT FOUND
478
-
479
- SUMMARY
480
- ───────
481
-
482
- Total agentic content found: 74 files across 22 repos
483
- ├── Claude Code: 45 files (18 repos)
484
- ├── Copilot: 19 files (8 repos)
485
- ├── Cursor: 10 files (8 repos)
486
-
487
- Platforms in use: Claude Code (primary), Copilot (secondary), Cursor (some)
488
- Maturity level: INTERMEDIATE
489
- (Custom agents exist but no governance structure,
490
- no shared traits, no centralized distribution)
491
-
492
- ═══════════════════════════════════════════════════
493
-
494
- What would you like to do?
495
-
496
- [1] Generate detailed report (Markdown)
497
- [2] Classify and ingest all content (agentboot add prompt --batch for each file)
498
- [3] Show overlap analysis (duplicate/similar content across repos)
499
- [4] Show migration plan (what becomes traits, gotchas, personas, always-on)
500
- [5] Export as agentboot.config.json (scaffold org structure from discovered repos)
501
- ```
502
-
503
- **Non-destructive guarantee:**
504
-
505
- Discovery and migration never modify, move, or delete existing files. Every action
506
- creates NEW files in the AgentBoot personas repo. The org's existing `.claude/`,
507
- `.cursorrules`, `copilot-instructions.md`, and custom agents stay exactly where
508
- they are, untouched, working as they were before.
509
-
510
- The migration plan produces a parallel structure. The org reviews it, tests it, and
511
- only when ready, runs `agentboot sync` to deploy the governed versions alongside
512
- (or replacing) the originals — via PR, with review, at their pace.
513
-
514
- If something goes wrong, the originals are still there. `git revert` the sync PR
515
- and you're back to where you started. Zero risk.
516
-
517
- ```
518
- Before agentboot discover:
519
- 22 repos with scattered .claude/ files ← UNTOUCHED
520
-
521
- After agentboot discover + migrate:
522
- 22 repos with scattered .claude/ files ← STILL UNTOUCHED
523
- + 1 new org personas repo with consolidated, governed content
524
- + agentboot sync creates PRs to replace scattered files (when YOU'RE ready)
525
- ```
526
-
527
- **What each action does:**
528
-
529
- **[1] Detailed report** — Full inventory as Markdown, shareable with the platform
530
- team. Lists every file, its content summary, and suggested classification. Good for
531
- "let me review this before we do anything."
532
-
533
- **[2] Classify and ingest** — Runs `agentboot add prompt --batch` on each discovered
534
- file. Classifies every instruction as trait, gotcha, persona rule, or always-on.
535
- Deduplicates across repos. Presents the full migration plan for approval.
536
-
537
- **[3] Overlap analysis** — Finds content that appears in multiple repos. "12 repos
538
- have some version of 'use TypeScript strict mode'" → that's an org-wide trait, not a
539
- per-repo instruction. "3 repos have Postgres gotchas with slightly different wording"
540
- → consolidate into one shared gotcha.
541
-
542
- ```
543
- Overlap Analysis
544
- ────────────────
545
-
546
- Near-duplicates found:
547
-
548
- 1. "TypeScript strict mode" instruction
549
- Found in: 12/18 repos (67%)
550
- Variations: 4 different wordings
551
- → Recommendation: Extract as org trait "typescript-standards"
552
-
553
- 2. "Never commit .env files" rule
554
- Found in: 15/18 repos (83%)
555
- Variations: 2 (identical in 13, slightly different in 2)
556
- → Recommendation: Extract as always-on instruction
557
-
558
- 3. Postgres RLS gotchas
559
- Found in: 3 repos
560
- Variations: 3 (each has unique gotchas + shared ones)
561
- → Recommendation: Merge into shared gotcha "postgres-rls"
562
- (union of all three, deduplicated)
563
-
564
- 4. React component review rules
565
- Found in: web-app, design-system
566
- Variations: 2 (web-app is a superset)
567
- → Recommendation: Extract as team-scoped trait "react-standards"
568
-
569
- 5. Custom agents: db-reviewer, api-linter
570
- Found in: api-service only
571
- → Recommendation: Promote to org personas if other teams would benefit
572
- ```
573
-
574
- **[4] Migration plan** — The actionable output. Shows exactly what becomes what:
575
-
576
- ```
577
- Migration Plan
578
- ──────────────
579
-
580
- Traits (extract from CLAUDE.md → core/traits/):
581
- typescript-standards.md ← from 12 repos' CLAUDE.md (deduplicated)
582
- react-patterns.md ← from web-app, design-system
583
- api-design-standards.md ← from api-service, gateway
584
-
585
- Gotchas (extract from CLAUDE.md → .claude/rules/ with paths:):
586
- postgres-rls.md ← merged from 3 repos
587
- lambda-coldstart.md ← from serverless-api
588
- redis-clustering.md ← from cache-service
589
-
590
- Personas (promote existing agents → core/personas/):
591
- code-reviewer ← based on web-app/react-reviewer + api-service/api-linter
592
- security-reviewer ← based on auth-service/security-scan
593
- data-validator ← from ml-pipeline (as-is)
594
-
595
- Always-on instructions (keep in CLAUDE.md, deduplicated):
596
- "Never commit .env files"
597
- "Use conventional commits"
598
- "PRs require at least one approval"
599
- ... (8 more)
600
-
601
- Per-repo instructions (stay in repo, not centralized):
602
- api-service: API-specific endpoint conventions
603
- ml-pipeline: Notebook formatting rules
604
- web-app: Component file structure
605
-
606
- Discard (too vague or outdated):
607
- "Write clean code" (5 repos) — too vague
608
- "Follow best practices" (3 repos) — not actionable
609
- "TODO: update this section" (2 repos) — stale
610
-
611
- ──────────────
612
-
613
- Estimated result:
614
- Before: 74 files, 5,600 lines, scattered across 22 repos, no governance
615
- After: 6 traits, 3 gotchas, 3 personas, 1 lean CLAUDE.md template
616
- Centralized in org personas repo, synced to all repos
617
- ~800 lines total (85% reduction)
618
-
619
- Apply this plan? [y/N]
620
- ```
621
-
622
- **[5] Export config** — Generates `agentboot.config.json` from the discovered
623
- repo structure:
624
-
625
- ```json
626
- {
627
- "org": "acme-corp",
628
- "groups": {
629
- "backend": {
630
- "teams": ["api", "auth", "data"]
631
- },
632
- "frontend": {
633
- "teams": ["web", "mobile", "design-system"]
634
- },
635
- "platform": {
636
- "teams": ["infra", "ml-pipeline"]
637
- }
638
- }
639
- }
640
- ```
641
-
642
- Inferred from git remote patterns, directory structure, and which repos share
643
- similar content.
644
-
645
- **Scan targets:**
646
-
647
- | Target | What it finds | How |
648
- |---|---|---|
649
- | Repo `.claude/` | CLAUDE.md, agents, skills, rules, hooks, settings, .mcp.json | File system scan |
650
- | Repo `.github/` | copilot-instructions.md, prompts/*.prompt.md, instructions/ | File system scan |
651
- | Repo `.cursor/` | .cursorrules, rules/ | File system scan |
652
- | Repo root | CLAUDE.md, GEMINI.md, .mcp.json | File system scan |
653
- | Repo subdirectories | Nested CLAUDE.md files (lazy-loaded context) | Recursive scan |
654
- | `~/.claude/` | User-level agents, skills, rules, CLAUDE.md, settings | File system scan |
655
- | Managed settings paths | managed-settings.json, managed-mcp.json | OS-specific paths |
656
- | GitHub API | All repos in org, their .claude/ contents | `gh api` |
657
- | Package.json | Scripts referencing claude, copilot, AI tools | Grep |
658
- | Git history | Recently added .claude/ files, CLAUDE.md changes | `git log` |
659
- | Installed CC plugins | `/plugin list` equivalent | CC config files |
660
-
661
- ### `agentboot upgrade` — Update Core
662
-
663
- ```bash
664
- agentboot upgrade # Pull latest AgentBoot core (traits, personas, build system)
665
- agentboot upgrade --check # Check for updates without applying
666
- agentboot upgrade --version 2.0 # Upgrade to specific version
667
- ```
668
-
669
- ### `agentboot connect` — Developer Self-Service (Non-Interactive)
670
-
671
- ```bash
672
- # For developers who know their org's marketplace
673
- agentboot connect acme-corp # Auto-detect marketplace
674
- agentboot connect --marketplace acme-corp/personas # Explicit marketplace
675
- agentboot connect --url https://gitlab.internal/plugins # GitLab/self-hosted
676
- ```
677
-
678
- This is the CLI equivalent of the `/agentboot:connect` skill. It:
679
- 1. Adds the marketplace to Claude Code
680
- 2. Installs the org plugin
681
- 3. Verifies the setup
682
-
683
- ### `agentboot add` — Add Components
684
-
685
- ```bash
686
- agentboot add persona my-reviewer # Scaffold a new persona
687
- agentboot add trait my-trait # Scaffold a new trait
688
- agentboot add domain healthcare # Add a domain layer template
689
- agentboot add gotcha database # Add a gotchas rule template
690
- agentboot add hook compliance # Add a compliance hook template
691
- agentboot add repo my-org/new-repo # Register a repo for sync
692
-
693
- # Ingest raw prompts (classify, format, save)
694
- agentboot add prompt "Always check null safety before DB calls"
695
- agentboot add prompt --file ~/Downloads/tips.md
696
- agentboot add prompt --clipboard
697
- agentboot add prompt --url https://blog.example.com/gotchas
698
- agentboot add prompt --file .claude/CLAUDE.md --batch # Decompose existing CLAUDE.md
699
- agentboot add prompt "..." --dry-run # Preview without writing
700
- ```
701
-
702
- ### `agentboot validate` — CI-Friendly Validation
703
-
704
- ```bash
705
- agentboot validate # Validate everything
706
- agentboot validate --personas # Personas only
707
- agentboot validate --traits # Traits only
708
- agentboot validate --config # Config only
709
- agentboot validate --strict # Fail on warnings too
710
- ```
711
-
712
- Exit code 0 = pass, 1 = errors, 2 = warnings (with --strict).
713
-
714
- ### `agentboot uninstall` — Clean Removal
715
-
716
- If AgentBoot isn't working out, removing it should be as easy as installing it.
717
- No orphaned files, no broken repos, no mystery config left behind. And just like
718
- `discover`, it's non-destructive in a different sense — it gives you back what you
719
- had before, not an empty void.
720
-
721
- ```bash
722
- # Remove AgentBoot from a single repo
723
- agentboot uninstall --repo my-org/api-service
724
-
725
- # Remove from all synced repos
726
- agentboot uninstall --all-repos
727
-
728
- # Remove the CC plugin
729
- agentboot uninstall --plugin
730
-
731
- # Remove managed settings (generates removal instructions for IT)
732
- agentboot uninstall --managed
733
-
734
- # Full removal — everything
735
- agentboot uninstall --everything
736
-
737
- # Preview what would be removed
738
- agentboot uninstall --dry-run
739
- ```
740
-
741
- ```
742
- $ agentboot uninstall --repo my-org/api-service --dry-run
743
-
744
- AgentBoot Uninstall — Dry Run (my-org/api-service)
745
- ───────────────────────────────────────────────────
746
-
747
- Files that would be removed:
748
- .claude/agents/code-reviewer/CLAUDE.md (synced by AgentBoot)
749
- .claude/agents/security-reviewer/CLAUDE.md (synced by AgentBoot)
750
- .claude/skills/review-code/SKILL.md (synced by AgentBoot)
751
- .claude/skills/review-security/SKILL.md (synced by AgentBoot)
752
- .claude/traits/critical-thinking.md (synced by AgentBoot)
753
- .claude/traits/structured-output.md (synced by AgentBoot)
754
- .claude/rules/gotchas-postgres.md (synced by AgentBoot)
755
- .claude/settings.json (AgentBoot hooks section only)
756
- .claude/.mcp.json (AgentBoot servers only)
757
-
758
- Files that would be KEPT (not managed by AgentBoot):
759
- .claude/CLAUDE.md (has manual edits — see below)
760
- .claude/rules/team-conventions.md (authored locally, not synced)
761
- .claude/settings.local.json (personal settings)
762
-
763
- Requires attention:
764
- .claude/CLAUDE.md contains both AgentBoot-generated content AND manual edits.
765
- ├── Lines 1-45: AgentBoot @imports and generated content
766
- ├── Lines 46-78: Manually added by your team
767
-
768
- ├── [1] Remove AgentBoot content, keep manual edits
769
- ├── [2] Keep entire file as-is (manual cleanup later)
770
- └── [3] Show me the diff
771
-
772
- Restore pre-AgentBoot state:
773
- AgentBoot discovered and archived your original files during setup.
774
- Archive location: .claude/.agentboot-archive/
775
- ├── CLAUDE.md.pre-agentboot (original, 812 lines)
776
- ├── copilot-instructions.md.pre-agentboot
777
-
778
- ├── [1] Restore originals from archive
779
- ├── [2] Don't restore (start fresh)
780
- └── [3] Show diff between original and current
781
-
782
- After uninstall:
783
- Your repo will have its original .claude/ content (or a clean state).
784
- No AgentBoot-managed files remain.
785
- The repo's git history preserves everything if you need it back.
786
-
787
- No files modified. Run without --dry-run to proceed.
788
- ```
789
-
790
- **Key behaviors:**
791
-
792
- **Tracks what it owns.** During sync, AgentBoot writes a manifest
793
- (`.claude/.agentboot-manifest.json`) listing every file it manages. Uninstall
794
- removes exactly those files — nothing more. Files authored locally by the team
795
- are never touched.
796
-
797
- ```json
798
- {
799
- "managed_by": "agentboot",
800
- "version": "1.2.0",
801
- "synced_at": "2026-03-19T14:30:00Z",
802
- "files": [
803
- { "path": "agents/code-reviewer/CLAUDE.md", "hash": "a3f2..." },
804
- { "path": "skills/review-code/SKILL.md", "hash": "7b1c..." },
805
- { "path": "traits/critical-thinking.md", "hash": "e4d8..." }
806
- ]
807
- }
808
- ```
809
-
810
- If a managed file was modified after sync (the hash doesn't match), uninstall
811
- warns: "This file was synced by AgentBoot but has been modified locally. Remove
812
- anyway? [y/N]"
813
-
814
- **Archives originals during setup.** When `agentboot discover` + migrate first
815
- runs, it archives the repo's original agentic files to
816
- `.claude/.agentboot-archive/`. Uninstall can restore them. This is the "undo" for
817
- the entire AgentBoot adoption. The org gets back exactly what they had before.
818
-
819
- **Handles mixed content.** If CLAUDE.md has both AgentBoot-generated `@imports`
820
- and manually authored content, uninstall separates them. It removes the AgentBoot
821
- lines and keeps the manual ones. The developer reviews the result.
822
-
823
- **Plugin removal.** `--plugin` runs the CC plugin uninstall:
824
- ```bash
825
- # Equivalent to:
826
- claude plugin uninstall acme@acme-personas
827
- ```
828
-
829
- **Managed settings.** AgentBoot can't remove MDM-deployed files (that requires IT).
830
- `--managed` generates instructions for the IT team:
831
- ```
832
- Managed settings removal requires IT action:
833
-
834
- macOS (Jamf):
835
- Remove profile: "AgentBoot Managed Settings"
836
- Files to remove:
837
- /Library/Application Support/ClaudeCode/managed-settings.json
838
- /Library/Application Support/ClaudeCode/managed-mcp.json
839
- /Library/Application Support/ClaudeCode/CLAUDE.md
840
-
841
- Paste these instructions into a ticket to your IT team,
842
- or forward this output to: [configured IT contact]
843
- ```
844
-
845
- **The principle:** If someone asks "how do I get rid of AgentBoot?", the answer
846
- should be one command, not a scavenger hunt. Easy exit builds trust for easy entry.
847
- An org that knows they can cleanly remove the tool is more willing to try it.
848
-
849
- ---
850
-
851
- ## Command Summary
852
-
853
- | Command | Who Uses It | Purpose |
854
- |---------|-------------|---------|
855
- | `setup` | Everyone (first time) | Interactive onboarding — determines and executes the right setup |
856
- | `connect` | Developers | Connect to org's existing AgentBoot setup |
857
- | `build` | Platform team, CI | Compile personas with trait composition |
858
- | `sync` | Platform team, CI | Distribute compiled output to target repos |
859
- | `export` | Platform team | Generate plugin, marketplace, managed settings, etc. |
860
- | `publish` | Platform team | Push plugin to marketplace |
861
- | `add` | Platform team | Scaffold new personas, traits, domains, gotchas |
862
- | `add prompt` | Anyone | Ingest raw prompts — classify, format, save as proper content |
863
- | `discover` | Platform team | Scan repos/machines for existing agentic content, generate migration plan |
864
- | `lint` | Platform team, CI | Static prompt analysis — token budgets, vague language, conflicts, security |
865
- | `test` | Platform team, CI | Persona testing — deterministic, behavioral, snapshot, eval, mutation |
866
- | `validate` | CI | Pre-merge schema and config validation |
867
- | `search` | Anyone | Search marketplace for traits, gotchas, personas, domains |
868
- | `metrics` | Platform team | Read telemetry, report per-persona/team/period |
869
- | `cost-estimate` | Platform team | Project per-persona costs across the org |
870
- | `review` | Platform team | Guided human review of persona output samples |
871
- | `issue` | Anyone | Streamlined bug reporting against AgentBoot core |
872
- | `doctor` | Anyone | Diagnose issues (includes `--diagnose` for layered isolation) |
873
- | `status` | Platform team | Dashboard of what's deployed where |
874
- | `upgrade` | Platform team | Update AgentBoot core |
875
- | `uninstall` | Platform team | Clean removal — restore pre-AgentBoot state, remove only managed files |
876
-
877
- ---
878
-
879
- ## Design Principles
880
-
881
- ### 1. One Command Gets You Started
882
-
883
- `brew install agentboot && agentboot setup` — that's the entire onboarding. The
884
- wizard handles everything else. No README to read, no config to write, no architecture
885
- to understand first.
886
-
887
- ### 2. Progressive Disclosure
888
-
889
- The `setup` wizard asks only what's needed for the user's role. A solo developer
890
- answers 3 questions and gets files in their repo. A platform team answers 7 questions
891
- and gets a full org scaffold. An IT admin answers 4 questions and gets managed settings.
892
-
893
- ### 3. Detect Before Asking
894
-
895
- The wizard auto-detects as much as possible before asking:
896
- - Git remote → org name
897
- - `.claude/` in current repo → already set up
898
- - Managed settings on disk → already governed
899
- - Known marketplace patterns → org already has AgentBoot
900
- - `claude --version` → CC installed
901
- - Platform tools in PATH → which agents are available
902
-
903
- ### 4. Every Command Works in CI
904
-
905
- Every command accepts `--non-interactive` (or detects non-TTY) and uses flags instead
906
- of prompts. `agentboot build && agentboot validate --strict && agentboot sync` works
907
- in any CI pipeline without interaction.
908
-
909
- ### 5. Errors Tell You What to Do
910
-
911
- Every error message includes the fix command:
912
- ```
913
- ✗ persona.config.json missing for: code-reviewer
914
- → Run: agentboot add persona-config code-reviewer
915
- ```
916
-
917
- Not just "what's wrong" but "how to fix it."
918
-
919
- ### 6. Easy Exit Builds Trust for Easy Entry
920
-
921
- `agentboot uninstall` is a first-class command, not an afterthought. It tracks what
922
- it manages, archives what it replaces, and restores what was there before. An org
923
- that knows they can cleanly remove the tool in one command is more willing to try it.
924
- No vendor lock-in, no orphaned files, no scavenger hunt.