beth-copilot 1.0.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 +224 -0
- package/bin/cli.js +223 -0
- package/package.json +36 -0
- package/templates/.github/agents/beth.agent.md +279 -0
- package/templates/.github/agents/developer.agent.md +493 -0
- package/templates/.github/agents/frontend-engineer.agent.md +556 -0
- package/templates/.github/agents/product-manager.agent.md +253 -0
- package/templates/.github/agents/researcher.agent.md +319 -0
- package/templates/.github/agents/security-reviewer.agent.md +452 -0
- package/templates/.github/agents/tester.agent.md +477 -0
- package/templates/.github/agents/ux-designer.agent.md +374 -0
- package/templates/.github/copilot-instructions.md +191 -0
- package/templates/.github/skills/framer-components/SKILL.md +564 -0
- package/templates/.github/skills/prd/SKILL.md +244 -0
- package/templates/.github/skills/security-analysis/SKILL.md +799 -0
- package/templates/.github/skills/shadcn-ui/SKILL.md +562 -0
- package/templates/.github/skills/vercel-react-best-practices/AGENTS.md +2516 -0
- package/templates/.github/skills/vercel-react-best-practices/SKILL.md +125 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/advanced-use-latest.md +49 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/async-dependencies.md +36 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +57 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/templates/.github/skills/web-design-guidelines/SKILL.md +39 -0
- package/templates/AGENTS.md +70 -0
- package/templates/Backlog.md +80 -0
- package/templates/mcp.json.example +9 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Minimize Serialization at RSC Boundaries
|
|
3
|
+
impact: HIGH
|
|
4
|
+
impactDescription: reduces data transfer size
|
|
5
|
+
tags: server, rsc, serialization, props
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Minimize Serialization at RSC Boundaries
|
|
9
|
+
|
|
10
|
+
The React Server/Client boundary serializes all object properties into strings and embeds them in the HTML response and subsequent RSC requests. This serialized data directly impacts page weight and load time, so **size matters a lot**. Only pass fields that the client actually uses.
|
|
11
|
+
|
|
12
|
+
**Incorrect (serializes all 50 fields):**
|
|
13
|
+
|
|
14
|
+
```tsx
|
|
15
|
+
async function Page() {
|
|
16
|
+
const user = await fetchUser() // 50 fields
|
|
17
|
+
return <Profile user={user} />
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
'use client'
|
|
21
|
+
function Profile({ user }: { user: User }) {
|
|
22
|
+
return <div>{user.name}</div> // uses 1 field
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Correct (serializes only 1 field):**
|
|
27
|
+
|
|
28
|
+
```tsx
|
|
29
|
+
async function Page() {
|
|
30
|
+
const user = await fetchUser()
|
|
31
|
+
return <Profile name={user.name} />
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
'use client'
|
|
35
|
+
function Profile({ name }: { name: string }) {
|
|
36
|
+
return <div>{name}</div>
|
|
37
|
+
}
|
|
38
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-design-guidelines
|
|
3
|
+
description: Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
|
|
4
|
+
metadata:
|
|
5
|
+
author: vercel
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
argument-hint: <file-or-pattern>
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Web Interface Guidelines
|
|
11
|
+
|
|
12
|
+
Review files for compliance with Web Interface Guidelines.
|
|
13
|
+
|
|
14
|
+
## How It Works
|
|
15
|
+
|
|
16
|
+
1. Fetch the latest guidelines from the source URL below
|
|
17
|
+
2. Read the specified files (or prompt user for files/pattern)
|
|
18
|
+
3. Check against all rules in the fetched guidelines
|
|
19
|
+
4. Output findings in the terse `file:line` format
|
|
20
|
+
|
|
21
|
+
## Guidelines Source
|
|
22
|
+
|
|
23
|
+
Fetch fresh guidelines before each review:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
https://raw.githubusercontent.com/vercel-labs/web-interface-guidelines/main/command.md
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Use WebFetch to retrieve the latest rules. The fetched content contains all the rules and output format instructions.
|
|
30
|
+
|
|
31
|
+
## Usage
|
|
32
|
+
|
|
33
|
+
When a user provides a file or pattern argument:
|
|
34
|
+
1. Fetch guidelines from the source URL above
|
|
35
|
+
2. Read the specified files
|
|
36
|
+
3. Apply all rules from the fetched guidelines
|
|
37
|
+
4. Output findings using the format specified in the guidelines
|
|
38
|
+
|
|
39
|
+
If no files specified, ask the user which files to review.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Agent Instructions
|
|
2
|
+
|
|
3
|
+
This project uses [Backlog.md](https://github.com/MrLesk/Backlog.md) for issue tracking.
|
|
4
|
+
|
|
5
|
+
## Quick Setup
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Install (choose one)
|
|
9
|
+
bun i -g backlog.md
|
|
10
|
+
npm i -g backlog.md
|
|
11
|
+
brew install backlog-md
|
|
12
|
+
|
|
13
|
+
# Initialize in your project
|
|
14
|
+
backlog init "Project Name"
|
|
15
|
+
|
|
16
|
+
# Shell completion (optional)
|
|
17
|
+
backlog completion install
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Quick Reference
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Create a task
|
|
24
|
+
backlog task create "Task title" -d "Description"
|
|
25
|
+
|
|
26
|
+
# List tasks
|
|
27
|
+
backlog task list --plain
|
|
28
|
+
|
|
29
|
+
# View Kanban board (TUI)
|
|
30
|
+
backlog board
|
|
31
|
+
|
|
32
|
+
# Web UI
|
|
33
|
+
backlog browser
|
|
34
|
+
|
|
35
|
+
# Configure settings
|
|
36
|
+
backlog config
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Workflow
|
|
40
|
+
|
|
41
|
+
1. Check available work: `backlog task list`
|
|
42
|
+
2. Claim work: `backlog task edit <id> --status "In Progress"`
|
|
43
|
+
3. Do the work
|
|
44
|
+
4. Complete: `backlog task edit <id> --status "Done"`
|
|
45
|
+
5. Commit and push
|
|
46
|
+
|
|
47
|
+
## Landing the Plane (Session Completion)
|
|
48
|
+
|
|
49
|
+
**When ending a work session**, you MUST complete ALL steps below. Work is NOT complete until `git push` succeeds.
|
|
50
|
+
|
|
51
|
+
**MANDATORY WORKFLOW:**
|
|
52
|
+
|
|
53
|
+
1. **Update Backlog.md** - Move completed tasks, add new items for follow-up work
|
|
54
|
+
2. **Run quality gates** (if code changed) - Tests, linters, builds
|
|
55
|
+
3. **PUSH TO REMOTE** - This is MANDATORY:
|
|
56
|
+
```bash
|
|
57
|
+
git add -A
|
|
58
|
+
git commit -m "description of work"
|
|
59
|
+
git pull --rebase
|
|
60
|
+
git push
|
|
61
|
+
git status # MUST show "up to date with origin"
|
|
62
|
+
```
|
|
63
|
+
4. **Verify** - All changes committed AND pushed
|
|
64
|
+
5. **Hand off** - Provide context for next session
|
|
65
|
+
|
|
66
|
+
**CRITICAL RULES:**
|
|
67
|
+
- Work is NOT complete until `git push` succeeds
|
|
68
|
+
- NEVER stop before pushing - that leaves work stranded locally
|
|
69
|
+
- NEVER say "ready to push when you are" - YOU must push
|
|
70
|
+
- If push fails, resolve and retry until it succeeds
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Backlog
|
|
2
|
+
|
|
3
|
+
> *"I don't have time to explain things twice. Read this."*
|
|
4
|
+
|
|
5
|
+
Last updated: <!-- Update this date when making changes -->
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Completed
|
|
10
|
+
|
|
11
|
+
| Task | Notes |
|
|
12
|
+
|------|-------|
|
|
13
|
+
| Initial setup | Beth agent system installed |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## In Progress
|
|
18
|
+
|
|
19
|
+
*Nothing currently in progress.*
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Backlog (Prioritized)
|
|
24
|
+
|
|
25
|
+
### High Priority (P1)
|
|
26
|
+
|
|
27
|
+
- [ ] **Your first task** — Describe what needs to be done
|
|
28
|
+
|
|
29
|
+
### Medium Priority (P2)
|
|
30
|
+
|
|
31
|
+
- [ ] **Future work** — Things to do later
|
|
32
|
+
|
|
33
|
+
### Low Priority (P3)
|
|
34
|
+
|
|
35
|
+
- [ ] **Nice to have** — When you have time
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Decisions
|
|
40
|
+
|
|
41
|
+
| Decision | Rationale | Date |
|
|
42
|
+
|----------|-----------|------|
|
|
43
|
+
| Use Beth orchestrator | Coordinated multi-agent workflows | Today |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Status Summary
|
|
48
|
+
|
|
49
|
+
**For Leadership:**
|
|
50
|
+
|
|
51
|
+
Project initialized with Beth agent system.
|
|
52
|
+
|
|
53
|
+
**What's Working:**
|
|
54
|
+
|
|
55
|
+
- Beth agent (orchestrator) — Ready
|
|
56
|
+
- Full agent roster — Ready
|
|
57
|
+
- All skills — Loaded
|
|
58
|
+
|
|
59
|
+
**What's Coming:**
|
|
60
|
+
|
|
61
|
+
- Your roadmap here
|
|
62
|
+
|
|
63
|
+
**Blockers:** None.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## How We Track Work
|
|
68
|
+
|
|
69
|
+
This file is the single source of truth. When you start work:
|
|
70
|
+
|
|
71
|
+
1. Move the task to **In Progress**
|
|
72
|
+
2. Do the work
|
|
73
|
+
3. Move to **Completed** when done
|
|
74
|
+
4. Commit changes
|
|
75
|
+
|
|
76
|
+
No external tools. No databases. Just this markdown file.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
*"Now you know what's happening. Questions? I'll answer them. Complaints? Keep them to yourself."*
|