agentboot 0.1.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 (78) hide show
  1. package/.github/ISSUE_TEMPLATE/persona-request.md +62 -0
  2. package/.github/ISSUE_TEMPLATE/quality-feedback.md +67 -0
  3. package/.github/workflows/cla.yml +25 -0
  4. package/.github/workflows/validate.yml +49 -0
  5. package/.idea/agentboot.iml +9 -0
  6. package/.idea/misc.xml +6 -0
  7. package/.idea/modules.xml +8 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/CLA.md +98 -0
  10. package/CLAUDE.md +230 -0
  11. package/CONTRIBUTING.md +168 -0
  12. package/LICENSE +191 -0
  13. package/NOTICE +4 -0
  14. package/PERSONAS.md +156 -0
  15. package/README.md +172 -0
  16. package/agentboot.config.json +207 -0
  17. package/bin/agentboot.js +17 -0
  18. package/core/gotchas/README.md +35 -0
  19. package/core/instructions/baseline.instructions.md +133 -0
  20. package/core/instructions/security.instructions.md +186 -0
  21. package/core/personas/code-reviewer/SKILL.md +175 -0
  22. package/core/personas/code-reviewer/persona.config.json +11 -0
  23. package/core/personas/security-reviewer/SKILL.md +233 -0
  24. package/core/personas/security-reviewer/persona.config.json +11 -0
  25. package/core/personas/test-data-expert/SKILL.md +234 -0
  26. package/core/personas/test-data-expert/persona.config.json +10 -0
  27. package/core/personas/test-generator/SKILL.md +262 -0
  28. package/core/personas/test-generator/persona.config.json +10 -0
  29. package/core/traits/audit-trail.md +182 -0
  30. package/core/traits/confidence-signaling.md +172 -0
  31. package/core/traits/critical-thinking.md +129 -0
  32. package/core/traits/schema-awareness.md +132 -0
  33. package/core/traits/source-citation.md +174 -0
  34. package/core/traits/structured-output.md +199 -0
  35. package/docs/ci-cd-automation.md +548 -0
  36. package/docs/claude-code-reference/README.md +21 -0
  37. package/docs/claude-code-reference/agentboot-coverage.md +484 -0
  38. package/docs/claude-code-reference/feature-inventory.md +906 -0
  39. package/docs/cli-commands-audit.md +112 -0
  40. package/docs/cli-design.md +924 -0
  41. package/docs/concepts.md +1117 -0
  42. package/docs/config-schema-audit.md +121 -0
  43. package/docs/configuration.md +645 -0
  44. package/docs/delivery-methods.md +758 -0
  45. package/docs/developer-onboarding.md +342 -0
  46. package/docs/extending.md +448 -0
  47. package/docs/getting-started.md +298 -0
  48. package/docs/knowledge-layer.md +464 -0
  49. package/docs/marketplace.md +822 -0
  50. package/docs/org-connection.md +570 -0
  51. package/docs/plans/architecture.md +2429 -0
  52. package/docs/plans/design.md +2018 -0
  53. package/docs/plans/prd.md +1862 -0
  54. package/docs/plans/stack-rank.md +261 -0
  55. package/docs/plans/technical-spec.md +2755 -0
  56. package/docs/privacy-and-safety.md +807 -0
  57. package/docs/prompt-optimization.md +1071 -0
  58. package/docs/test-plan.md +972 -0
  59. package/docs/third-party-ecosystem.md +496 -0
  60. package/domains/compliance-template/README.md +173 -0
  61. package/domains/compliance-template/traits/compliance-aware.md +228 -0
  62. package/examples/enterprise/agentboot.config.json +184 -0
  63. package/examples/minimal/agentboot.config.json +46 -0
  64. package/package.json +63 -0
  65. package/repos.json +1 -0
  66. package/scripts/cli.ts +1069 -0
  67. package/scripts/compile.ts +1000 -0
  68. package/scripts/dev-sync.ts +149 -0
  69. package/scripts/lib/config.ts +137 -0
  70. package/scripts/lib/frontmatter.ts +61 -0
  71. package/scripts/sync.ts +687 -0
  72. package/scripts/validate.ts +421 -0
  73. package/tests/REGRESSION-PLAN.md +705 -0
  74. package/tests/TEST-PLAN.md +111 -0
  75. package/tests/cli.test.ts +705 -0
  76. package/tests/pipeline.test.ts +608 -0
  77. package/tests/validate.test.ts +278 -0
  78. package/tsconfig.json +62 -0
@@ -0,0 +1,484 @@
1
+ # AgentBoot ↔ Claude Code Coverage Analysis
2
+
3
+ Cross-references every Claude Code feature against AgentBoot's current design. Identifies
4
+ what is fully used, partially used, and not used at all.
5
+
6
+ **Legend:** FULL = AgentBoot generates/leverages this fully. PARTIAL = designed but not
7
+ using all capabilities. NONE = not used. N/A = not relevant to AgentBoot's scope.
8
+
9
+ ---
10
+
11
+ ## 1. CLAUDE.md System
12
+
13
+ | Feature | Coverage | Notes | Action Needed |
14
+ |---------|----------|-------|---------------|
15
+ | Project-level CLAUDE.md | FULL | Sync generates `.claude/CLAUDE.md` | — |
16
+ | `@import` syntax | PARTIAL | Designed in concepts.md but compile.ts still inlines | Implement @import-based output in compile.ts |
17
+ | Subdirectory CLAUDE.md | NONE | Could generate per-directory context files | Consider for path-scoped domain knowledge |
18
+ | User-level `~/.claude/CLAUDE.md` | NONE | Not in AgentBoot's scope (per-user) | Document as a user customization point |
19
+ | Managed policy CLAUDE.md | PARTIAL | Designed for HARD guardrails but no generator | Implement managed artifact generation |
20
+ | `claudeMdExcludes` | NONE | Not generated in settings.json output | Generate excludes for monorepo scenarios |
21
+ | 200-line guideline | NONE | No size validation on generated CLAUDE.md | Add build validation: warn if >200 lines |
22
+ | Compaction survival | N/A | Native behavior; no action needed | — |
23
+ | Lazy-loaded subdirectory CLAUDE.md | NONE | Could generate domain context per-directory | Explore for deep domain knowledge delivery |
24
+
25
+ ### Untapped Opportunity: Subdirectory CLAUDE.md
26
+
27
+ AgentBoot could generate subdirectory-specific CLAUDE.md files that activate only when
28
+ Claude reads files in those paths. Example: `src/auth/CLAUDE.md` with auth-specific
29
+ context, `src/api/CLAUDE.md` with API design rules. This is more granular than rules
30
+ with `paths:` frontmatter because it can contain rich context (architecture diagrams,
31
+ domain model summaries) rather than just rules.
32
+
33
+ ---
34
+
35
+ ## 2. Settings System
36
+
37
+ | Feature | Coverage | Notes | Action Needed |
38
+ |---------|----------|-------|---------------|
39
+ | `.claude/settings.json` generation | PARTIAL | Designed for hooks only | Generate full settings including permissions |
40
+ | `.claude/settings.local.json` | NONE | Local overrides not in scope | Document as user escape hatch |
41
+ | Managed settings paths | PARTIAL | Designed but no generator | Implement `output.managed` generation |
42
+ | Permission `allow` rules | NONE | Not generating permission configs | Generate per-persona tool permissions |
43
+ | Permission `deny` rules | NONE | Not generating deny lists | Generate deny rules for read-only personas |
44
+ | `env` variables | NONE | Not generating env config | Generate env for MCP servers, hooks |
45
+ | `defaultModel` | NONE | Not setting org-wide model | Consider as org-level config option |
46
+ | `effort` | NONE | Not setting effort level | Consider per-persona effort setting |
47
+ | `sandbox` config | NONE | Not generating sandbox rules | Explore for compliance-heavy domains |
48
+ | `additionalDirectories` | NONE | Not used | Could reference shared knowledge dirs |
49
+ | `autoIncludeFilesInPrompts` | NONE | Not configured | Document as user preference |
50
+ | `disableBypassPermissionsMode` | NONE | Managed-only; relevant for HARD guardrails | Include in managed settings generation |
51
+ | `allowManagedPermissionRulesOnly` | NONE | Managed-only lockdown | Include in managed settings generation |
52
+ | `allowManagedHooksOnly` | NONE | Managed-only lockdown | Include in managed settings generation |
53
+ | `allowManagedMcpServersOnly` | NONE | Managed-only lockdown | Include in managed settings generation |
54
+ | `contributionAttribution` | NONE | Not relevant to AgentBoot | — |
55
+
56
+ ### Untapped Opportunity: Permission Generation
57
+
58
+ AgentBoot knows each persona's tool requirements from frontmatter (`disallowedTools`,
59
+ `tools`). It should also generate matching permission rules in `settings.json`:
60
+
61
+ ```json
62
+ {
63
+ "permissions": {
64
+ "allow": ["Bash(npm run test)", "Bash(npm run lint)", "Read", "Grep", "Glob"],
65
+ "deny": ["Bash(rm -rf *)", "Bash(git push --force *)"]
66
+ }
67
+ }
68
+ ```
69
+
70
+ This provides defense-in-depth: the persona's `disallowedTools` is the first layer
71
+ (model-level), and `permissions.deny` is the second layer (runtime-enforced).
72
+
73
+ ### Untapped Opportunity: Managed Settings Lockdown
74
+
75
+ For enterprise HARD guardrails, AgentBoot should generate managed settings that use
76
+ Claude Code's native lockdown features:
77
+
78
+ ```json
79
+ {
80
+ "disableBypassPermissionsMode": "disable",
81
+ "allowManagedHooksOnly": true,
82
+ "allowManagedMcpServersOnly": true,
83
+ "allowManagedPermissionRulesOnly": true
84
+ }
85
+ ```
86
+
87
+ This prevents developers from disabling hooks, adding unauthorized MCP servers, or
88
+ overriding permission rules. It's the strongest enforcement Claude Code offers.
89
+
90
+ ---
91
+
92
+ ## 3. Agent System
93
+
94
+ | Feature | Coverage | Notes | Action Needed |
95
+ |---------|----------|-------|---------------|
96
+ | `.claude/agents/` generation | PARTIAL | Designed but not implemented in compile.ts | Implement agent CLAUDE.md generation |
97
+ | `name` field | FULL | Mapped from persona name | — |
98
+ | `description` field | FULL | Mapped from persona description | — |
99
+ | `model` field | PARTIAL | Designed but not all personas specify model | Add model to persona.config.json |
100
+ | `permissionMode` field | NONE | Not generated | Generate per-persona (reviewers = `plan`) |
101
+ | `maxTurns` field | NONE | Not generated | Add to persona.config.json |
102
+ | `tools` / `disallowedTools` | PARTIAL | Designed in concepts.md | Implement in compile output |
103
+ | `skills` (preload) | NONE | Not using skill preloading | Preload relevant skills per persona |
104
+ | `mcpServers` (scoped) | NONE | Not generating scoped MCP | Generate MCP refs for knowledge-dependent personas |
105
+ | `hooks` (agent-specific) | NONE | Not generating per-agent hooks | Generate audit hooks per persona |
106
+ | `memory` scope | NONE | Not using agent memory | Map to self-improvement reflections |
107
+ | `background` | NONE | Not generating background agents | Consider for monitoring personas |
108
+ | `isolation: worktree` | NONE | Not using worktree isolation | Consider for reviewer isolation alongside `context: fork` |
109
+ | Built-in agents | N/A | AgentBoot defines custom agents, not built-ins | — |
110
+ | @-mention invocation | N/A | Native; no generation needed | Document for users |
111
+ | `--agent` CLI flag | N/A | Native; no generation needed | Document for users |
112
+ | Agent memory directories | NONE | Not using `.claude/agent-memory/` | Map to self-improvement reflections system |
113
+
114
+ ### Untapped Opportunity: `permissionMode` for Reviewers
115
+
116
+ Review personas should run in `plan` mode (read-only). They should never edit files:
117
+
118
+ ```yaml
119
+ permissionMode: plan
120
+ ```
121
+
122
+ This is stronger than `disallowedTools: Edit, Write` because it's enforced at the
123
+ runtime level, not the model level. The model might ignore `disallowedTools` in edge
124
+ cases; `permissionMode: plan` cannot be overridden.
125
+
126
+ ### Untapped Opportunity: Agent Memory for Self-Improvement
127
+
128
+ Instead of a custom `.claude/reflections/` directory, self-improvement reflections
129
+ should use Claude Code's native agent memory system:
130
+
131
+ ```yaml
132
+ memory: project # or local
133
+ ```
134
+
135
+ This gives the agent a persistent `MEMORY.md` and topic files that survive across
136
+ sessions. The reflection data lives where Claude Code expects it, not in a custom
137
+ location.
138
+
139
+ ### Untapped Opportunity: `skills` Preloading
140
+
141
+ Agents can preload skills to have them available without explicit invocation:
142
+
143
+ ```yaml
144
+ skills:
145
+ - hipaa-check
146
+ - audit
147
+ ```
148
+
149
+ A security reviewer agent could preload the `hipaa-check` skill so it's always
150
+ available during review without the developer having to invoke it separately.
151
+
152
+ ---
153
+
154
+ ## 4. Skills System
155
+
156
+ | Feature | Coverage | Notes | Action Needed |
157
+ |---------|----------|-------|---------------|
158
+ | `.claude/skills/` generation | PARTIAL | Designed but not fully specified | Implement skill generation |
159
+ | `context: fork` | PARTIAL | Designed in concepts.md | Generate for all review skills |
160
+ | `agent:` field | PARTIAL | Designed to reference agent | Map skill → agent in compile |
161
+ | `argument-hint` | NONE | Not generating argument hints | Add to skill frontmatter output |
162
+ | `disable-model-invocation` | NONE | Not using | Consider for admin-only skills |
163
+ | `user-invocable` | NONE | Not using | Set false for internal-only skills |
164
+ | `allowed-tools` | NONE | Not generating tool restrictions | Generate per-skill |
165
+ | `$ARGUMENTS` substitution | NONE | Not using | Use in skill templates |
166
+ | `${CLAUDE_SESSION_ID}` | NONE | Not using | Use in audit trail skills |
167
+ | `${CLAUDE_SKILL_DIR}` | NONE | Not using | Reference supporting files |
168
+ | Dynamic context `!`cmd`` | NONE | Not using | Use for live PR data, git context |
169
+ | Supporting files (reference.md) | NONE | Not generating | Generate reference docs per skill |
170
+ | Skill hooks | NONE | Not generating per-skill hooks | Add audit hooks to review skills |
171
+ | Enterprise-managed skills | NONE | Not targeting managed locations | Include in managed output |
172
+
173
+ ### Untapped Opportunity: Dynamic Context Injection
174
+
175
+ Skills can inject live data at invocation time using `` !`command` ``:
176
+
177
+ ```markdown
178
+ ## Current Changes
179
+
180
+ !`git diff HEAD`
181
+
182
+ ## Review these changes against the following standards...
183
+ ```
184
+
185
+ This means the `/review-code` skill can automatically include the current diff without
186
+ the persona needing to run `git diff` as a separate tool call. It saves a turn and
187
+ ensures the review always starts with the right context.
188
+
189
+ Other high-value injections:
190
+ - `` !`git log --oneline -10` `` — recent commit context
191
+ - `` !`cat .claude/CLAUDE.md` `` — project rules
192
+ - `` !`gh pr view --json title,body` `` — PR metadata
193
+
194
+ ### Untapped Opportunity: Argument Hints
195
+
196
+ ```yaml
197
+ argument-hint: "[file-or-directory] [--format json|markdown]"
198
+ ```
199
+
200
+ Provides autocomplete guidance when developers type `/review-code`. Small quality-of-life
201
+ improvement that makes skills more discoverable and self-documenting.
202
+
203
+ ---
204
+
205
+ ## 5. Rules System
206
+
207
+ | Feature | Coverage | Notes | Action Needed |
208
+ |---------|----------|-------|---------------|
209
+ | `.claude/rules/` generation | PARTIAL | Designed for gotchas rules | Implement in compile output |
210
+ | `paths:` frontmatter | PARTIAL | Designed with `paths:` frontmatter | Verify compile.ts uses `paths:` |
211
+ | Always-on rules (no paths) | PARTIAL | Designed for standards rules | Generate from always-on instructions |
212
+ | User-level rules `~/.claude/rules/` | NONE | Not in AgentBoot's scope | Document as user customization |
213
+ | Symlink support | NONE | Not using | Consider for shared rules across repos |
214
+ | Recursive directory discovery | NONE | Not leveraging nested rules dirs | Consider for deep domain rule trees |
215
+
216
+ ### Untapped Opportunity: Symlinked Rules
217
+
218
+ Instead of copying rules into every target repo, the sync could create symlinks to a
219
+ shared location. This would reduce disk usage and make updates instant. However, this
220
+ only works when the shared repo is available locally (not for CI or remote developers).
221
+
222
+ ---
223
+
224
+ ## 6. Hooks System
225
+
226
+ | Feature | Coverage | Notes | Action Needed |
227
+ |---------|----------|-------|---------------|
228
+ | `UserPromptSubmit` | PARTIAL | Designed for input scanning | Implement hook script generation |
229
+ | `PreToolUse` | NONE | Not generating | Generate for dangerous command blocking |
230
+ | `PostToolUse` | NONE | Not generating | Generate for audit logging |
231
+ | `Stop` | PARTIAL | Designed for output scanning | Implement hook script generation |
232
+ | `SessionStart` | NONE | Not generating | Generate for env setup, audit logging |
233
+ | `SessionEnd` | NONE | Not generating | Generate for session audit summary |
234
+ | `SubagentStart`/`SubagentStop` | NONE | Not generating | Generate for persona invocation logging |
235
+ | `PermissionRequest` | NONE | Not generating | Generate for compliance audit |
236
+ | `PreCompact`/`PostCompact` | NONE | Not using | Could preserve persona state |
237
+ | `ConfigChange` | NONE | Not using | Could detect unauthorized config changes |
238
+ | `WorktreeCreate`/`WorktreeRemove` | NONE | Not using | Logging for worktree isolation |
239
+ | `TeammateIdle`/`TaskCompleted` | NONE | Not using | Agent team coordination |
240
+ | `InstructionsLoaded` | NONE | Not using | Could validate instruction integrity |
241
+ | `Notification` | NONE | Not using | Custom notification behavior |
242
+ | `StopFailure` | NONE | Not using | Error tracking per persona |
243
+ | `Elicitation`/`ElicitationResult` | NONE | Not using | MCP interaction logging |
244
+ | `prompt` hook type | NONE | Not using | LLM-evaluated compliance checks |
245
+ | `agent` hook type | NONE | Not using | Complex validation via subagent |
246
+ | `http` hook type | NONE | Not using | Webhook to external audit systems |
247
+ | `async` hooks | NONE | Not using | Non-blocking audit logging |
248
+ | Hook matchers for MCP tools | NONE | Not using | Monitor MCP tool usage |
249
+
250
+ ### Untapped Opportunity: Comprehensive Audit Trail via Hooks
251
+
252
+ AgentBoot should generate a standard set of audit hooks:
253
+
254
+ ```json
255
+ {
256
+ "hooks": {
257
+ "SessionStart": [{
258
+ "hooks": [{ "type": "command", "command": ".claude/hooks/audit-session-start.sh", "async": true }]
259
+ }],
260
+ "SubagentStart": [{
261
+ "hooks": [{ "type": "command", "command": ".claude/hooks/audit-persona-start.sh", "async": true }]
262
+ }],
263
+ "SubagentStop": [{
264
+ "hooks": [{ "type": "command", "command": ".claude/hooks/audit-persona-stop.sh", "async": true }]
265
+ }],
266
+ "PostToolUse": [{
267
+ "matcher": "Edit|Write|Bash",
268
+ "hooks": [{ "type": "command", "command": ".claude/hooks/audit-tool-use.sh", "async": true }]
269
+ }],
270
+ "SessionEnd": [{
271
+ "hooks": [{ "type": "command", "command": ".claude/hooks/audit-session-end.sh", "async": true }]
272
+ }]
273
+ }
274
+ }
275
+ ```
276
+
277
+ All async so they don't slow down the developer. Output: structured NDJSON to a log
278
+ file. This gives organizations a complete audit trail of every persona invocation,
279
+ every tool use, and every session — without any developer effort.
280
+
281
+ ### Untapped Opportunity: `prompt` Hook Type for Compliance
282
+
283
+ Instead of regex-based input scanning, use a `prompt` hook with a fast model:
284
+
285
+ ```json
286
+ {
287
+ "type": "prompt",
288
+ "prompt": "Does the following text contain PII, PHI, credentials, or internal URLs? Respond YES or NO only.\n\nText: $INPUT",
289
+ "model": "haiku",
290
+ "timeout": 5
291
+ }
292
+ ```
293
+
294
+ This catches patterns that regex misses (e.g., natural language descriptions of patients,
295
+ paraphrased credentials). More expensive than regex but more accurate. Could be a
296
+ configurable Layer 1.5 between deterministic hooks and instruction-based refusal.
297
+
298
+ ### Untapped Opportunity: `PreToolUse` for Dangerous Command Blocking
299
+
300
+ ```json
301
+ {
302
+ "PreToolUse": [{
303
+ "matcher": "Bash",
304
+ "hooks": [{
305
+ "type": "command",
306
+ "command": ".claude/hooks/block-dangerous-commands.sh"
307
+ }]
308
+ }]
309
+ }
310
+ ```
311
+
312
+ Block `rm -rf`, `git push --force`, `DROP TABLE`, etc. at the hook level. This is
313
+ stronger than instruction-based guidance because it's deterministic.
314
+
315
+ ---
316
+
317
+ ## 7. MCP System
318
+
319
+ | Feature | Coverage | Notes | Action Needed |
320
+ |---------|----------|-------|---------------|
321
+ | `.mcp.json` generation | PARTIAL | Designed but no implementation | Implement in compile/sync |
322
+ | Agent-scoped MCP | NONE | Not generating in agent frontmatter | Add `mcpServers` to persona config |
323
+ | Managed MCP | NONE | Not generating managed-mcp.json | Include in managed output |
324
+ | MCP allowlist/denylist | NONE | Not generating policies | Include in managed settings |
325
+ | MCP resources (@-references) | NONE | Not using | Could expose knowledge base as resources |
326
+ | MCP prompts as commands | NONE | Not using | Could expose persona skills as MCP prompts |
327
+ | OAuth configuration | NONE | Not generating OAuth config | Include for authenticated services |
328
+ | Environment variable expansion | NONE | Not using in generated configs | Use for secrets/tokens |
329
+ | `claude mcp serve` | NONE | Not using | Could expose AgentBoot as MCP server |
330
+
331
+ ### Untapped Opportunity: AgentBoot as MCP Server
332
+
333
+ `claude mcp serve` turns Claude Code into an MCP server. AgentBoot could provide an
334
+ MCP server that other tools consume — exposing persona invocation, trait lookup, and
335
+ governance status as MCP tools and resources. This would let Copilot, Cursor, or any
336
+ MCP client access AgentBoot-governed personas without Claude Code.
337
+
338
+ ### Untapped Opportunity: Knowledge Base as MCP Resources
339
+
340
+ Domain knowledge could be exposed as MCP resources:
341
+
342
+ ```
343
+ @agentboot:knowledge://compliance/hipaa-safe-harbor
344
+ @agentboot:knowledge://architecture/domain-boundaries
345
+ ```
346
+
347
+ Developers reference knowledge in prompts; the MCP server returns the relevant content.
348
+ This is the MCP-first integration pattern described in the concepts doc.
349
+
350
+ ---
351
+
352
+ ## 8. Memory System
353
+
354
+ | Feature | Coverage | Notes | Action Needed |
355
+ |---------|----------|-------|---------------|
356
+ | Auto memory | NONE | Not leveraging | Could seed project memory with persona context |
357
+ | Agent memory (`memory:` field) | NONE | Not using | Map to self-improvement reflections |
358
+ | `autoMemoryDirectory` | NONE | Not configuring | Document for users |
359
+ | 200-line MEMORY.md index | NONE | Not using | Leverage for persona context persistence |
360
+
361
+ ### Untapped Opportunity: Seeded Project Memory
362
+
363
+ AgentBoot's sync could seed the target repo's auto memory with project-relevant context:
364
+
365
+ ```
366
+ ~/.claude/projects/<project>/memory/
367
+ ├── MEMORY.md ← Generated by AgentBoot with persona summary
368
+ ├── architecture.md ← Domain context from domain layer
369
+ └── gotchas.md ← Condensed gotchas for memory (vs. rules for enforcement)
370
+ ```
371
+
372
+ This gives Claude persistent knowledge about the project that survives across sessions,
373
+ beyond what CLAUDE.md provides. CLAUDE.md is instructions; memory is knowledge.
374
+
375
+ ---
376
+
377
+ ## 9. CLI Features
378
+
379
+ | Feature | Coverage | Notes | Action Needed |
380
+ |---------|----------|-------|---------------|
381
+ | `--agent` flag | N/A | Native; users invoke directly | Document usage patterns |
382
+ | `-p` (print mode) | NONE | Not using for testing | Use in behavioral test pipeline |
383
+ | `--json-schema` | NONE | Not using | Use for structured review output validation |
384
+ | `--max-turns` | NONE | Not using | Use in behavioral tests to limit cost |
385
+ | `--max-budget-usd` | NONE | Not using | Document for cost-conscious orgs |
386
+ | `--system-prompt` | NONE | Not using | Could use for testing persona prompts |
387
+ | `--output-format json` | NONE | Not using | Use in CI for machine-readable review output |
388
+ | `--from-pr` | N/A | Native | Document for PR review workflow |
389
+ | `--worktree` | NONE | Not using in testing | Use for isolated test execution |
390
+ | `--effort` | NONE | Not setting per-persona | Add effort to persona config |
391
+ | `--fallback-model` | NONE | Not using | Document for resilient CI pipelines |
392
+
393
+ ### Untapped Opportunity: Headless Behavioral Testing
394
+
395
+ AgentBoot's behavioral test suite should use Claude Code's print mode:
396
+
397
+ ```bash
398
+ claude -p \
399
+ --agent code-reviewer \
400
+ --output-format json \
401
+ --max-turns 5 \
402
+ --max-budget-usd 0.50 \
403
+ "Review the file src/auth/login.ts"
404
+ ```
405
+
406
+ This is deterministic, scriptable, and cost-bounded. The JSON output can be parsed
407
+ and validated against expected finding patterns. Combined with `--json-schema`, the
408
+ output structure is guaranteed.
409
+
410
+ ---
411
+
412
+ ## 10. Other Features
413
+
414
+ | Feature | Coverage | Notes | Action Needed |
415
+ |---------|----------|-------|---------------|
416
+ | Task system (TaskCreate, etc.) | NONE | Not using | Could use for multi-persona orchestration |
417
+ | Cron (CronCreate, etc.) | NONE | Not using | Could schedule recurring compliance scans |
418
+ | Agent teams / TeammateIdle | NONE | Not using | Future: coordinated multi-persona reviews |
419
+ | `context: fork` + `agent:` | PARTIAL | Designed but not generating | Implement in skill output |
420
+ | Dynamic context `!`cmd`` | NONE | Not generating | High value for review skills |
421
+ | Worktree isolation | NONE | Not generating | Use for parallel review execution |
422
+ | LSP tool | NONE | Not using | Could enhance code review accuracy |
423
+ | Extended thinking / effort | NONE | Not configuring | Add per-persona effort level |
424
+ | `/batch` skill | N/A | Native | Document for large-scale reviews |
425
+ | Keybindings | N/A | User preference | Document available actions |
426
+ | Status line | N/A | User preference | — |
427
+
428
+ ### Untapped Opportunity: Task System for Multi-Persona Orchestration
429
+
430
+ The `/review` meta-skill could use the Task system to orchestrate multiple reviewers:
431
+
432
+ 1. `/review` creates tasks: "security review", "code review", "cost review"
433
+ 2. Each task is assigned to the appropriate persona agent
434
+ 3. Agents run in parallel (background mode or worktrees)
435
+ 4. `TaskCompleted` hooks aggregate results
436
+ 5. Persona arbitrator resolves conflicts
437
+
438
+ This is native Claude Code multi-agent coordination without custom infrastructure.
439
+
440
+ ### Untapped Opportunity: Cron for Scheduled Compliance
441
+
442
+ ```
443
+ CronCreate: "Run /review-security on all changed files" every 24h
444
+ ```
445
+
446
+ Recurring security scans, architecture drift detection, or compliance checks. No CI
447
+ pipeline configuration needed — it runs inside Claude Code.
448
+
449
+ ---
450
+
451
+ ## Priority Summary
452
+
453
+ ### Immediate (implement in compile.ts / sync.ts)
454
+
455
+ 1. **Generate `.claude/agents/{name}/CLAUDE.md`** with full frontmatter (model, permissionMode, maxTurns, disallowedTools, skills, mcpServers, hooks, memory)
456
+ 2. **Generate `.claude/skills/{name}/SKILL.md`** with `context: fork`, `agent:`, `argument-hint`, dynamic context injection
457
+ 3. **Generate `.claude/settings.json`** with hooks (audit trail, compliance) AND permissions (allow/deny rules)
458
+ 4. **Generate `.claude/rules/{topic}.md`** with `paths:` frontmatter from gotchas and domain rules
459
+ 5. **Use `@import`** in generated CLAUDE.md instead of inlining traits
460
+ 6. **Generate `.mcp.json`** for domain-layer MCP servers
461
+ 7. **Add `permissionMode: plan`** to all review personas (read-only enforcement)
462
+ 8. **Add `memory: project`** to personas with self-improvement enabled
463
+
464
+ ### Near-Term (V1 polish)
465
+
466
+ 9. Dynamic context injection (`` !`git diff HEAD` ``) in review skills
467
+ 10. Audit hook generation (SessionStart, SubagentStart/Stop, PostToolUse, SessionEnd)
468
+ 11. `argument-hint` in all skill frontmatter
469
+ 12. `skills` preloading in agent frontmatter
470
+ 13. CLAUDE.md size validation (warn if >200 lines)
471
+ 14. Behavioral test pipeline using `claude -p --output-format json`
472
+
473
+ ### V2+ (advanced features)
474
+
475
+ 15. Managed settings generation with full lockdown (`allowManagedHooksOnly`, etc.)
476
+ 16. Managed MCP with allowlist/denylist policies
477
+ 17. `prompt` hook type for LLM-evaluated compliance
478
+ 18. Subdirectory CLAUDE.md for deep domain knowledge
479
+ 19. AgentBoot as MCP server (`claude mcp serve`)
480
+ 20. Knowledge base as MCP resources
481
+ 21. Task system for multi-persona orchestration
482
+ 22. Cron for scheduled compliance scans
483
+ 23. Seeded project memory
484
+ 24. Agent teams coordination