agentboot 0.1.0 → 0.3.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/README.md +9 -8
  2. package/agentboot.config.json +4 -1
  3. package/package.json +2 -2
  4. package/scripts/cli.ts +465 -18
  5. package/scripts/compile.ts +724 -75
  6. package/scripts/dev-sync.ts +1 -1
  7. package/scripts/lib/config.ts +259 -1
  8. package/scripts/lib/frontmatter.ts +3 -1
  9. package/scripts/validate.ts +12 -7
  10. package/website/docusaurus.config.ts +117 -0
  11. package/website/package-lock.json +18448 -0
  12. package/website/package.json +47 -0
  13. package/website/sidebars.ts +53 -0
  14. package/website/src/css/custom.css +23 -0
  15. package/website/src/pages/index.module.css +23 -0
  16. package/website/src/pages/index.tsx +125 -0
  17. package/website/static/.nojekyll +0 -0
  18. package/website/static/CNAME +1 -0
  19. package/website/static/img/favicon.ico +0 -0
  20. package/website/static/img/logo.svg +1 -0
  21. package/.github/ISSUE_TEMPLATE/persona-request.md +0 -62
  22. package/.github/ISSUE_TEMPLATE/quality-feedback.md +0 -67
  23. package/.github/workflows/cla.yml +0 -25
  24. package/.github/workflows/validate.yml +0 -49
  25. package/.idea/agentboot.iml +0 -9
  26. package/.idea/misc.xml +0 -6
  27. package/.idea/modules.xml +0 -8
  28. package/.idea/vcs.xml +0 -6
  29. package/CLAUDE.md +0 -230
  30. package/CONTRIBUTING.md +0 -168
  31. package/PERSONAS.md +0 -156
  32. package/core/instructions/baseline.instructions.md +0 -133
  33. package/core/instructions/security.instructions.md +0 -186
  34. package/core/personas/code-reviewer/SKILL.md +0 -175
  35. package/core/personas/security-reviewer/SKILL.md +0 -233
  36. package/core/personas/test-data-expert/SKILL.md +0 -234
  37. package/core/personas/test-generator/SKILL.md +0 -262
  38. package/core/traits/audit-trail.md +0 -182
  39. package/core/traits/confidence-signaling.md +0 -172
  40. package/core/traits/critical-thinking.md +0 -129
  41. package/core/traits/schema-awareness.md +0 -132
  42. package/core/traits/source-citation.md +0 -174
  43. package/core/traits/structured-output.md +0 -199
  44. package/docs/ci-cd-automation.md +0 -548
  45. package/docs/claude-code-reference/README.md +0 -21
  46. package/docs/claude-code-reference/agentboot-coverage.md +0 -484
  47. package/docs/claude-code-reference/feature-inventory.md +0 -906
  48. package/docs/cli-commands-audit.md +0 -112
  49. package/docs/cli-design.md +0 -924
  50. package/docs/concepts.md +0 -1117
  51. package/docs/config-schema-audit.md +0 -121
  52. package/docs/configuration.md +0 -645
  53. package/docs/delivery-methods.md +0 -758
  54. package/docs/developer-onboarding.md +0 -342
  55. package/docs/extending.md +0 -448
  56. package/docs/getting-started.md +0 -298
  57. package/docs/knowledge-layer.md +0 -464
  58. package/docs/marketplace.md +0 -822
  59. package/docs/org-connection.md +0 -570
  60. package/docs/plans/architecture.md +0 -2429
  61. package/docs/plans/design.md +0 -2018
  62. package/docs/plans/prd.md +0 -1862
  63. package/docs/plans/stack-rank.md +0 -261
  64. package/docs/plans/technical-spec.md +0 -2755
  65. package/docs/privacy-and-safety.md +0 -807
  66. package/docs/prompt-optimization.md +0 -1071
  67. package/docs/test-plan.md +0 -972
  68. package/docs/third-party-ecosystem.md +0 -496
  69. package/domains/compliance-template/README.md +0 -173
  70. package/domains/compliance-template/traits/compliance-aware.md +0 -228
  71. package/examples/enterprise/agentboot.config.json +0 -184
  72. package/examples/minimal/agentboot.config.json +0 -46
  73. package/tests/REGRESSION-PLAN.md +0 -705
  74. package/tests/TEST-PLAN.md +0 -111
  75. package/tests/cli.test.ts +0 -705
  76. package/tests/pipeline.test.ts +0 -608
  77. package/tests/validate.test.ts +0 -278
  78. package/tsconfig.json +0 -62
package/CLAUDE.md DELETED
@@ -1,230 +0,0 @@
1
- # CLAUDE.md
2
-
3
- This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
-
5
- ## Commands
6
-
7
- ```bash
8
- npm install # Install dependencies (required before anything else)
9
- npm run validate # Run pre-build validation checks
10
- npm run build # Compile traits into persona output files
11
- npm run sync # Distribute compiled output to target repos
12
- npm run clean # Remove dist/
13
- npm run full-build # clean → validate → build → dev-sync pipeline
14
- npm run dev-sync # Copy dist/ to local repo for dogfooding (gitignored)
15
- npm run lint # TypeScript type checking + lint
16
- npm run test # Run vitest
17
- npm run test:watch # Watch mode testing
18
- npm run typecheck # TypeScript type checking (tsc --noEmit)
19
- npm run cli # Run the agentboot CLI (e.g., npm run cli -- build)
20
- ```
21
-
22
- The CLI (`scripts/cli.ts`) wraps all pipeline commands with proper argument parsing:
23
- ```bash
24
- npx tsx scripts/cli.ts build [-c config]
25
- npx tsx scripts/cli.ts validate [--strict]
26
- npx tsx scripts/cli.ts sync [--repos-file path] [--dry-run]
27
- npx tsx scripts/cli.ts full-build
28
- npx tsx scripts/cli.ts --help
29
- ```
30
-
31
- Run a single test file: `npx vitest run <path-to-test-file>`
32
-
33
- ## Architecture
34
-
35
- AgentBoot is a **build tool** (not a runtime framework) that compiles agentic personas for distribution to target repos. The pipeline is: validate → compile → sync.
36
-
37
- ### Core Concepts
38
-
39
- **Traits** (`core/traits/`) are reusable behavioral building blocks (e.g., `critical-thinking.md`, `source-citation.md`). They are composed at build time — never at runtime. (Trait weight configurations are a Phase 2 feature.)
40
-
41
- **Personas** (`core/personas/{name}/`) each contain:
42
- - `SKILL.md` — the agent definition with `<!-- traits:start -->` / `<!-- traits:end -->` injection markers
43
- - `persona.config.json` — build metadata specifying which traits to inject
44
-
45
- **Always-on Instructions** (`core/instructions/`) are universal guardrails distributed to every repo regardless of persona configuration.
46
-
47
- **Gotchas** (`core/gotchas/`) are path-scoped knowledge rules that encode battle-tested operational knowledge. They use `paths:` frontmatter to activate only for matching files and are compiled into `.claude/rules/` during build.
48
-
49
- ### Build Pipeline
50
-
51
- 1. **`scripts/validate.ts`** — 4 pre-build checks: persona existence, trait references, SKILL.md frontmatter, secret scanning
52
- 2. **`scripts/compile.ts`** — loads `agentboot.config.json`, resolves trait references from `persona.config.json`, and emits **one self-contained folder per platform** under `dist/`:
53
- - **`dist/skill/`** — cross-platform SKILL.md (agentskills.io format, traits inlined) + PERSONAS.md
54
- - **`dist/claude/`** — CC-native: agents, skills, rules, traits, CLAUDE.md (`@imports`), settings.json, .mcp.json
55
- - **`dist/copilot/`** — per-persona copilot-instructions.md fragments + instructions
56
- 3. **`scripts/sync.ts`** — reads `repos.json`, reads from `dist/{platform}/`, merges scopes (core → group → team, team wins on conflicts), writes to target repos in platform-native locations, generates `.agentboot-manifest.json` with file hashes
57
- 4. **`scripts/dev-sync.ts`** — copies `dist/{platform}/core/` to platform-native locations in the current repo for local dogfooding (gitignored output only, not the production sync)
58
-
59
- Each `dist/{platform}/` folder is self-contained. Scope hierarchy (core → groups → teams) is preserved within each platform folder. Duplication across platforms is intentional (generated files are cattle not pets). `full-build` runs dev-sync (not sync) to load compiled personas locally.
60
-
61
- ### Scope Hierarchy
62
-
63
- Four-level hierarchy: Org → Group → Team → Repo. More specific scopes layer on top of general ones. For optional behaviors, team overrides group overrides core. For mandatory behaviors, inheritance is top-down (org wins). Scope merging happens in `sync.ts`. For public repos, repo-specific enrichments live in the hub under `public-repos/{repo}/` (not committed to the public repo) — see "Public repo pattern" in concepts.md.
64
-
65
- ### Output Structure
66
-
67
- Compiled artifacts go to `dist/`, organized by platform first, then by scope:
68
- - `dist/skill/` — cross-platform SKILL.md (agentskills.io format, traits inlined) + persona.config.json + PERSONAS.md
69
- - `dist/claude/` — CC-native: agents, skills, rules, traits, CLAUDE.md (@imports), settings.json, .mcp.json, PERSONAS.md
70
- - `dist/copilot/` — per-persona copilot-instructions.md fragments + instructions + PERSONAS.md
71
-
72
- Cursor and Gemini output are planned for Phase 2.
73
-
74
- Within each platform folder, scope hierarchy is preserved:
75
- - `dist/{platform}/core/` — org-level personas
76
- - `dist/{platform}/groups/{group}/` — group-level overrides
77
- - `dist/{platform}/teams/{group}/{team}/` — team-level overrides
78
-
79
- ### Distribution Model (Hub-and-Spoke)
80
-
81
- This repo acts as the **hub**. Target repos listed in `repos.json` are **spokes**. One-way flow: hub publishes compiled artifacts → spokes receive them. Spokes don't hold source of truth.
82
-
83
- ### Configuration
84
-
85
- Everything is driven by `agentboot.config.json` (JSONC format). Key sections: `org`, `groups`, `personas.enabled`, `traits.enabled`, `instructions.enabled`, `sync.repos`, `sync.dryRun`.
86
-
87
- ### Key Design Concepts
88
-
89
- All design ideas are documented in `docs/concepts.md`:
90
-
91
- **Core (Tier 1):** agentskills.io format, build-time trait composition, scope hierarchy, hub-and-spoke distribution, multi-format output. (Trait weight system — HIGH/MEDIUM/LOW — is designed but not yet implemented.)
92
-
93
- **High Value (Tier 2):** per-persona extensions, gotchas rules (path-scoped battle-tested knowledge), compliance hooks (3-layer defense-in-depth), ADR governance (permanent exception lifecycle), behavioral tests, self-improvement reflections (A→B→C), reviewer selection config.
94
-
95
- **V2+ (Tier 3):** HARD/SOFT guardrail elevation, team champions, SME discoverability fragment, MCP-first integrations, structured telemetry (GELF/NDJSON), persona arbitrator, autonomy progression (Advisory→Auto-approve→Autonomous), two-channel MDM distribution.
96
-
97
- **Anti-patterns:** overcommitting V1 scope, plain text logs, runtime trait inclusion, vendor-locked formats, forking base personas, deep inheritance hierarchies.
98
-
99
- See `docs/concepts.md` for full design rationale.
100
-
101
- ### Delivery Methods
102
-
103
- `docs/delivery-methods.md` analyzes 8 delivery channels. Key decisions:
104
- - **CC Plugin** is the primary delivery method (native marketplace, force-enable via managed settings)
105
- - **CLI** (`agentboot`) is the build tool, not the end-user tool
106
- - **Managed settings** carry HARD guardrails only (compliance, not convenience)
107
- - **MCP server** is the cross-platform bridge for multi-agent orgs
108
- - **Cowork** extends reach to non-engineers via the same plugin format
109
- - `docs/org-connection.md` — how developers get their org's customizations (three-path strategy: managed settings, repo sync, self-service)
110
-
111
- ### Privacy & Psychological Safety
112
-
113
- `docs/privacy-and-safety.md` — the prompt confidentiality model:
114
- - **Three tiers:** Private (raw prompts, never leave machine) → Privileged (LLM analysis via Claude API, developer approves sharing) → Organizational (persona output metrics, anonymized)
115
- - Raw prompts are NOT collected, transmitted, or exfiltrated. This is a design invariant, not a config option.
116
- - `/insights` sends transcripts to Claude API (same trust boundary already in use), extracts patterns not transcripts, developer sees first and approves sharing
117
- - Org dashboard shows persona effectiveness (rephrase rates, false positives, cost by team) — never individual prompts
118
- - Escalation exception for genuinely harmful content (exfiltration, guardrail circumvention, harassment) — flag category only, not transcript
119
- - High rephrase rates are framed as persona quality problems, not developer intelligence problems
120
-
121
- ### Prompt & Cost Optimization
122
-
123
- `docs/prompt-optimization.md` — 8 sections covering the full optimization lifecycle:
124
- - `agentboot lint` — static prompt analysis (token budgets, vague language, conflicts, security)
125
- - Token budget system — per-persona context cost calculation and enforcement
126
- - Model selection matrix — Haiku/Sonnet/Opus guidance per persona type
127
- - `agentboot cost-estimate` — projected monthly cost per persona across the org
128
- - Effectiveness metrics — efficiency (tokens, cost, latency), quality (accuracy, false positive rate), business (adoption, bug escapes)
129
- - Prompt style guide — imperative voice, 20-rule max, falsifiable instructions, examples over descriptions
130
- - `agentboot test` — deterministic (free) + behavioral (LLM) + regression (snapshot) testing
131
- - Continuous optimization loop — weekly review process with metrics-driven prompt improvements
132
-
133
- ### CLI Design
134
-
135
- `docs/cli-design.md` — standalone binary via `brew install agentboot`:
136
- - `agentboot setup` — interactive wizard that detects role/tools/org and executes the right setup
137
- - `agentboot build/sync/export/publish` — build pipeline for platform teams
138
- - `agentboot connect` — developer self-service org connection
139
- - `agentboot doctor/status` — diagnostics and deployment dashboard
140
- - `agentboot add` — scaffold personas, traits, domains, gotchas, hooks; `add prompt` ingests raw prompts
141
- - `agentboot discover` — scan repos/machines for existing agentic content, overlap analysis, migration plan
142
- - Distributed via brew/apt/choco (zero runtime deps), npm/npx as fallback
143
-
144
- ### Knowledge Layer
145
-
146
- `docs/knowledge-layer.md` — three-stage progression from flat files to RAG:
147
- - **Stage 1 (Flat files):** Current default. Markdown gotchas/traits with path scoping. Works for 5-50 items.
148
- - **Stage 2 (Structured store):** SQLite index generated from frontmatter. MCP server exposes tag/category queries. Handles 50-500 items. Zero new infrastructure.
149
- - **Stage 3 (Vector/RAG):** Embeddings + semantic retrieval via sqlite-vss. Personas find knowledge by relevance, not keywords. "This code is similar to an incident last year." Handles 500+ items.
150
- - MCP interface stays stable across all three stages — personas don't change when the backing store upgrades.
151
- - Killer use case: context-aware review that brings organizational memory (incidents, ADRs, patterns) to every PR.
152
- - Most orgs stay at Stage 1 forever. Stage 2 is the sweet spot for mature orgs. Stage 3 is for compliance-heavy industries.
153
-
154
- ### Test Plan
155
-
156
- `docs/test-plan.md` — 6-layer test pyramid:
157
- - **Unit/Schema** (free, every commit): config validation, frontmatter, trait composition, lint rules
158
- - **Integration** (free, every commit): full build pipeline, plugin export, sync, uninstall
159
- - **Behavioral** (~$5/PR): `claude -p` with known-buggy code, assert on findings patterns, 2-of-3 flake tolerance
160
- - **Snapshot/Regression** (~$5, persona changes): compare output across versions, detect regressions
161
- - **LLM-as-Judge** (~$20, major changes): Opus evaluates persona quality on 5 dimensions
162
- - **Human Review** (monthly): `agentboot review` with guided questions on curated samples, 15min/persona
163
- - Agents test agents, but humans always decide. Automation removes burden, not judgment.
164
- - Mutation testing validates that tests catch the regressions they should.
165
- - Monthly automated testing budget: ~$165 for 4 personas (less than 1 hour of manual review)
166
-
167
- ### Developer Onboarding
168
-
169
- `docs/developer-onboarding.md` — lightweight agentic training assist (not an LMS):
170
- - First-session welcome (~80 tokens in CLAUDE.md — try these personas now)
171
- - `/learn` skill — contextual help ("how do I review one file?", "what do severity levels mean?")
172
- - Curated external resource links (Anthropic docs, community guides) — AgentBoot curates, doesn't build content
173
- - Contextual tips in persona output (first-invocation hints, vague-prompt nudges, rate-limited, disable-able)
174
- - Generated onboarding checklist from org's actual config
175
- - Org-authored tips (`onboarding/` dir in personas repo — institutional knowledge transfer)
176
-
177
- ### Marketplace & Community Sharing
178
-
179
- `docs/marketplace.md` — three-layer marketplace (Core → Verified → Community):
180
- - Traits are the most shareable unit (context-free behavioral blocks)
181
- - Gotchas rules are technology-specific, not org-specific (universally useful)
182
- - Domain layers package traits + personas + gotchas for compliance regimes (healthcare, fintech, govtech)
183
- - SuperClaude partnership: shared trait format standard + cross-listing in marketplaces
184
- - Contribution model with review process for Verified tier
185
- - CC plugin packaging: each domain/category = one installable plugin
186
- - Monetization paths documented for V2+ (premium domains, managed marketplace, consulting, certification)
187
-
188
- ### Third-Party Ecosystem
189
-
190
- `docs/third-party-ecosystem.md` — 5 key tools analyzed (SuperClaude, ArcKit, spec-kit, Trail of Bits config + skills):
191
- - AgentBoot is the governance/distribution layer, not competing with content tools
192
- - All ideas developed independently; 3P tools are prior art (parallel evolution, not derivation)
193
- - Marketplace curation (point to upstream) is the recommended partnership model over bundling
194
- - Apache 2.0 license for core; domain layers carry their own licenses
195
- - ACKNOWLEDGMENTS.md with prior art / complementary / integrated / includes categories
196
- - CC-BY-SA-4.0 (ToB skills) requires ShareAlike — cannot be relicensed as MIT
197
-
198
- ### CI/CD & Automation
199
-
200
- `docs/ci-cd-automation.md` covers 5 CI methods:
201
- - `claude -p --agent --output-format json` is the primary CI interface (cost-bounded, schema-enforced)
202
- - Hook scripts for deterministic compliance gates (free, <1s, no LLM)
203
- - `agentboot validate/build/sync` for the personas repo pipeline
204
- - MCP server for non-CC CI environments
205
- - Reusable GitHub Actions workflow for lowest-friction integration
206
-
207
- ### Claude Code Reference
208
-
209
- `docs/claude-code-reference/` is the living knowledge base of every CC feature:
210
- - `feature-inventory.md` — exhaustive reference (35 tools, 25 hook events, all settings, all frontmatter fields)
211
- - `agentboot-coverage.md` — gap analysis with 24 prioritized action items
212
-
213
- ### Planning Documents
214
-
215
- `docs/plans/` contains the formal planning docs synthesized from all design work:
216
- - `prd.md` (2,090 lines) — problem, users, vision, 52 feature requirements across 9 subsystems, 8 non-goals, success metrics, 32 open questions, 40+ term glossary
217
- - `architecture.md` (2,658 lines) — system context, 8 component diagrams, data schemas, scope merge semantics, build pipeline, distribution, security, cross-platform, 15 architectural decisions (AD-01–AD-15), 20 open questions
218
- - `technical-spec.md` (2,943 lines) — all 21 CLI commands specified, build system algorithms, persona.config.json schema (newly designed), 15 lint rules, canonical test YAML format, telemetry schema, MCP tools, plugin packaging, 20 open questions
219
- - `design.md` (2,213 lines) — UX per user segment, privacy deep dive (13 subsections), marketplace/community, prompt lifecycle, onboarding flows, uninstall, brand, licensing, 31 open questions
220
-
221
- Total: ~9,900 lines of planning documentation with ~103 open questions to resolve.
222
-
223
- ## Known Gaps
224
-
225
- - No cursor or gemini output formats (Phase 2)
226
- - Trait weight system (HIGH/MEDIUM/LOW) not yet implemented — traits are included or not (Phase 2)
227
- - No runtime config schema validation (zod planned but not wired in) (Phase 2)
228
- - Extension path `./personas` in config warns but doesn't block
229
- - `repos.json` is empty — production sync path untested in real workflow (uses dev-sync for dogfooding)
230
- - This repo is the build tool, not a personas hub — orgs create a separate `personas` repo that uses AgentBoot as the build tool
package/CONTRIBUTING.md DELETED
@@ -1,168 +0,0 @@
1
- # Contributing to AgentBoot
2
-
3
- AgentBoot is a community project. This document explains what we are building together,
4
- what belongs in the core versus a domain layer, and the quality bar for contributions.
5
-
6
- ---
7
-
8
- ## What is in scope
9
-
10
- ### New core personas
11
- A persona belongs in core if it addresses a universal development concern — something
12
- any engineering team in any industry would benefit from. Good examples: an architecture
13
- reviewer, a documentation reviewer, a dependency audit persona.
14
-
15
- A persona does NOT belong in core if it assumes specific frameworks, compliance regimes,
16
- business domains, or organizational structures. Those belong in a domain layer.
17
-
18
- ### New core traits
19
- Traits are behavioral building blocks. A trait belongs in core if it describes a
20
- reusable cognitive stance or output discipline that is domain-agnostic — the way
21
- `critical-thinking` or `structured-output` are. If the trait only makes sense in the
22
- context of a specific domain, it belongs in a domain layer instead.
23
-
24
- ### Domain templates
25
- New domain templates under `domains/` are welcome. A domain template shows teams in
26
- a specific vertical (healthcare, fintech, defense, government) how to build a compliance
27
- layer on top of AgentBoot core without modifying core itself. Domain templates must
28
- be generic enough that any team in that vertical can use them as a starting point.
29
- They must not include real regulatory text, proprietary content, or org-specific rules.
30
-
31
- ### Bug fixes
32
- Any defect in a persona, trait, instruction fragment, build script, sync script, or
33
- CI configuration is in scope.
34
-
35
- ### Documentation
36
- Improvements to any file under `docs/`, the main `README.md`, or inline documentation
37
- inside trait and persona files are always welcome.
38
-
39
- ---
40
-
41
- ## What is NOT in scope
42
-
43
- - **Org-specific personas.** A persona built for one company's engineering standards is
44
- not useful to anyone else. Fork the repo or use the `extend` field in
45
- `agentboot.config.json` to keep it private.
46
- - **Proprietary domain content.** Do not contribute traits or personas that contain
47
- internal compliance rules, internal coding standards, or references to non-public
48
- specifications.
49
- - **Opinions about coding styles.** AgentBoot ships agnostic on tabs vs. spaces,
50
- semicolons, naming conventions, etc. Personas that enforce any particular style
51
- convention belong in org forks, not in core.
52
- - **Tool-specific integrations that are not widely applicable.** An integration with
53
- a niche internal tool is not core material.
54
-
55
- ---
56
-
57
- ## How to propose a new persona
58
-
59
- **Issue first, then PR.** Do not open a PR for a new persona without a corresponding
60
- issue that has been acknowledged by a maintainer.
61
-
62
- 1. Open an issue using the [Persona Request](.github/ISSUE_TEMPLATE/persona-request.md)
63
- template.
64
- 2. Describe the use case clearly. What problem does this persona solve? What does a
65
- team look like before and after deploying it?
66
- 3. List the traits it would compose. If it requires a new trait, say so and explain why
67
- existing traits are insufficient.
68
- 4. Provide an example invocation — a realistic prompt a developer would give it and
69
- the output they would expect.
70
- 5. Explain why this belongs in core rather than a domain extension (see scope rules above).
71
- 6. Wait for maintainer acknowledgment before writing code. This prevents wasted effort
72
- on proposals that don't fit the project direction.
73
-
74
- ---
75
-
76
- ## Trait design principles
77
-
78
- Traits are the foundation of AgentBoot's composability. Bad traits make the whole system
79
- worse. Good traits follow these principles:
80
-
81
- **Generic, not specific.** A trait describes a cognitive stance or output discipline, not
82
- a checklist of domain rules. `critical-thinking` is a stance. "Check that HIPAA audit
83
- logs are present" is a domain rule and belongs in a domain layer.
84
-
85
- **Composable, not monolithic.** A trait does one thing. If you are writing a trait that
86
- covers two unrelated concerns, split it. Traits that try to do everything end up doing
87
- nothing well.
88
-
89
- **No domain assumptions.** A trait must not assume any particular framework, language,
90
- industry, compliance regime, or organizational structure. If your trait works for a
91
- Spring Boot API team but not for a React frontend team, it is not a core trait.
92
-
93
- **Configurable where it matters.** Look at `critical-thinking` as the model: the trait
94
- defines the behavior at each weight level, and the persona that composes it sets the
95
- weight. Traits that have meaningful axes of variation should expose them in frontmatter
96
- rather than hardcoding a single behavior.
97
-
98
- **Negative space matters.** Every trait must include a "what not to do" section. Personas
99
- that lack this section tend to produce output that is exhaustive but not useful.
100
-
101
- ---
102
-
103
- ## Persona quality bar
104
-
105
- A persona is not ready to merge until it meets all of these requirements.
106
-
107
- **Frontmatter.** Every persona file must include a YAML frontmatter block with:
108
- - `id`: the slash-command identifier (e.g., `review-code`)
109
- - `name`: human-readable display name
110
- - `version`: semantic version starting at `1.0.0`
111
- - `traits`: list of trait IDs with weights where applicable
112
- - `scope`: one of `file`, `pr`, `repo`, `session`
113
- - `output_format`: one of `structured`, `prose`, or `mixed`
114
-
115
- **System prompt.** The persona must have a clear, complete system prompt that defines
116
- its role, its operating assumptions, and its mandate. The system prompt should not be
117
- a list of rules — it should read like a job description.
118
-
119
- **Output format specification.** The persona must specify exactly what its output looks
120
- like. If the output is structured, show the schema. If it is prose, describe the
121
- sections. Ambiguous output specs lead to inconsistent persona behavior across models.
122
-
123
- **What-not-to-do section.** Every persona must have a section describing anti-patterns —
124
- things the persona must not do, tempting behaviors that would make it less useful, and
125
- scope boundaries it must not cross.
126
-
127
- **Example.** Every new persona must include at least one worked example: a realistic
128
- input and the expected output. This is the primary way reviewers verify that the persona
129
- does what it claims.
130
-
131
- ---
132
-
133
- ## Contributor License Agreement
134
-
135
- First-time contributors must sign our CLA. When you open your first pull request,
136
- the CLA bot will post a comment with instructions. This is a one-time process that
137
- takes about 30 seconds — you sign by posting a comment on the PR.
138
-
139
- The CLA grants the project maintainers the right to relicense your contributions if
140
- needed for the long-term sustainability of the project. Your contributions remain
141
- attributed to you. The full agreement is in [`CLA.md`](CLA.md).
142
-
143
- ---
144
-
145
- ## PR checklist
146
-
147
- Before opening a PR, verify:
148
-
149
- - [ ] `npm run validate` passes with no errors
150
- - [ ] `npm run build` passes with no errors
151
- - [ ] `PERSONAS.md` is updated if you added or changed a persona
152
- - [ ] `README.md` is updated if the change affects the project overview
153
- - [ ] An example is included if you added a new persona
154
- - [ ] The trait design principles are satisfied if you added a new trait
155
- - [ ] The persona quality bar is met if you added a new persona
156
- - [ ] The issue number is referenced in the PR description
157
-
158
- ---
159
-
160
- ## Code of conduct
161
-
162
- AgentBoot follows the [Contributor Covenant](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)
163
- version 2.1. By contributing, you agree to uphold these standards. Report violations
164
- to the project maintainers.
165
-
166
- ---
167
-
168
- *Thank you for making AgentBoot better.*
package/PERSONAS.md DELETED
@@ -1,156 +0,0 @@
1
- # AgentBoot Persona Registry
2
-
3
- This file is the authoritative registry of all personas shipped with AgentBoot core.
4
- It is generated automatically by `npm run build` — do not edit it manually.
5
- If this file is out of date, run `npm run build` and commit the result.
6
-
7
- ---
8
-
9
- ## V1 Personas
10
-
11
- | Persona | ID | Invocation | Scope | Traits Composed | IDE Available |
12
- |---|---|---|---|---|---|
13
- | Code Reviewer | `code-reviewer` | `/review-code` | PR / file | critical-thinking (MEDIUM), structured-output, source-citation, confidence-signaling | Yes |
14
- | Security Reviewer | `security-reviewer` | `/review-security` | PR / file | critical-thinking (HIGH), structured-output, source-citation, confidence-signaling, audit-trail | Yes |
15
- | Test Generator | `test-generator` | `/gen-tests` | file | schema-awareness, structured-output, source-citation | Yes |
16
- | Test Data Expert | `test-data-expert` | `/gen-testdata` | session | schema-awareness, structured-output | Yes |
17
-
18
- ### Code Reviewer
19
-
20
- Performs code review against your team's standards. Produces severity-tiered findings
21
- (CRITICAL / WARN / INFO) with source citations. Uses `critical-thinking: MEDIUM` —
22
- flags clear defects and significant design concerns without opining on style preferences.
23
-
24
- **Typical invocation:**
25
- ```
26
- /review-code
27
- ```
28
- or on a specific file:
29
- ```
30
- /review-code src/services/payment-service.ts
31
- ```
32
-
33
- **Output format:** Structured findings list. Each finding includes: severity, location
34
- (file + line), description, citation, and recommendation.
35
-
36
- ---
37
-
38
- ### Security Reviewer
39
-
40
- Security-focused code review. Uses `critical-thinking: HIGH` — treats absence of
41
- evidence as a gap, surfaces worst-case scenarios first, never softens findings to
42
- avoid friction. Covers: authentication, authorization, input validation, cryptographic
43
- usage, secret handling, injection risks, and dependency vulnerabilities.
44
-
45
- **Typical invocation:**
46
- ```
47
- /review-security
48
- ```
49
- or targeted:
50
- ```
51
- /review-security src/auth/
52
- ```
53
-
54
- **Output format:** Structured findings list. Security findings include an additional
55
- `cvss_estimate` field (LOW / MEDIUM / HIGH / CRITICAL) and an `exploitability` note.
56
-
57
- ---
58
-
59
- ### Test Generator
60
-
61
- Generates unit and integration tests from function signatures, class definitions, or
62
- module exports. Produces tests in the testing framework already used in the repo
63
- (detected from `package.json` devDependencies and existing test files). Covers: happy
64
- path, boundary conditions, error cases, and null/undefined handling.
65
-
66
- **Typical invocation:**
67
- ```
68
- /gen-tests src/services/user-service.ts
69
- ```
70
-
71
- **Output format:** Ready-to-run test file(s) following the repo's existing test
72
- conventions. Includes a brief explanation of what each test covers and why.
73
-
74
- ---
75
-
76
- ### Test Data Expert
77
-
78
- Generates realistic, schema-consistent synthetic test data. Reads the data model from
79
- TypeScript types, Zod schemas, or database schema files and produces data that is
80
- structurally valid, type-correct, and diverse enough to exercise edge cases.
81
-
82
- **Typical invocation:**
83
- ```
84
- /gen-testdata src/domains/user/user.types.ts
85
- ```
86
-
87
- **Output format:** TypeScript constant declarations, JSON fixtures, or SQL INSERT
88
- statements (detected from context). Each output includes a comment explaining any
89
- domain assumptions made.
90
-
91
- ---
92
-
93
- ## IDE Availability
94
-
95
- All V1 personas are available via Claude Code slash commands (the primary interface).
96
- All personas that produce structured output also work in editor integrated mode —
97
- when invoked from within an open file, they automatically scope to the visible file
98
- context.
99
-
100
- For GitHub Copilot and Cursor compatibility, see the note about agentskills.io in
101
- [`README.md`](README.md). Personas compiled from AgentBoot follow the SKILL.md standard
102
- and work in any agentskills.io-compatible tool.
103
-
104
- ---
105
-
106
- ## V1 Core Traits
107
-
108
- | Trait | ID | Configurable | Used By |
109
- |---|---|---|---|
110
- | Critical Thinking | `critical-thinking` | Yes (HIGH/MEDIUM/LOW) | code-reviewer, security-reviewer |
111
- | Structured Output | `structured-output` | No | all V1 personas |
112
- | Source Citation | `source-citation` | No | code-reviewer, security-reviewer, test-generator |
113
- | Confidence Signaling | `confidence-signaling` | No | code-reviewer, security-reviewer |
114
- | Audit Trail | `audit-trail` | No | security-reviewer |
115
- | Schema Awareness | `schema-awareness` | No | test-generator, test-data-expert |
116
-
117
- ---
118
-
119
- ## Personas in the growth pipeline
120
-
121
- The following personas are under consideration for V2. None are committed or scheduled.
122
- If you want to work on one, open an issue using the
123
- [Persona Request](.github/ISSUE_TEMPLATE/persona-request.md) template.
124
-
125
- - **Architecture Reviewer** — Reviews structural decisions, dependency direction, and
126
- bounded context violations. Candidate scope: PR / ADR file.
127
- - **Documentation Reviewer** — Checks that public APIs, complex functions, and
128
- architectural decisions are documented adequately. Candidate scope: PR / file.
129
- - **Dependency Auditor** — Audits `package.json` / `pom.xml` / `go.mod` for outdated,
130
- vulnerable, or license-incompatible dependencies. Candidate scope: session.
131
- - **Incident Analyst** — Given a log dump or error trace, identifies root cause, blast
132
- radius, and remediation path. Candidate scope: session.
133
- - **Database Reviewer** — Reviews schema migrations for safety, reversibility, and
134
- performance risks. Candidate scope: PR / migration file.
135
-
136
- ---
137
-
138
- ## How to contribute a persona
139
-
140
- 1. Read [`docs/concepts.md`](docs/concepts.md) to understand what a persona is and how
141
- it composes traits.
142
- 2. Read [`CONTRIBUTING.md`](CONTRIBUTING.md) for the quality bar and the issue-first policy.
143
- 3. Open a [Persona Request](.github/ISSUE_TEMPLATE/persona-request.md) issue.
144
- 4. Wait for maintainer acknowledgment before writing code.
145
-
146
- The quality bar for a merged persona:
147
- - Complete SKILL.md frontmatter (id, name, version, traits, scope, output_format)
148
- - Clear system prompt that reads like a job description
149
- - Explicit output format specification
150
- - What-not-to-do section
151
- - At least one worked example
152
-
153
- ---
154
-
155
- *Generated by AgentBoot build. Do not edit manually.*
156
- *Last updated: 2026-03-17*