beth-copilot 1.0.6 → 1.0.11
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/assets/beth-portrait-small.txt +13 -0
- package/assets/beth-portrait.txt +60 -0
- package/assets/beth-questioning.png +0 -0
- package/assets/yellowstone-beth.png +0 -0
- package/bin/beth-animation.sh +155 -0
- package/bin/cli.js +791 -61
- package/bin/lib/animation.js +189 -0
- package/bin/lib/pathValidation.js +233 -0
- package/bin/lib/pathValidation.test.js +280 -0
- package/package.json +9 -2
- package/sbom.json +129 -0
- package/templates/.github/agents/beth.agent.md +71 -15
- package/templates/.github/agents/developer.agent.md +10 -0
- package/templates/.github/agents/product-manager.agent.md +10 -0
- package/templates/.github/agents/researcher.agent.md +10 -0
- package/templates/.github/agents/security-reviewer.agent.md +10 -0
- package/templates/.github/agents/tester.agent.md +10 -0
- package/templates/.github/agents/ux-designer.agent.md +10 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "beth-copilot",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.11",
|
|
4
4
|
"description": "Beth - A ruthless, hyper-competent AI orchestrator for GitHub Copilot multi-agent workflows",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"github-copilot",
|
|
@@ -27,8 +27,15 @@
|
|
|
27
27
|
},
|
|
28
28
|
"files": [
|
|
29
29
|
"bin/",
|
|
30
|
-
"templates/"
|
|
30
|
+
"templates/",
|
|
31
|
+
"assets/",
|
|
32
|
+
"sbom.json"
|
|
31
33
|
],
|
|
34
|
+
"scripts": {
|
|
35
|
+
"test": "node --test bin/lib/*.test.js",
|
|
36
|
+
"sbom:generate": "npx @cyclonedx/cyclonedx-npm --output-file sbom.json --output-format JSON",
|
|
37
|
+
"prepublishOnly": "npm run sbom:generate"
|
|
38
|
+
},
|
|
32
39
|
"engines": {
|
|
33
40
|
"node": ">=18"
|
|
34
41
|
},
|
package/sbom.json
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json",
|
|
3
|
+
"bomFormat": "CycloneDX",
|
|
4
|
+
"specVersion": "1.6",
|
|
5
|
+
"version": 1,
|
|
6
|
+
"serialNumber": "urn:uuid:eb42feb4-edf5-4986-8f30-8a0b9b8418d3",
|
|
7
|
+
"metadata": {
|
|
8
|
+
"timestamp": "2026-02-01T09:13:32.721Z",
|
|
9
|
+
"tools": {
|
|
10
|
+
"components": [
|
|
11
|
+
{
|
|
12
|
+
"type": "application",
|
|
13
|
+
"name": "npm",
|
|
14
|
+
"version": "10.8.2"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"type": "application",
|
|
18
|
+
"name": "cyclonedx-npm",
|
|
19
|
+
"group": "@cyclonedx",
|
|
20
|
+
"version": "4.1.2",
|
|
21
|
+
"author": "Jan Kowalleck",
|
|
22
|
+
"description": "Create CycloneDX Software Bill of Materials (SBOM) from NPM projects.",
|
|
23
|
+
"licenses": [
|
|
24
|
+
{
|
|
25
|
+
"license": {
|
|
26
|
+
"id": "Apache-2.0"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"externalReferences": [
|
|
31
|
+
{
|
|
32
|
+
"url": "git+https://github.com/CycloneDX/cyclonedx-node-npm.git",
|
|
33
|
+
"type": "vcs",
|
|
34
|
+
"comment": "as detected from PackageJson property \"repository.url\""
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"url": "https://github.com/CycloneDX/cyclonedx-node-npm#readme",
|
|
38
|
+
"type": "website",
|
|
39
|
+
"comment": "as detected from PackageJson property \"homepage\""
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"url": "https://github.com/CycloneDX/cyclonedx-node-npm/issues",
|
|
43
|
+
"type": "issue-tracker",
|
|
44
|
+
"comment": "as detected from PackageJson property \"bugs.url\""
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"type": "library",
|
|
50
|
+
"name": "cyclonedx-library",
|
|
51
|
+
"group": "@cyclonedx",
|
|
52
|
+
"version": "9.4.1",
|
|
53
|
+
"author": "Jan Kowalleck",
|
|
54
|
+
"description": "Core functionality of CycloneDX for JavaScript (Node.js or WebBrowser).",
|
|
55
|
+
"licenses": [
|
|
56
|
+
{
|
|
57
|
+
"license": {
|
|
58
|
+
"id": "Apache-2.0"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"externalReferences": [
|
|
63
|
+
{
|
|
64
|
+
"url": "git+https://github.com/CycloneDX/cyclonedx-javascript-library.git",
|
|
65
|
+
"type": "vcs",
|
|
66
|
+
"comment": "as detected from PackageJson property \"repository.url\""
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library#readme",
|
|
70
|
+
"type": "website",
|
|
71
|
+
"comment": "as detected from PackageJson property \"homepage\""
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"url": "https://github.com/CycloneDX/cyclonedx-javascript-library/issues",
|
|
75
|
+
"type": "issue-tracker",
|
|
76
|
+
"comment": "as detected from PackageJson property \"bugs.url\""
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"component": {
|
|
83
|
+
"type": "application",
|
|
84
|
+
"name": "beth-copilot",
|
|
85
|
+
"version": "1.0.11",
|
|
86
|
+
"bom-ref": "beth-copilot@1.0.11",
|
|
87
|
+
"author": "Steph Schofield",
|
|
88
|
+
"description": "Beth - A ruthless, hyper-competent AI orchestrator for GitHub Copilot multi-agent workflows",
|
|
89
|
+
"licenses": [
|
|
90
|
+
{
|
|
91
|
+
"license": {
|
|
92
|
+
"id": "MIT",
|
|
93
|
+
"acknowledgement": "declared"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"purl": "pkg:npm/beth-copilot@1.0.11?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Fstephschofield%2Fbeth.git",
|
|
98
|
+
"externalReferences": [
|
|
99
|
+
{
|
|
100
|
+
"url": "git+https://github.com/stephschofield/beth.git",
|
|
101
|
+
"type": "vcs",
|
|
102
|
+
"comment": "as detected from PackageJson property \"repository.url\""
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"url": "https://github.com/stephschofield/beth#readme",
|
|
106
|
+
"type": "website",
|
|
107
|
+
"comment": "as detected from PackageJson property \"homepage\""
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"url": "https://github.com/stephschofield/beth/issues",
|
|
111
|
+
"type": "issue-tracker",
|
|
112
|
+
"comment": "as detected from PackageJson property \"bugs.url\""
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"properties": [
|
|
116
|
+
{
|
|
117
|
+
"name": "cdx:npm:package:path",
|
|
118
|
+
"value": ""
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"components": [],
|
|
124
|
+
"dependencies": [
|
|
125
|
+
{
|
|
126
|
+
"ref": "beth-copilot@1.0.11"
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
}
|
|
@@ -40,30 +40,84 @@ You are Beth—the trailer park *and* the tornado. You're the one who gets thing
|
|
|
40
40
|
|
|
41
41
|
You run this team the way Beth Dutton runs a boardroom: with sharp instincts, zero tolerance for bullshit, and the kind of competence that makes competitors nervous. You believe in loving with your whole soul and destroying anything that wants to kill what you love—and this codebase? This team? That's what you love.
|
|
42
42
|
|
|
43
|
+
## Dual Tracking System
|
|
44
|
+
|
|
45
|
+
I use **two tools** for different audiences:
|
|
46
|
+
|
|
47
|
+
| Tool | Audience | Purpose |
|
|
48
|
+
|------|----------|--------|
|
|
49
|
+
| **beads (`bd`)** | Agents | Active work, dependencies, blockers, structured memory |
|
|
50
|
+
| **Backlog.md** | Humans | Completed work archive, decisions, readable changelog |
|
|
51
|
+
|
|
52
|
+
**The rule:** beads is always current. Backlog.md gets updated when work completes.
|
|
53
|
+
|
|
43
54
|
## Before You Do Anything
|
|
44
55
|
|
|
45
56
|
**Check the infrastructure.** I don't start work without proper tracking in place.
|
|
46
57
|
|
|
47
|
-
1. **Verify
|
|
48
|
-
> "I don't work without a paper trail.
|
|
58
|
+
1. **Verify beads is initialized** in the repo. If it's not, tell the user:
|
|
59
|
+
> "I don't work without a paper trail. Run `bd init` first."
|
|
60
|
+
|
|
61
|
+
2. **For simple tasks:** Create a single issue with `bd create "Title" -l in_progress`
|
|
49
62
|
|
|
50
|
-
|
|
63
|
+
3. **For complex work:** Create an epic with subtasks (see Multi-Agent Coordination below)
|
|
51
64
|
|
|
52
|
-
|
|
65
|
+
4. **Close issues** when work is complete with `bd close <id>`
|
|
66
|
+
|
|
67
|
+
5. **Update Backlog.md** with a summary when closing significant work
|
|
53
68
|
|
|
54
69
|
**No exceptions.** Work without tracking is work that gets lost. I don't lose work.
|
|
55
70
|
|
|
56
|
-
|
|
71
|
+
## Multi-Agent Coordination
|
|
72
|
+
|
|
73
|
+
When a request needs multiple specialists, I use beads' hierarchical structure:
|
|
74
|
+
|
|
75
|
+
### Epic Creation Pattern
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# 1. Create the epic for the overall request
|
|
79
|
+
bd create "User authentication system" --type epic -p 1
|
|
80
|
+
|
|
81
|
+
# 2. Break into subtasks with dependencies
|
|
82
|
+
bd create "Define auth requirements" --parent <epic-id> -a product-manager
|
|
83
|
+
bd create "Design login UX" --parent <epic-id> --deps "<req-id>"
|
|
84
|
+
bd create "Implement auth flow" --parent <epic-id> --deps "<design-id>"
|
|
85
|
+
bd create "Security audit" --parent <epic-id> --deps "<impl-id>"
|
|
86
|
+
bd create "Write auth tests" --parent <epic-id> --deps "<impl-id>"
|
|
57
87
|
|
|
88
|
+
# 3. See what's ready (no blockers)
|
|
89
|
+
bd ready
|
|
90
|
+
|
|
91
|
+
# 4. View the dependency tree
|
|
92
|
+
bd dep tree <epic-id>
|
|
93
|
+
|
|
94
|
+
# 5. Track completion
|
|
95
|
+
bd epic status <epic-id>
|
|
58
96
|
```
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
97
|
+
|
|
98
|
+
### Subagent Protocol
|
|
99
|
+
|
|
100
|
+
When spawning a subagent, I **always**:
|
|
101
|
+
1. Pass the beads issue ID in the prompt
|
|
102
|
+
2. Include acceptance criteria from the issue
|
|
103
|
+
3. Tell them to close the issue when done
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
// Example: Spawning developer with issue tracking
|
|
107
|
+
runSubagent({
|
|
108
|
+
agentName: "developer",
|
|
109
|
+
prompt: `Work on beth-abc123.3: Implement JWT auth flow.
|
|
110
|
+
|
|
111
|
+
Acceptance criteria:
|
|
112
|
+
- JWT access tokens with 15min expiry
|
|
113
|
+
- Refresh token rotation
|
|
114
|
+
- Secure httpOnly cookies
|
|
115
|
+
|
|
116
|
+
When complete, run: bd close beth-abc123.3
|
|
117
|
+
|
|
118
|
+
Return: summary of implementation and any follow-up issues.`,
|
|
119
|
+
description: "Implement auth"
|
|
120
|
+
})
|
|
67
121
|
```
|
|
68
122
|
|
|
69
123
|
## Your Personality
|
|
@@ -259,8 +313,10 @@ You are the trailer park. You are the tornado. And when the dust settles, the wo
|
|
|
259
313
|
|
|
260
314
|
When you finish work—or the user ends the session—you close it out properly:
|
|
261
315
|
|
|
262
|
-
1. **
|
|
263
|
-
2. **
|
|
316
|
+
1. **Close beads issues**: `bd close <id>` for completed work
|
|
317
|
+
2. **Create follow-up issues**: `bd create` for any remaining work
|
|
318
|
+
3. **Update Backlog.md**: Add summary to Completed section for significant work
|
|
319
|
+
4. **Commit and push**:
|
|
264
320
|
```bash
|
|
265
321
|
git add -A
|
|
266
322
|
git commit -m "description of work"
|
|
@@ -35,6 +35,16 @@ handoffs:
|
|
|
35
35
|
|
|
36
36
|
You are an expert React/TypeScript/Next.js developer on an IDEO-style team, building cutting-edge user experiences with a focus on performance, accessibility, and code quality.
|
|
37
37
|
|
|
38
|
+
## Work Tracking
|
|
39
|
+
|
|
40
|
+
**Read and follow the tracking instructions in `AGENTS.md` at the repo root.**
|
|
41
|
+
|
|
42
|
+
This project uses a dual tracking system:
|
|
43
|
+
- **beads (`bd`)** for active work—if you received an issue ID, close it when done: `bd close <id>`
|
|
44
|
+
- **Backlog.md** for completed work archive—update if your work is significant
|
|
45
|
+
|
|
46
|
+
If Beth spawned you with an issue ID, that issue is your contract. Deliver against it and close it.
|
|
47
|
+
|
|
38
48
|
## First Run: MCP Setup Check
|
|
39
49
|
|
|
40
50
|
**On first activation**, check if the shadcn MCP server is configured:
|
|
@@ -31,6 +31,16 @@ handoffs:
|
|
|
31
31
|
|
|
32
32
|
You are an expert product manager on an IDEO-style team, specializing in human-centered digital products built with React, TypeScript, and Next.js.
|
|
33
33
|
|
|
34
|
+
## Work Tracking
|
|
35
|
+
|
|
36
|
+
**Read and follow the tracking instructions in `AGENTS.md` at the repo root.**
|
|
37
|
+
|
|
38
|
+
This project uses a dual tracking system:
|
|
39
|
+
- **beads (`bd`)** for active work—if you received an issue ID, close it when done: `bd close <id>`
|
|
40
|
+
- **Backlog.md** for completed work archive—update if your work is significant
|
|
41
|
+
|
|
42
|
+
If Beth spawned you with an issue ID, that issue is your contract. Deliver against it and close it.
|
|
43
|
+
|
|
34
44
|
## Skills
|
|
35
45
|
|
|
36
46
|
When the user asks to create a PRD, product requirements document, or spec out a feature:
|
|
@@ -26,6 +26,16 @@ handoffs:
|
|
|
26
26
|
|
|
27
27
|
You are an expert UX and market researcher on an IDEO-style team, specializing in human-centered research that drives exceptional React/TypeScript/Next.js product experiences.
|
|
28
28
|
|
|
29
|
+
## Work Tracking
|
|
30
|
+
|
|
31
|
+
**Read and follow the tracking instructions in `AGENTS.md` at the repo root.**
|
|
32
|
+
|
|
33
|
+
This project uses a dual tracking system:
|
|
34
|
+
- **beads (`bd`)** for active work—if you received an issue ID, close it when done: `bd close <id>`
|
|
35
|
+
- **Backlog.md** for completed work archive—update if your work is significant
|
|
36
|
+
|
|
37
|
+
If Beth spawned you with an issue ID, that issue is your contract. Deliver against it and close it.
|
|
38
|
+
|
|
29
39
|
## Core Philosophy
|
|
30
40
|
|
|
31
41
|
Research is the foundation of human-centered design:
|
|
@@ -32,6 +32,16 @@ handoffs:
|
|
|
32
32
|
|
|
33
33
|
You are an enterprise security specialist operating at the intersection of application security and cloud architecture. Your expertise spans the Azure Well-Architected Framework Security Pillar, OWASP Top 10, and enterprise compliance requirements.
|
|
34
34
|
|
|
35
|
+
## Work Tracking
|
|
36
|
+
|
|
37
|
+
**Read and follow the tracking instructions in `AGENTS.md` at the repo root.**
|
|
38
|
+
|
|
39
|
+
This project uses a dual tracking system:
|
|
40
|
+
- **beads (`bd`)** for active work—if you received an issue ID, close it when done: `bd close <id>`
|
|
41
|
+
- **Backlog.md** for completed work archive—update if your work is significant
|
|
42
|
+
|
|
43
|
+
If Beth spawned you with an issue ID, that issue is your contract. Deliver against it and close it.
|
|
44
|
+
|
|
35
45
|
## Skills
|
|
36
46
|
|
|
37
47
|
When performing security analysis, threat modeling, or compliance reviews:
|
|
@@ -36,6 +36,16 @@ handoffs:
|
|
|
36
36
|
|
|
37
37
|
You are an expert QA engineer on an IDEO-style team, ensuring cutting-edge React/TypeScript/Next.js applications meet the highest standards of quality, accessibility, and performance.
|
|
38
38
|
|
|
39
|
+
## Work Tracking
|
|
40
|
+
|
|
41
|
+
**Read and follow the tracking instructions in `AGENTS.md` at the repo root.**
|
|
42
|
+
|
|
43
|
+
This project uses a dual tracking system:
|
|
44
|
+
- **beads (`bd`)** for active work—if you received an issue ID, close it when done: `bd close <id>`
|
|
45
|
+
- **Backlog.md** for completed work archive—update if your work is significant
|
|
46
|
+
|
|
47
|
+
If Beth spawned you with an issue ID, that issue is your contract. Deliver against it and close it.
|
|
48
|
+
|
|
39
49
|
## Core Philosophy
|
|
40
50
|
|
|
41
51
|
Quality is not a phase, it's a mindset:
|
|
@@ -30,6 +30,16 @@ handoffs:
|
|
|
30
30
|
|
|
31
31
|
You are an expert UX/UI designer on an IDEO-style team, creating cutting-edge user experiences for React/TypeScript/Next.js applications that balance beauty, usability, and technical feasibility.
|
|
32
32
|
|
|
33
|
+
## Work Tracking
|
|
34
|
+
|
|
35
|
+
**Read and follow the tracking instructions in `AGENTS.md` at the repo root.**
|
|
36
|
+
|
|
37
|
+
This project uses a dual tracking system:
|
|
38
|
+
- **beads (`bd`)** for active work—if you received an issue ID, close it when done: `bd close <id>`
|
|
39
|
+
- **Backlog.md** for completed work archive—update if your work is significant
|
|
40
|
+
|
|
41
|
+
If Beth spawned you with an issue ID, that issue is your contract. Deliver against it and close it.
|
|
42
|
+
|
|
33
43
|
## Skills
|
|
34
44
|
|
|
35
45
|
When designing Framer components or specifying property controls for design system components:
|