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.
- package/README.md +9 -8
- package/agentboot.config.json +4 -1
- package/package.json +2 -2
- package/scripts/cli.ts +465 -18
- package/scripts/compile.ts +724 -75
- package/scripts/dev-sync.ts +1 -1
- package/scripts/lib/config.ts +259 -1
- package/scripts/lib/frontmatter.ts +3 -1
- package/scripts/validate.ts +12 -7
- package/website/docusaurus.config.ts +117 -0
- package/website/package-lock.json +18448 -0
- package/website/package.json +47 -0
- package/website/sidebars.ts +53 -0
- package/website/src/css/custom.css +23 -0
- package/website/src/pages/index.module.css +23 -0
- package/website/src/pages/index.tsx +125 -0
- package/website/static/.nojekyll +0 -0
- package/website/static/CNAME +1 -0
- package/website/static/img/favicon.ico +0 -0
- package/website/static/img/logo.svg +1 -0
- package/.github/ISSUE_TEMPLATE/persona-request.md +0 -62
- package/.github/ISSUE_TEMPLATE/quality-feedback.md +0 -67
- package/.github/workflows/cla.yml +0 -25
- package/.github/workflows/validate.yml +0 -49
- package/.idea/agentboot.iml +0 -9
- package/.idea/misc.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/CLAUDE.md +0 -230
- package/CONTRIBUTING.md +0 -168
- package/PERSONAS.md +0 -156
- package/core/instructions/baseline.instructions.md +0 -133
- package/core/instructions/security.instructions.md +0 -186
- package/core/personas/code-reviewer/SKILL.md +0 -175
- package/core/personas/security-reviewer/SKILL.md +0 -233
- package/core/personas/test-data-expert/SKILL.md +0 -234
- package/core/personas/test-generator/SKILL.md +0 -262
- package/core/traits/audit-trail.md +0 -182
- package/core/traits/confidence-signaling.md +0 -172
- package/core/traits/critical-thinking.md +0 -129
- package/core/traits/schema-awareness.md +0 -132
- package/core/traits/source-citation.md +0 -174
- package/core/traits/structured-output.md +0 -199
- package/docs/ci-cd-automation.md +0 -548
- package/docs/claude-code-reference/README.md +0 -21
- package/docs/claude-code-reference/agentboot-coverage.md +0 -484
- package/docs/claude-code-reference/feature-inventory.md +0 -906
- package/docs/cli-commands-audit.md +0 -112
- package/docs/cli-design.md +0 -924
- package/docs/concepts.md +0 -1117
- package/docs/config-schema-audit.md +0 -121
- package/docs/configuration.md +0 -645
- package/docs/delivery-methods.md +0 -758
- package/docs/developer-onboarding.md +0 -342
- package/docs/extending.md +0 -448
- package/docs/getting-started.md +0 -298
- package/docs/knowledge-layer.md +0 -464
- package/docs/marketplace.md +0 -822
- package/docs/org-connection.md +0 -570
- package/docs/plans/architecture.md +0 -2429
- package/docs/plans/design.md +0 -2018
- package/docs/plans/prd.md +0 -1862
- package/docs/plans/stack-rank.md +0 -261
- package/docs/plans/technical-spec.md +0 -2755
- package/docs/privacy-and-safety.md +0 -807
- package/docs/prompt-optimization.md +0 -1071
- package/docs/test-plan.md +0 -972
- package/docs/third-party-ecosystem.md +0 -496
- package/domains/compliance-template/README.md +0 -173
- package/domains/compliance-template/traits/compliance-aware.md +0 -228
- package/examples/enterprise/agentboot.config.json +0 -184
- package/examples/minimal/agentboot.config.json +0 -46
- package/tests/REGRESSION-PLAN.md +0 -705
- package/tests/TEST-PLAN.md +0 -111
- package/tests/cli.test.ts +0 -705
- package/tests/pipeline.test.ts +0 -608
- package/tests/validate.test.ts +0 -278
- package/tsconfig.json +0 -62
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "website",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"docusaurus": "docusaurus",
|
|
7
|
+
"start": "docusaurus start",
|
|
8
|
+
"build": "docusaurus build",
|
|
9
|
+
"swizzle": "docusaurus swizzle",
|
|
10
|
+
"deploy": "docusaurus deploy",
|
|
11
|
+
"clear": "docusaurus clear",
|
|
12
|
+
"serve": "docusaurus serve",
|
|
13
|
+
"write-translations": "docusaurus write-translations",
|
|
14
|
+
"write-heading-ids": "docusaurus write-heading-ids",
|
|
15
|
+
"typecheck": "tsc"
|
|
16
|
+
},
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@docusaurus/core": "3.9.2",
|
|
19
|
+
"@docusaurus/preset-classic": "3.9.2",
|
|
20
|
+
"@mdx-js/react": "^3.0.0",
|
|
21
|
+
"clsx": "^2.0.0",
|
|
22
|
+
"prism-react-renderer": "^2.3.0",
|
|
23
|
+
"react": "^19.0.0",
|
|
24
|
+
"react-dom": "^19.0.0"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@docusaurus/module-type-aliases": "3.9.2",
|
|
28
|
+
"@docusaurus/tsconfig": "3.9.2",
|
|
29
|
+
"@docusaurus/types": "3.9.2",
|
|
30
|
+
"typescript": "~5.6.2"
|
|
31
|
+
},
|
|
32
|
+
"browserslist": {
|
|
33
|
+
"production": [
|
|
34
|
+
">0.5%",
|
|
35
|
+
"not dead",
|
|
36
|
+
"not op_mini all"
|
|
37
|
+
],
|
|
38
|
+
"development": [
|
|
39
|
+
"last 3 chrome version",
|
|
40
|
+
"last 3 firefox version",
|
|
41
|
+
"last 5 safari version"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=20.0"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
|
|
2
|
+
|
|
3
|
+
const sidebars: SidebarsConfig = {
|
|
4
|
+
docsSidebar: [
|
|
5
|
+
{
|
|
6
|
+
type: 'category',
|
|
7
|
+
label: 'Getting Started',
|
|
8
|
+
collapsed: false,
|
|
9
|
+
items: [
|
|
10
|
+
'getting-started',
|
|
11
|
+
'concepts',
|
|
12
|
+
'configuration',
|
|
13
|
+
],
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
type: 'category',
|
|
17
|
+
label: 'Guides',
|
|
18
|
+
items: [
|
|
19
|
+
'extending',
|
|
20
|
+
'cli-reference',
|
|
21
|
+
'prompt-guide',
|
|
22
|
+
'model-selection',
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
type: 'category',
|
|
27
|
+
label: 'For Organizations',
|
|
28
|
+
items: [
|
|
29
|
+
'delivery-methods',
|
|
30
|
+
'org-connection',
|
|
31
|
+
'privacy',
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
type: 'category',
|
|
36
|
+
label: 'Community',
|
|
37
|
+
items: [
|
|
38
|
+
'marketplace',
|
|
39
|
+
'roadmap',
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
type: 'category',
|
|
44
|
+
label: 'Reference',
|
|
45
|
+
items: [
|
|
46
|
+
'glossary',
|
|
47
|
+
'troubleshooting',
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export default sidebars;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--ifm-color-primary: #2563eb;
|
|
3
|
+
--ifm-color-primary-dark: #1d4ed8;
|
|
4
|
+
--ifm-color-primary-darker: #1e40af;
|
|
5
|
+
--ifm-color-primary-darkest: #1e3a8a;
|
|
6
|
+
--ifm-color-primary-light: #3b82f6;
|
|
7
|
+
--ifm-color-primary-lighter: #60a5fa;
|
|
8
|
+
--ifm-color-primary-lightest: #93c5fd;
|
|
9
|
+
--ifm-font-family-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
|
|
10
|
+
--ifm-code-font-size: 95%;
|
|
11
|
+
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
[data-theme='dark'] {
|
|
15
|
+
--ifm-color-primary: #3b82f6;
|
|
16
|
+
--ifm-color-primary-dark: #2563eb;
|
|
17
|
+
--ifm-color-primary-darker: #1d4ed8;
|
|
18
|
+
--ifm-color-primary-darkest: #1e40af;
|
|
19
|
+
--ifm-color-primary-light: #60a5fa;
|
|
20
|
+
--ifm-color-primary-lighter: #93c5fd;
|
|
21
|
+
--ifm-color-primary-lightest: #bfdbfe;
|
|
22
|
+
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSS files with the .module.css suffix will be treated as CSS modules
|
|
3
|
+
* and scoped locally.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
.heroBanner {
|
|
7
|
+
padding: 4rem 0;
|
|
8
|
+
text-align: center;
|
|
9
|
+
position: relative;
|
|
10
|
+
overflow: hidden;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@media screen and (max-width: 996px) {
|
|
14
|
+
.heroBanner {
|
|
15
|
+
padding: 2rem;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.buttons {
|
|
20
|
+
display: flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
justify-content: center;
|
|
23
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Link from '@docusaurus/Link';
|
|
3
|
+
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
4
|
+
import Layout from '@theme/Layout';
|
|
5
|
+
|
|
6
|
+
function Hero() {
|
|
7
|
+
const {siteConfig} = useDocusaurusContext();
|
|
8
|
+
return (
|
|
9
|
+
<header style={{
|
|
10
|
+
padding: '4rem 2rem',
|
|
11
|
+
textAlign: 'center',
|
|
12
|
+
background: 'var(--ifm-background-surface-color)',
|
|
13
|
+
}}>
|
|
14
|
+
<h1 style={{fontSize: '3rem', marginBottom: '1rem'}}>
|
|
15
|
+
{siteConfig.title}
|
|
16
|
+
</h1>
|
|
17
|
+
<p style={{fontSize: '1.4rem', color: 'var(--ifm-color-emphasis-700)', maxWidth: '640px', margin: '0 auto 2rem'}}>
|
|
18
|
+
{siteConfig.tagline}
|
|
19
|
+
</p>
|
|
20
|
+
<div style={{display: 'flex', gap: '1rem', justifyContent: 'center', flexWrap: 'wrap'}}>
|
|
21
|
+
<Link
|
|
22
|
+
className="button button--primary button--lg"
|
|
23
|
+
to="/docs/getting-started">
|
|
24
|
+
Get Started
|
|
25
|
+
</Link>
|
|
26
|
+
<Link
|
|
27
|
+
className="button button--secondary button--lg"
|
|
28
|
+
to="/docs/concepts">
|
|
29
|
+
Core Concepts
|
|
30
|
+
</Link>
|
|
31
|
+
<Link
|
|
32
|
+
className="button button--outline button--lg"
|
|
33
|
+
href="https://github.com/agentboot-dev/agentboot">
|
|
34
|
+
GitHub
|
|
35
|
+
</Link>
|
|
36
|
+
</div>
|
|
37
|
+
</header>
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function Feature({title, description}: {title: string; description: string}) {
|
|
42
|
+
return (
|
|
43
|
+
<div style={{flex: '1 1 280px', padding: '1.5rem'}}>
|
|
44
|
+
<h3>{title}</h3>
|
|
45
|
+
<p style={{color: 'var(--ifm-color-emphasis-700)'}}>{description}</p>
|
|
46
|
+
</div>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function Features() {
|
|
51
|
+
return (
|
|
52
|
+
<section style={{padding: '3rem 2rem', maxWidth: '960px', margin: '0 auto'}}>
|
|
53
|
+
<div style={{display: 'flex', flexWrap: 'wrap', gap: '1rem'}}>
|
|
54
|
+
<Feature
|
|
55
|
+
title="Build Once, Deploy Everywhere"
|
|
56
|
+
description="Compile AI agent personas from traits, instructions, and gotchas. Distribute to every repo in your org via a single build step."
|
|
57
|
+
/>
|
|
58
|
+
<Feature
|
|
59
|
+
title="Multi-Platform Output"
|
|
60
|
+
description="Generate native output for Claude Code (.claude/), GitHub Copilot (.github/), and agentskills.io format. One source, all platforms."
|
|
61
|
+
/>
|
|
62
|
+
<Feature
|
|
63
|
+
title="Governance Without Friction"
|
|
64
|
+
description="Scope hierarchy (org > group > team > repo) lets you enforce compliance centrally while teams customize locally."
|
|
65
|
+
/>
|
|
66
|
+
</div>
|
|
67
|
+
<div style={{display: 'flex', flexWrap: 'wrap', gap: '1rem', marginTop: '1rem'}}>
|
|
68
|
+
<Feature
|
|
69
|
+
title="Privacy by Design"
|
|
70
|
+
description="Three-tier privacy model. Raw prompts never leave the developer's machine. Telemetry is anonymized and opt-in."
|
|
71
|
+
/>
|
|
72
|
+
<Feature
|
|
73
|
+
title="Plugin Distribution"
|
|
74
|
+
description="Export personas as Claude Code plugins. Publish to private or public marketplaces. Install with one command."
|
|
75
|
+
/>
|
|
76
|
+
<Feature
|
|
77
|
+
title="Convention Over Configuration"
|
|
78
|
+
description="Sensible defaults for everything. Edit one config file. The Spring Boot of AI agent governance."
|
|
79
|
+
/>
|
|
80
|
+
</div>
|
|
81
|
+
</section>
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function QuickStart() {
|
|
86
|
+
return (
|
|
87
|
+
<section style={{
|
|
88
|
+
padding: '3rem 2rem',
|
|
89
|
+
background: 'var(--ifm-background-surface-color)',
|
|
90
|
+
borderTop: '1px solid var(--ifm-color-emphasis-200)',
|
|
91
|
+
}}>
|
|
92
|
+
<div style={{maxWidth: '640px', margin: '0 auto'}}>
|
|
93
|
+
<h2 style={{textAlign: 'center', marginBottom: '1.5rem'}}>Quick Start</h2>
|
|
94
|
+
<pre style={{
|
|
95
|
+
padding: '1.5rem',
|
|
96
|
+
borderRadius: '8px',
|
|
97
|
+
fontSize: '0.95rem',
|
|
98
|
+
lineHeight: '1.6',
|
|
99
|
+
}}>
|
|
100
|
+
{`npx agentboot setup # scaffold config
|
|
101
|
+
agentboot build # compile personas
|
|
102
|
+
agentboot sync # distribute to repos`}
|
|
103
|
+
</pre>
|
|
104
|
+
<p style={{textAlign: 'center', marginTop: '1.5rem'}}>
|
|
105
|
+
<Link to="/docs/getting-started">
|
|
106
|
+
Full getting started guide →
|
|
107
|
+
</Link>
|
|
108
|
+
</p>
|
|
109
|
+
</div>
|
|
110
|
+
</section>
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export default function Home(): React.JSX.Element {
|
|
115
|
+
const {siteConfig} = useDocusaurusContext();
|
|
116
|
+
return (
|
|
117
|
+
<Layout
|
|
118
|
+
title={siteConfig.title}
|
|
119
|
+
description={siteConfig.tagline}>
|
|
120
|
+
<Hero />
|
|
121
|
+
<Features />
|
|
122
|
+
<QuickStart />
|
|
123
|
+
</Layout>
|
|
124
|
+
);
|
|
125
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
agentboot.dev
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="200" height="200" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M99 52h84v34H99z"/><path d="M23 163c-7.398 0-13.843-4.027-17.303-10A19.886 19.886 0 0 0 3 163c0 11.046 8.954 20 20 20h20v-20H23z" fill="#3ECC5F"/><path d="M112.98 57.376L183 53V43c0-11.046-8.954-20-20-20H73l-2.5-4.33c-1.112-1.925-3.889-1.925-5 0L63 23l-2.5-4.33c-1.111-1.925-3.889-1.925-5 0L53 23l-2.5-4.33c-1.111-1.925-3.889-1.925-5 0L43 23c-.022 0-.042.003-.065.003l-4.142-4.141c-1.57-1.571-4.252-.853-4.828 1.294l-1.369 5.104-5.192-1.392c-2.148-.575-4.111 1.389-3.535 3.536l1.39 5.193-5.102 1.367c-2.148.576-2.867 3.259-1.296 4.83l4.142 4.142c0 .021-.003.042-.003.064l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 53l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 63l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 73l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 83l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 93l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 103l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 113l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 123l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 133l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 143l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 153l-4.33 2.5c-1.925 1.111-1.925 3.889 0 5L23 163c0 11.046 8.954 20 20 20h120c11.046 0 20-8.954 20-20V83l-70.02-4.376A10.645 10.645 0 0 1 103 68c0-5.621 4.37-10.273 9.98-10.624" fill="#3ECC5F"/><path fill="#3ECC5F" d="M143 183h30v-40h-30z"/><path d="M193 158c-.219 0-.428.037-.639.064-.038-.15-.074-.301-.116-.451A5 5 0 0 0 190.32 148a4.96 4.96 0 0 0-3.016 1.036 26.531 26.531 0 0 0-.335-.336 4.955 4.955 0 0 0 1.011-2.987 5 5 0 0 0-9.599-1.959c-.148-.042-.297-.077-.445-.115.027-.211.064-.42.064-.639a5 5 0 0 0-5-5 5 5 0 0 0-5 5c0 .219.037.428.064.639-.148.038-.297.073-.445.115a4.998 4.998 0 0 0-9.599 1.959c0 1.125.384 2.151 1.011 2.987-3.717 3.632-6.031 8.693-6.031 14.3 0 11.046 8.954 20 20 20 9.339 0 17.16-6.41 19.361-15.064.211.027.42.064.639.064a5 5 0 0 0 5-5 5 5 0 0 0-5-5" fill="#44D860"/><path fill="#3ECC5F" d="M153 123h30v-20h-30z"/><path d="M193 115.5a2.5 2.5 0 1 0 0-5c-.109 0-.214.019-.319.032-.02-.075-.037-.15-.058-.225a2.501 2.501 0 0 0-.963-4.807c-.569 0-1.088.197-1.508.518a6.653 6.653 0 0 0-.168-.168c.314-.417.506-.931.506-1.494a2.5 2.5 0 0 0-4.8-.979A9.987 9.987 0 0 0 183 103c-5.522 0-10 4.478-10 10s4.478 10 10 10c.934 0 1.833-.138 2.69-.377a2.5 2.5 0 0 0 4.8-.979c0-.563-.192-1.077-.506-1.494.057-.055.113-.111.168-.168.42.321.939.518 1.508.518a2.5 2.5 0 0 0 .963-4.807c.021-.074.038-.15.058-.225.105.013.21.032.319.032" fill="#44D860"/><path d="M63 55.5a2.5 2.5 0 0 1-2.5-2.5c0-4.136-3.364-7.5-7.5-7.5s-7.5 3.364-7.5 7.5a2.5 2.5 0 1 1-5 0c0-6.893 5.607-12.5 12.5-12.5S65.5 46.107 65.5 53a2.5 2.5 0 0 1-2.5 2.5" fill="#000"/><path d="M103 183h60c11.046 0 20-8.954 20-20V93h-60c-11.046 0-20 8.954-20 20v70z" fill="#FFFF50"/><path d="M168.02 124h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0 20h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0 20h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0-49.814h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0 19.814h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2m0 20h-50.04a1 1 0 1 1 0-2h50.04a1 1 0 1 1 0 2M183 61.611c-.012 0-.022-.006-.034-.005-3.09.105-4.552 3.196-5.842 5.923-1.346 2.85-2.387 4.703-4.093 4.647-1.889-.068-2.969-2.202-4.113-4.46-1.314-2.594-2.814-5.536-5.963-5.426-3.046.104-4.513 2.794-5.807 5.167-1.377 2.528-2.314 4.065-4.121 3.994-1.927-.07-2.951-1.805-4.136-3.813-1.321-2.236-2.848-4.75-5.936-4.664-2.994.103-4.465 2.385-5.763 4.4-1.373 2.13-2.335 3.428-4.165 3.351-1.973-.07-2.992-1.51-4.171-3.177-1.324-1.873-2.816-3.993-5.895-3.89-2.928.1-4.399 1.97-5.696 3.618-1.232 1.564-2.194 2.802-4.229 2.724a1 1 0 0 0-.072 2c3.017.101 4.545-1.8 5.872-3.487 1.177-1.496 2.193-2.787 4.193-2.855 1.926-.082 2.829 1.115 4.195 3.045 1.297 1.834 2.769 3.914 5.731 4.021 3.103.104 4.596-2.215 5.918-4.267 1.182-1.834 2.202-3.417 4.15-3.484 1.793-.067 2.769 1.35 4.145 3.681 1.297 2.197 2.766 4.686 5.787 4.796 3.125.108 4.634-2.62 5.949-5.035 1.139-2.088 2.214-4.06 4.119-4.126 1.793-.042 2.728 1.595 4.111 4.33 1.292 2.553 2.757 5.445 5.825 5.556l.169.003c3.064 0 4.518-3.075 5.805-5.794 1.139-2.41 2.217-4.68 4.067-4.773v-2z" fill="#000"/><path fill="#3ECC5F" d="M83 183h40v-40H83z"/><path d="M143 158c-.219 0-.428.037-.639.064-.038-.15-.074-.301-.116-.451A5 5 0 0 0 140.32 148a4.96 4.96 0 0 0-3.016 1.036 26.531 26.531 0 0 0-.335-.336 4.955 4.955 0 0 0 1.011-2.987 5 5 0 0 0-9.599-1.959c-.148-.042-.297-.077-.445-.115.027-.211.064-.42.064-.639a5 5 0 0 0-5-5 5 5 0 0 0-5 5c0 .219.037.428.064.639-.148.038-.297.073-.445.115a4.998 4.998 0 0 0-9.599 1.959c0 1.125.384 2.151 1.011 2.987-3.717 3.632-6.031 8.693-6.031 14.3 0 11.046 8.954 20 20 20 9.339 0 17.16-6.41 19.361-15.064.211.027.42.064.639.064a5 5 0 0 0 5-5 5 5 0 0 0-5-5" fill="#44D860"/><path fill="#3ECC5F" d="M83 123h40v-20H83z"/><path d="M133 115.5a2.5 2.5 0 1 0 0-5c-.109 0-.214.019-.319.032-.02-.075-.037-.15-.058-.225a2.501 2.501 0 0 0-.963-4.807c-.569 0-1.088.197-1.508.518a6.653 6.653 0 0 0-.168-.168c.314-.417.506-.931.506-1.494a2.5 2.5 0 0 0-4.8-.979A9.987 9.987 0 0 0 123 103c-5.522 0-10 4.478-10 10s4.478 10 10 10c.934 0 1.833-.138 2.69-.377a2.5 2.5 0 0 0 4.8-.979c0-.563-.192-1.077-.506-1.494.057-.055.113-.111.168-.168.42.321.939.518 1.508.518a2.5 2.5 0 0 0 .963-4.807c.021-.074.038-.15.058-.225.105.013.21.032.319.032" fill="#44D860"/><path d="M143 41.75c-.16 0-.33-.02-.49-.05a2.52 2.52 0 0 1-.47-.14c-.15-.06-.29-.14-.431-.23-.13-.09-.259-.2-.38-.31-.109-.12-.219-.24-.309-.38s-.17-.28-.231-.43a2.619 2.619 0 0 1-.189-.96c0-.16.02-.33.05-.49.03-.16.08-.31.139-.47.061-.15.141-.29.231-.43.09-.13.2-.26.309-.38.121-.11.25-.22.38-.31.141-.09.281-.17.431-.23.149-.06.31-.11.47-.14.32-.07.65-.07.98 0 .159.03.32.08.47.14.149.06.29.14.43.23.13.09.259.2.38.31.11.12.22.25.31.38.09.14.17.28.23.43.06.16.11.31.14.47.029.16.05.33.05.49 0 .66-.271 1.31-.73 1.77-.121.11-.25.22-.38.31-.14.09-.281.17-.43.23a2.565 2.565 0 0 1-.96.19m20-1.25c-.66 0-1.3-.27-1.771-.73a3.802 3.802 0 0 1-.309-.38c-.09-.14-.17-.28-.231-.43a2.619 2.619 0 0 1-.189-.96c0-.66.27-1.3.729-1.77.121-.11.25-.22.38-.31.141-.09.281-.17.431-.23.149-.06.31-.11.47-.14.32-.07.66-.07.98 0 .159.03.32.08.47.14.149.06.29.14.43.23.13.09.259.2.38.31.459.47.73 1.11.73 1.77 0 .16-.021.33-.05.49-.03.16-.08.32-.14.47-.07.15-.14.29-.23.43-.09.13-.2.26-.31.38-.121.11-.25.22-.38.31-.14.09-.281.17-.43.23a2.565 2.565 0 0 1-.96.19" fill="#000"/></g></svg>
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Persona request
|
|
3
|
-
about: Propose a new persona for AgentBoot core
|
|
4
|
-
title: "persona: [name here]"
|
|
5
|
-
labels: persona-request
|
|
6
|
-
assignees: ""
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Persona name
|
|
10
|
-
|
|
11
|
-
<!-- What would you call this persona? This becomes the display name in PERSONAS.md. -->
|
|
12
|
-
|
|
13
|
-
## Invocation
|
|
14
|
-
|
|
15
|
-
<!-- What slash command would invoke it? e.g., /review-architecture, /audit-deps -->
|
|
16
|
-
|
|
17
|
-
## Use case
|
|
18
|
-
|
|
19
|
-
<!-- What problem does this persona solve? Describe the situation: what does a developer
|
|
20
|
-
want to do, what is painful about doing it today, and how does this persona make
|
|
21
|
-
it better? Be concrete. -->
|
|
22
|
-
|
|
23
|
-
## What traits would it compose?
|
|
24
|
-
|
|
25
|
-
<!-- List the core traits this persona would use, with weights where applicable.
|
|
26
|
-
Example:
|
|
27
|
-
- critical-thinking: HIGH
|
|
28
|
-
- structured-output: true
|
|
29
|
-
- source-citation: true
|
|
30
|
-
|
|
31
|
-
If this persona requires a new trait that does not exist yet, explain what that
|
|
32
|
-
trait would do and why existing traits are insufficient. -->
|
|
33
|
-
|
|
34
|
-
## Example invocation
|
|
35
|
-
|
|
36
|
-
<!-- Show a realistic prompt a developer would give this persona and describe
|
|
37
|
-
the output they would expect. This is the primary way maintainers evaluate
|
|
38
|
-
whether the persona is scoped correctly and fills a real gap. -->
|
|
39
|
-
|
|
40
|
-
**Input:**
|
|
41
|
-
```
|
|
42
|
-
[paste a realistic prompt here]
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**Expected output structure:**
|
|
46
|
-
```
|
|
47
|
-
[describe or sketch the expected output here]
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Why core, not a domain extension?
|
|
51
|
-
|
|
52
|
-
<!-- AgentBoot core contains only generic, domain-agnostic personas that are useful
|
|
53
|
-
to any engineering team regardless of industry. Explain why this persona fits
|
|
54
|
-
that bar.
|
|
55
|
-
|
|
56
|
-
If it is specific to a compliance regime, a framework, an industry, or an internal
|
|
57
|
-
standard, it should be a domain extension instead. See docs/extending.md. -->
|
|
58
|
-
|
|
59
|
-
## Additional context
|
|
60
|
-
|
|
61
|
-
<!-- Anything else that would help maintainers evaluate this proposal. Links to
|
|
62
|
-
prior art, related issues, examples from other tools, etc. -->
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Quality feedback
|
|
3
|
-
about: Report bad or unexpected output from a persona
|
|
4
|
-
title: "quality: [persona-id] [brief description]"
|
|
5
|
-
labels: quality-feedback
|
|
6
|
-
assignees: ""
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Persona name
|
|
10
|
-
|
|
11
|
-
<!-- Which persona produced the bad output? e.g., code-reviewer, security-reviewer -->
|
|
12
|
-
|
|
13
|
-
## What you asked it to do
|
|
14
|
-
|
|
15
|
-
<!-- Describe what you asked the persona to do. Include the exact prompt or command
|
|
16
|
-
if you can. If the input is large, include the most relevant portion. -->
|
|
17
|
-
|
|
18
|
-
**Prompt / invocation:**
|
|
19
|
-
```
|
|
20
|
-
[paste your prompt here]
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Input (if relevant):**
|
|
24
|
-
```
|
|
25
|
-
[paste the code, file, or context you gave it, or a representative excerpt]
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## What it actually did
|
|
29
|
-
|
|
30
|
-
<!-- Describe what the persona produced. If the output was long, include the most
|
|
31
|
-
relevant portion — the finding that was wrong, the section that was missing,
|
|
32
|
-
the format that was broken, etc. -->
|
|
33
|
-
|
|
34
|
-
**Actual output:**
|
|
35
|
-
```
|
|
36
|
-
[paste the relevant portion of the output here]
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## What you expected
|
|
40
|
-
|
|
41
|
-
<!-- Describe what you expected it to do instead. Be specific. "Better output" is
|
|
42
|
-
not actionable. "The persona should have flagged the missing null check on line 14
|
|
43
|
-
but instead flagged a style preference" is actionable. -->
|
|
44
|
-
|
|
45
|
-
## Claude Code version
|
|
46
|
-
|
|
47
|
-
<!-- Run `claude --version` and paste the output here. -->
|
|
48
|
-
|
|
49
|
-
## Trait weight or config (if known)
|
|
50
|
-
|
|
51
|
-
<!-- If you know which trait weight was active for this persona (HIGH / MEDIUM / LOW),
|
|
52
|
-
include it here. If you modified any agentboot.config.json settings that might
|
|
53
|
-
be relevant, include those too. -->
|
|
54
|
-
|
|
55
|
-
## Is this a regression?
|
|
56
|
-
|
|
57
|
-
<!-- Did this persona work correctly before and then stop working? If so, when did you
|
|
58
|
-
last see it working correctly, and do you know of any changes (to Claude Code,
|
|
59
|
-
to AgentBoot, to the persona file) that happened around that time? -->
|
|
60
|
-
|
|
61
|
-
- [ ] Yes, this worked correctly before
|
|
62
|
-
- [ ] No, this is a first-time deployment and it has never worked correctly
|
|
63
|
-
- [ ] Unknown
|
|
64
|
-
|
|
65
|
-
## Additional context
|
|
66
|
-
|
|
67
|
-
<!-- Anything else that would help reproduce or understand the issue. -->
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
name: CLA Assistant
|
|
2
|
-
on:
|
|
3
|
-
issue_comment:
|
|
4
|
-
types: [created]
|
|
5
|
-
pull_request_target:
|
|
6
|
-
types: [opened, synchronize, reopened]
|
|
7
|
-
|
|
8
|
-
permissions:
|
|
9
|
-
actions: write
|
|
10
|
-
contents: write
|
|
11
|
-
pull-requests: write
|
|
12
|
-
statuses: write
|
|
13
|
-
|
|
14
|
-
jobs:
|
|
15
|
-
cla:
|
|
16
|
-
runs-on: ubuntu-latest
|
|
17
|
-
steps:
|
|
18
|
-
- uses: contributor-assistant/github-action@v2
|
|
19
|
-
env:
|
|
20
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
21
|
-
with:
|
|
22
|
-
path-to-signatures: "signatures/cla.json"
|
|
23
|
-
path-to-document: "https://github.com/agentboot-dev/agentboot/blob/main/CLA.md"
|
|
24
|
-
branch: "main"
|
|
25
|
-
allowlist: "saavyone,dependabot[bot]"
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
name: Validate
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
pull_request:
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
validate:
|
|
11
|
-
name: Validate and build
|
|
12
|
-
runs-on: ubuntu-latest
|
|
13
|
-
|
|
14
|
-
steps:
|
|
15
|
-
- name: Checkout
|
|
16
|
-
uses: actions/checkout@v4
|
|
17
|
-
|
|
18
|
-
- name: Set up Node.js
|
|
19
|
-
uses: actions/setup-node@v4
|
|
20
|
-
with:
|
|
21
|
-
node-version: "18"
|
|
22
|
-
cache: "npm"
|
|
23
|
-
|
|
24
|
-
- name: Install dependencies
|
|
25
|
-
run: npm install
|
|
26
|
-
|
|
27
|
-
- name: Validate personas and traits
|
|
28
|
-
run: npm run validate
|
|
29
|
-
# Exits 1 if any persona is missing required frontmatter fields,
|
|
30
|
-
# any trait referenced in a persona does not exist, or
|
|
31
|
-
# agentboot.config.json fails schema validation.
|
|
32
|
-
|
|
33
|
-
- name: Build
|
|
34
|
-
run: npm run build
|
|
35
|
-
# Resolves all trait compositions and produces compiled output in .build/.
|
|
36
|
-
# Fails if any persona cannot be compiled (missing trait, malformed SKILL.md, etc.).
|
|
37
|
-
|
|
38
|
-
- name: Check PERSONAS.md is up to date
|
|
39
|
-
run: |
|
|
40
|
-
# The build step regenerates PERSONAS.md from the compiled persona set.
|
|
41
|
-
# If the committed PERSONAS.md differs from the regenerated version,
|
|
42
|
-
# this step fails. Run `npm run build` locally and commit the updated
|
|
43
|
-
# PERSONAS.md to fix this check.
|
|
44
|
-
if ! git diff --exit-code PERSONAS.md; then
|
|
45
|
-
echo ""
|
|
46
|
-
echo "PERSONAS.md is out of date."
|
|
47
|
-
echo "Run 'npm run build' locally and commit the updated PERSONAS.md."
|
|
48
|
-
exit 1
|
|
49
|
-
fi
|
package/.idea/agentboot.iml
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<module type="JAVA_MODULE" version="4">
|
|
3
|
-
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
|
4
|
-
<exclude-output />
|
|
5
|
-
<content url="file://$MODULE_DIR$" />
|
|
6
|
-
<orderEntry type="inheritedJdk" />
|
|
7
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
|
8
|
-
</component>
|
|
9
|
-
</module>
|
package/.idea/misc.xml
DELETED
package/.idea/modules.xml
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="ProjectModuleManager">
|
|
4
|
-
<modules>
|
|
5
|
-
<module fileurl="file://$PROJECT_DIR$/.idea/agentboot.iml" filepath="$PROJECT_DIR$/.idea/agentboot.iml" />
|
|
6
|
-
</modules>
|
|
7
|
-
</component>
|
|
8
|
-
</project>
|