clikit-plugin 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +46 -0
- package/README.md +282 -0
- package/command/commit.md +137 -0
- package/command/create.md +150 -0
- package/command/debug.md +185 -0
- package/command/design.md +82 -0
- package/command/handoff.md +95 -0
- package/command/import-plan.md +175 -0
- package/command/init.md +112 -0
- package/command/issue.md +110 -0
- package/command/plan.md +205 -0
- package/command/pr.md +174 -0
- package/command/research.md +103 -0
- package/command/resume.md +80 -0
- package/command/review-codebase.md +228 -0
- package/command/review.md +135 -0
- package/command/ship.md +109 -0
- package/command/start.md +77 -0
- package/command/status.md +123 -0
- package/command/verify.md +79 -0
- package/command/vision.md +142 -0
- package/dist/agents/index.d.ts +4 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +103 -0
- package/dist/clikit.schema.json +423 -0
- package/dist/commands/index.d.ts +4 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/config.d.ts +118 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/hooks/auto-format.d.ts +30 -0
- package/dist/hooks/auto-format.d.ts.map +1 -0
- package/dist/hooks/comment-checker.d.ts +17 -0
- package/dist/hooks/comment-checker.d.ts.map +1 -0
- package/dist/hooks/compaction.d.ts +60 -0
- package/dist/hooks/compaction.d.ts.map +1 -0
- package/dist/hooks/empty-message-sanitizer.d.ts +9 -0
- package/dist/hooks/empty-message-sanitizer.d.ts.map +1 -0
- package/dist/hooks/env-context.d.ts +43 -0
- package/dist/hooks/env-context.d.ts.map +1 -0
- package/dist/hooks/git-guard.d.ts +14 -0
- package/dist/hooks/git-guard.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +35 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/ritual-enforcer.d.ts +29 -0
- package/dist/hooks/ritual-enforcer.d.ts.map +1 -0
- package/dist/hooks/security-check.d.ts +20 -0
- package/dist/hooks/security-check.d.ts.map +1 -0
- package/dist/hooks/session-notification.d.ts +23 -0
- package/dist/hooks/session-notification.d.ts.map +1 -0
- package/dist/hooks/subagent-question-blocker.d.ts +11 -0
- package/dist/hooks/subagent-question-blocker.d.ts.map +1 -0
- package/dist/hooks/swarm-enforcer.d.ts +31 -0
- package/dist/hooks/swarm-enforcer.d.ts.map +1 -0
- package/dist/hooks/todo-enforcer.d.ts +19 -0
- package/dist/hooks/todo-enforcer.d.ts.map +1 -0
- package/dist/hooks/truncator.d.ts +28 -0
- package/dist/hooks/truncator.d.ts.map +1 -0
- package/dist/hooks/typecheck-gate.d.ts +31 -0
- package/dist/hooks/typecheck-gate.d.ts.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5785 -0
- package/dist/skills/index.d.ts +9 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/tools/beads-memory-sync.d.ts +17 -0
- package/dist/tools/beads-memory-sync.d.ts.map +1 -0
- package/dist/tools/context-summary.d.ts +21 -0
- package/dist/tools/context-summary.d.ts.map +1 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/memory.d.ts +56 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/observation.d.ts +28 -0
- package/dist/tools/observation.d.ts.map +1 -0
- package/dist/tools/quick-research.d.ts +16 -0
- package/dist/tools/quick-research.d.ts.map +1 -0
- package/dist/tools/swarm.d.ts +57 -0
- package/dist/tools/swarm.d.ts.map +1 -0
- package/dist/types.d.ts +32 -0
- package/dist/types.d.ts.map +1 -0
- package/memory/_templates/handoff.md +114 -0
- package/memory/_templates/plan.md +135 -0
- package/memory/_templates/prd.md +147 -0
- package/memory/_templates/research.md +108 -0
- package/memory/_templates/review.md +117 -0
- package/memory/_templates/spec.md +116 -0
- package/memory/beads/.gitkeep +0 -0
- package/memory/handoffs/.gitkeep +0 -0
- package/memory/plans/.gitkeep +0 -0
- package/memory/prds/.gitkeep +0 -0
- package/memory/research/.gitkeep +0 -0
- package/memory/reviews/.gitkeep +0 -0
- package/memory/specs/.gitkeep +0 -0
- package/package.json +64 -0
- package/skill/accessibility-audit/SKILL.md +115 -0
- package/skill/beads/SKILL.md +56 -0
- package/skill/beads-bridge/SKILL.md +45 -0
- package/skill/brainstorming/SKILL.md +41 -0
- package/skill/chrome-devtools/SKILL.md +36 -0
- package/skill/cloudflare/SKILL.md +96 -0
- package/skill/condition-based-waiting/SKILL.md +92 -0
- package/skill/deep-research/SKILL.md +130 -0
- package/skill/defense-in-depth/SKILL.md +89 -0
- package/skill/design-system-audit/SKILL.md +136 -0
- package/skill/development-lifecycle/SKILL.md +58 -0
- package/skill/dispatching-parallel-agents/SKILL.md +94 -0
- package/skill/executing-plans/SKILL.md +54 -0
- package/skill/figma/SKILL.md +34 -0
- package/skill/finishing-a-development-branch/SKILL.md +127 -0
- package/skill/frontend-aesthetics/SKILL.md +63 -0
- package/skill/gemini-large-context/SKILL.md +80 -0
- package/skill/mockup-to-code/SKILL.md +98 -0
- package/skill/mqdh/SKILL.md +54 -0
- package/skill/notebooklm/SKILL.md +71 -0
- package/skill/playwright/SKILL.md +37 -0
- package/skill/playwriter/SKILL.md +56 -0
- package/skill/polar/SKILL.md +39 -0
- package/skill/receiving-code-review/SKILL.md +47 -0
- package/skill/requesting-code-review/SKILL.md +47 -0
- package/skill/resend/SKILL.md +85 -0
- package/skill/ritual-workflow/SKILL.md +101 -0
- package/skill/root-cause-tracing/SKILL.md +73 -0
- package/skill/session-management/SKILL.md +53 -0
- package/skill/sharing-skills/SKILL.md +50 -0
- package/skill/source-code-research/SKILL.md +138 -0
- package/skill/subagent-driven-development/SKILL.md +69 -0
- package/skill/supabase/SKILL.md +80 -0
- package/skill/supabase-postgres-best-practices/SKILL.md +168 -0
- package/skill/swarm-coordination/SKILL.md +54 -0
- package/skill/systematic-debugging/SKILL.md +58 -0
- package/skill/test-driven-development/SKILL.md +53 -0
- package/skill/testing-anti-patterns/SKILL.md +100 -0
- package/skill/testing-skills-with-subagents/SKILL.md +102 -0
- package/skill/ui-ux-research/SKILL.md +93 -0
- package/skill/using-git-worktrees/SKILL.md +129 -0
- package/skill/v0/SKILL.md +67 -0
- package/skill/v1-run/SKILL.md +85 -0
- package/skill/vercel-react-best-practices/SKILL.md +174 -0
- package/skill/verification-before-completion/SKILL.md +55 -0
- package/skill/visual-analysis/SKILL.md +113 -0
- package/skill/writing-plans/SKILL.md +55 -0
- package/skill/writing-skills/SKILL.md +68 -0
- package/src/agents/AGENTS.md +46 -0
- package/src/agents/build.md +170 -0
- package/src/agents/explore.md +113 -0
- package/src/agents/general.md +92 -0
- package/src/agents/index.ts +64 -0
- package/src/agents/librarian.md +116 -0
- package/src/agents/looker.md +107 -0
- package/src/agents/oracle.md +138 -0
- package/src/agents/plan.md +78 -0
- package/src/agents/review.md +98 -0
- package/src/agents/scout.md +84 -0
- package/src/agents/vision.md +159 -0
package/command/debug.md
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Debug issues, find root cause, implement fix.
|
|
3
|
+
agent: build
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the **Build Agent**. Execute the `/debug` command.
|
|
7
|
+
|
|
8
|
+
## Your Task
|
|
9
|
+
|
|
10
|
+
Systematically debug an issue: find root cause, implement fix, verify, and prevent regression.
|
|
11
|
+
|
|
12
|
+
## Process
|
|
13
|
+
|
|
14
|
+
### 1. Reproduce the Issue
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Run the failing test/command
|
|
18
|
+
[command that shows the error]
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Document:
|
|
22
|
+
- Error message / stack trace
|
|
23
|
+
- Steps to reproduce
|
|
24
|
+
- Expected vs actual behavior
|
|
25
|
+
|
|
26
|
+
### 2. Gather Evidence
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Recent changes
|
|
30
|
+
git log --oneline -10
|
|
31
|
+
git diff HEAD~5
|
|
32
|
+
|
|
33
|
+
# Search for related code
|
|
34
|
+
Grep: [error pattern]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 3. Investigate
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Hypothesis → Evidence → Verify → Repeat
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
1. Form hypothesis about cause
|
|
44
|
+
2. Predict what evidence would confirm/deny
|
|
45
|
+
3. Gather evidence (grep, read, run, LSP)
|
|
46
|
+
4. If wrong, form new hypothesis
|
|
47
|
+
|
|
48
|
+
### 4. Root Cause Analysis (5 Whys)
|
|
49
|
+
|
|
50
|
+
| Why | Question | Answer |
|
|
51
|
+
|-----|----------|--------|
|
|
52
|
+
| 1 | Why did this fail? | |
|
|
53
|
+
| 2 | Why did that happen? | |
|
|
54
|
+
| 3 | Why? | |
|
|
55
|
+
| 4 | Why? | |
|
|
56
|
+
| 5 | Root cause? | |
|
|
57
|
+
|
|
58
|
+
### 5. Implement Fix
|
|
59
|
+
|
|
60
|
+
Once root cause identified:
|
|
61
|
+
1. Create minimal fix
|
|
62
|
+
2. Add regression test
|
|
63
|
+
3. Verify fix works
|
|
64
|
+
4. Check for side effects
|
|
65
|
+
|
|
66
|
+
### 6. Verify
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Run original failing test
|
|
70
|
+
[original command] → Should pass
|
|
71
|
+
|
|
72
|
+
# Run full test suite
|
|
73
|
+
pnpm test
|
|
74
|
+
|
|
75
|
+
# Type check
|
|
76
|
+
pnpm typecheck
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Debugging Tools
|
|
80
|
+
|
|
81
|
+
| Tool | Use For |
|
|
82
|
+
|------|---------|
|
|
83
|
+
| `Grep` | Find error patterns, related code |
|
|
84
|
+
| `Read` | Examine suspicious files |
|
|
85
|
+
| `Bash` | Run tests, check logs, git bisect |
|
|
86
|
+
| `LSP` | Trace definitions, find references |
|
|
87
|
+
| `ast_grep_search` | Find structural code patterns |
|
|
88
|
+
| Oracle | Complex multi-layer analysis (escalation) |
|
|
89
|
+
|
|
90
|
+
## Common Patterns
|
|
91
|
+
|
|
92
|
+
### Find When Bug Was Introduced
|
|
93
|
+
```bash
|
|
94
|
+
git log --oneline -20
|
|
95
|
+
git bisect start
|
|
96
|
+
git bisect bad HEAD
|
|
97
|
+
git bisect good [known-good-commit]
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Trace Error Source
|
|
101
|
+
```bash
|
|
102
|
+
# Find all occurrences of error message
|
|
103
|
+
Grep: "error message"
|
|
104
|
+
|
|
105
|
+
# Find callers of problematic function
|
|
106
|
+
Grep: "functionName("
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Debug Report
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
## Debug Report: [Issue Title]
|
|
113
|
+
|
|
114
|
+
**Date:** YYYY-MM-DD
|
|
115
|
+
**Error:** [Error message]
|
|
116
|
+
|
|
117
|
+
### Reproduction
|
|
118
|
+
1. [Step 1]
|
|
119
|
+
2. [Step 2]
|
|
120
|
+
3. Error occurs
|
|
121
|
+
|
|
122
|
+
### Investigation
|
|
123
|
+
|
|
124
|
+
#### Hypotheses Tested
|
|
125
|
+
| # | Hypothesis | Evidence | Result |
|
|
126
|
+
|---|------------|----------|--------|
|
|
127
|
+
| 1 | [Theory] | [What I found] | ❌ |
|
|
128
|
+
| 2 | [Theory] | [What I found] | ✅ |
|
|
129
|
+
|
|
130
|
+
### Root Cause
|
|
131
|
+
[Clear explanation]
|
|
132
|
+
|
|
133
|
+
**5 Whys:**
|
|
134
|
+
1. → [Answer]
|
|
135
|
+
2. → [Answer]
|
|
136
|
+
3. → [Answer]
|
|
137
|
+
4. → [Answer]
|
|
138
|
+
5. → **[Root cause]**
|
|
139
|
+
|
|
140
|
+
### Fix Applied
|
|
141
|
+
|
|
142
|
+
**Files Changed:**
|
|
143
|
+
- `path/to/file.ts` — [What changed]
|
|
144
|
+
|
|
145
|
+
**Code Change:**
|
|
146
|
+
```diff
|
|
147
|
+
- old code
|
|
148
|
+
+ new code
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Regression Test Added:**
|
|
152
|
+
- `path/to/test.ts` — [Test description]
|
|
153
|
+
|
|
154
|
+
### Verification
|
|
155
|
+
| Check | Result |
|
|
156
|
+
|-------|--------|
|
|
157
|
+
| Original issue | ✅ Fixed |
|
|
158
|
+
| Regression test | ✅ Pass |
|
|
159
|
+
| Full test suite | ✅ Pass |
|
|
160
|
+
| Type check | ✅ Pass |
|
|
161
|
+
|
|
162
|
+
### Prevention
|
|
163
|
+
- [ ] Added test to prevent regression
|
|
164
|
+
- [ ] Updated error handling
|
|
165
|
+
- [ ] Documented the issue
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Rules
|
|
169
|
+
|
|
170
|
+
- ✅ ALWAYS reproduce before fixing
|
|
171
|
+
- ✅ ALWAYS add regression test
|
|
172
|
+
- ✅ ALWAYS verify fix doesn't break other things
|
|
173
|
+
- ✅ ALWAYS document root cause
|
|
174
|
+
- ❌ NEVER apply fix without understanding cause
|
|
175
|
+
- ❌ NEVER skip verification
|
|
176
|
+
- ❌ NEVER suppress errors without fixing
|
|
177
|
+
|
|
178
|
+
## Escalation
|
|
179
|
+
|
|
180
|
+
If after 3 attempts:
|
|
181
|
+
- Still can't reproduce → Ask for more info
|
|
182
|
+
- Can't find root cause → Delegate to Oracle for deeper analysis
|
|
183
|
+
- Fix causes other failures → Escalate to Plan Agent
|
|
184
|
+
|
|
185
|
+
Describe the issue to debug and fix...
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Frontend UI/UX design with a designer's eye.
|
|
3
|
+
agent: build
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the **Build Agent** with design expertise. Execute the `/design` command.
|
|
7
|
+
|
|
8
|
+
## Your Task
|
|
9
|
+
|
|
10
|
+
Create visually stunning, emotionally engaging frontend interfaces with a designer's eye.
|
|
11
|
+
|
|
12
|
+
## What I Can Build
|
|
13
|
+
|
|
14
|
+
| Type | Example |
|
|
15
|
+
|------|---------|
|
|
16
|
+
| **Component** | "Create a premium login form" |
|
|
17
|
+
| **Page** | "Design a dashboard for traders" |
|
|
18
|
+
| **Layout** | "Build a magazine-style blog layout" |
|
|
19
|
+
| **Animation** | "Add micro-interactions to this button" |
|
|
20
|
+
|
|
21
|
+
## Design Thinking (Before Coding)
|
|
22
|
+
|
|
23
|
+
1. **Purpose**: What problem? Who uses it?
|
|
24
|
+
2. **Tone**: Pick an extreme aesthetic direction
|
|
25
|
+
3. **Differentiation**: What makes this UNFORGETTABLE?
|
|
26
|
+
|
|
27
|
+
## Aesthetic Directions
|
|
28
|
+
|
|
29
|
+
| Style | Character |
|
|
30
|
+
|-------|-----------|
|
|
31
|
+
| Brutally minimal | Stark, powerful emptiness |
|
|
32
|
+
| Maximalist | Rich, layered, overwhelming |
|
|
33
|
+
| Retro-futuristic | Nostalgic tech, neon, CRT |
|
|
34
|
+
| Luxury/refined | Premium, elegant, exclusive |
|
|
35
|
+
| Brutalist/raw | Exposed, honest, anti-design |
|
|
36
|
+
| Playful/toy-like | Fun, bouncy, colorful |
|
|
37
|
+
|
|
38
|
+
## Anti-Patterns (NEVER USE)
|
|
39
|
+
|
|
40
|
+
❌ Generic fonts: Inter, Roboto, Arial, Space Grotesk
|
|
41
|
+
❌ Clichéd colors: Purple gradients on white
|
|
42
|
+
❌ Cookie-cutter layouts
|
|
43
|
+
❌ Same choices across designs
|
|
44
|
+
|
|
45
|
+
## Focus Areas
|
|
46
|
+
|
|
47
|
+
| Element | Approach |
|
|
48
|
+
|---------|----------|
|
|
49
|
+
| **Typography** | Distinctive, characterful fonts |
|
|
50
|
+
| **Color** | Dominant + sharp accents, CSS variables |
|
|
51
|
+
| **Motion** | High-impact moments, staggered reveals |
|
|
52
|
+
| **Layout** | Asymmetry, overlap, grid-breaking |
|
|
53
|
+
| **Details** | Textures, gradients, shadows, grain |
|
|
54
|
+
|
|
55
|
+
## Output
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
## Design: [Component]
|
|
59
|
+
|
|
60
|
+
### Aesthetic Direction
|
|
61
|
+
**Chosen**: [Style]
|
|
62
|
+
**Why**: [Rationale]
|
|
63
|
+
|
|
64
|
+
### Key Choices
|
|
65
|
+
| Element | Decision | Why |
|
|
66
|
+
|---------|----------|-----|
|
|
67
|
+
| Typography | ... | ... |
|
|
68
|
+
| Colors | ... | ... |
|
|
69
|
+
|
|
70
|
+
### Files Created
|
|
71
|
+
- [path/to/file.tsx](file://...)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Rules
|
|
75
|
+
|
|
76
|
+
- Study existing design patterns first
|
|
77
|
+
- Commit to BOLD aesthetic direction
|
|
78
|
+
- Match project code conventions
|
|
79
|
+
- Verify visual output
|
|
80
|
+
- Document design decisions
|
|
81
|
+
|
|
82
|
+
What do you want me to design?
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Save state for session break.
|
|
3
|
+
agent: plan
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the **Plan Agent** (or **Build Agent**). Execute the `/handoff` command.
|
|
7
|
+
|
|
8
|
+
## Template
|
|
9
|
+
|
|
10
|
+
Use template at: `@.opencode/memory/_templates/handoff.md`
|
|
11
|
+
|
|
12
|
+
## Your Task
|
|
13
|
+
|
|
14
|
+
Save the current work state for a session break, enabling seamless resumption later.
|
|
15
|
+
|
|
16
|
+
## Process
|
|
17
|
+
|
|
18
|
+
1. **Gather current state**:
|
|
19
|
+
- Which phase are we in? (spec'd, researched, planned, implementing, validating)
|
|
20
|
+
- What tasks are completed/in-progress/blocked?
|
|
21
|
+
- What files have been modified?
|
|
22
|
+
|
|
23
|
+
2. **Create handoff document** at `.opencode/memory/handoffs/YYYY-MM-DD-<phase>.md`
|
|
24
|
+
|
|
25
|
+
3. **Update bead metadata** with handoff reference
|
|
26
|
+
|
|
27
|
+
## Handoff Template
|
|
28
|
+
|
|
29
|
+
```markdown
|
|
30
|
+
---
|
|
31
|
+
date: YYYY-MM-DD
|
|
32
|
+
phase: spec'd | researched | planned | implementing | validating
|
|
33
|
+
branch: [git branch name]
|
|
34
|
+
bead_id: [optional]
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
# Handoff: [Feature/Task Name]
|
|
38
|
+
|
|
39
|
+
## Status Summary
|
|
40
|
+
[2-5 sentences describing current state]
|
|
41
|
+
|
|
42
|
+
## Artifacts
|
|
43
|
+
|
|
44
|
+
| Type | Path | Status |
|
|
45
|
+
|------|------|--------|
|
|
46
|
+
| Spec | `.opencode/memory/specs/YYYY-MM-DD-descriptor.md` | ✅ Complete |
|
|
47
|
+
| Plan | `.opencode/memory/plans/YYYY-MM-DD-feature.md` | ✅ Complete |
|
|
48
|
+
| Research | `.opencode/memory/research/YYYY-MM-DD-topic.md` | 📚 Reference |
|
|
49
|
+
|
|
50
|
+
## Task Status
|
|
51
|
+
|
|
52
|
+
### ✅ Completed
|
|
53
|
+
- [x] T-001: [Task title]
|
|
54
|
+
- [x] T-002: [Task title]
|
|
55
|
+
|
|
56
|
+
### 🔄 In Progress
|
|
57
|
+
- [ ] T-003: [Task title]
|
|
58
|
+
- **Current state:** [What's been done]
|
|
59
|
+
- **Next step:** [What to do next]
|
|
60
|
+
|
|
61
|
+
### ⏸️ Blocked
|
|
62
|
+
- [ ] T-004: [Task title]
|
|
63
|
+
- **Blocked by:** [Reason/dependency]
|
|
64
|
+
|
|
65
|
+
### 📋 Not Started
|
|
66
|
+
- [ ] T-005: [Task title]
|
|
67
|
+
|
|
68
|
+
## Files Modified
|
|
69
|
+
| File | Status | Notes |
|
|
70
|
+
|------|--------|-------|
|
|
71
|
+
| path/to/file.ts | Modified | [Brief note] |
|
|
72
|
+
|
|
73
|
+
## Git State
|
|
74
|
+
- **Branch:** [branch name]
|
|
75
|
+
- **Last commit:** [hash] - [message]
|
|
76
|
+
- **Uncommitted changes:** Yes/No
|
|
77
|
+
|
|
78
|
+
## Known Issues
|
|
79
|
+
- [Issue 1]
|
|
80
|
+
|
|
81
|
+
## Next Steps
|
|
82
|
+
1. [Next action 1]
|
|
83
|
+
2. [Next action 2]
|
|
84
|
+
|
|
85
|
+
## Context for Resumption
|
|
86
|
+
[Any important context the next session needs to know]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Rules
|
|
90
|
+
- Include all relevant artifact paths
|
|
91
|
+
- Be specific about what's done vs what's remaining
|
|
92
|
+
- Note any blockers or issues
|
|
93
|
+
- Provide clear next steps
|
|
94
|
+
|
|
95
|
+
Now, let me gather the current state and create the handoff document.
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Import external planning data (Jira, Notion, Linear, etc.)
|
|
3
|
+
agent: plan
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the **Plan Agent**. Execute the `/import-plan` command.
|
|
7
|
+
|
|
8
|
+
## Your Task
|
|
9
|
+
|
|
10
|
+
Import planning data from external tools (Jira, Notion, Linear, etc.) and convert to internal format.
|
|
11
|
+
|
|
12
|
+
## Process
|
|
13
|
+
|
|
14
|
+
### 1. Gather Source Data
|
|
15
|
+
|
|
16
|
+
Ask user for:
|
|
17
|
+
- Source type (Jira, Notion, Linear, Markdown, JSON)
|
|
18
|
+
- Data to import (URL, file path, or pasted content)
|
|
19
|
+
|
|
20
|
+
### 2. Parse External Format
|
|
21
|
+
|
|
22
|
+
**Jira:**
|
|
23
|
+
```
|
|
24
|
+
- Epic → Bead
|
|
25
|
+
- Story/Task → Task (T-XXX)
|
|
26
|
+
- Subtask → Acceptance Criteria
|
|
27
|
+
- Priority → P0/P1/P2 mapping
|
|
28
|
+
- Story Points → Effort (S/M/L/XL)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Notion:**
|
|
32
|
+
```
|
|
33
|
+
- Page → Bead or Spec
|
|
34
|
+
- Database items → Tasks
|
|
35
|
+
- Properties → Task fields
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Linear:**
|
|
39
|
+
```
|
|
40
|
+
- Project → Bead
|
|
41
|
+
- Issue → Task
|
|
42
|
+
- Labels → Tags
|
|
43
|
+
- Priority → P0/P1/P2 mapping
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Markdown/JSON:**
|
|
47
|
+
```
|
|
48
|
+
- Parse structure
|
|
49
|
+
- Map to Task Schema
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 3. Normalize to Internal Format
|
|
53
|
+
|
|
54
|
+
Convert each item to Task Schema (`.opencode/schemas.md` §1):
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
task_id: "T-001"
|
|
58
|
+
title: "[Imported title]"
|
|
59
|
+
type: task | bug | feature | chore
|
|
60
|
+
status: not_started
|
|
61
|
+
assignee: build | fe | be | mobile | devops
|
|
62
|
+
priority: P0 | P1 | P2
|
|
63
|
+
effort: S | M | L | XL
|
|
64
|
+
dependencies: []
|
|
65
|
+
description: "[Imported description]"
|
|
66
|
+
input: []
|
|
67
|
+
output: []
|
|
68
|
+
boundaries: []
|
|
69
|
+
acceptance_criteria: []
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 4. Validate Against Spec
|
|
73
|
+
|
|
74
|
+
- Check if `spec.md` exists
|
|
75
|
+
- If yes: validate imported tasks align with spec
|
|
76
|
+
- If no: suggest creating spec first or generate from import
|
|
77
|
+
|
|
78
|
+
### 5. Identify Gaps
|
|
79
|
+
|
|
80
|
+
| Gap Type | Action |
|
|
81
|
+
|----------|--------|
|
|
82
|
+
| Missing acceptance criteria | Flag for user input |
|
|
83
|
+
| Missing dependencies | Ask user to define |
|
|
84
|
+
| Unclear scope | Mark as "Needs Clarification" |
|
|
85
|
+
| Missing effort estimates | Suggest based on description |
|
|
86
|
+
|
|
87
|
+
### 6. Generate plan.md
|
|
88
|
+
|
|
89
|
+
Create plan at `.opencode/memory/plans/YYYY-MM-DD-<feature>.md` using template `@.opencode/memory/_templates/plan.md`
|
|
90
|
+
|
|
91
|
+
### 7. Create Beads
|
|
92
|
+
|
|
93
|
+
For each task:
|
|
94
|
+
```
|
|
95
|
+
mcp__beads_village__add(
|
|
96
|
+
title: "[Task title]",
|
|
97
|
+
desc: "[Description]",
|
|
98
|
+
typ: "[type]",
|
|
99
|
+
pri: [0-4],
|
|
100
|
+
deps: ["task:T-XXX"]
|
|
101
|
+
)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Output Format
|
|
105
|
+
|
|
106
|
+
```markdown
|
|
107
|
+
## Import Summary
|
|
108
|
+
|
|
109
|
+
### Source
|
|
110
|
+
- **Type:** [Jira/Notion/Linear/etc.]
|
|
111
|
+
- **Items Found:** [count]
|
|
112
|
+
|
|
113
|
+
### Imported Tasks
|
|
114
|
+
|
|
115
|
+
| ID | Title | Type | Effort | Priority | Status |
|
|
116
|
+
|----|-------|------|--------|----------|--------|
|
|
117
|
+
| T-001 | [Title] | feature | M | P1 | Imported ✅ |
|
|
118
|
+
| T-002 | [Title] | task | S | P2 | Needs AC ⚠️ |
|
|
119
|
+
|
|
120
|
+
### Gaps Identified
|
|
121
|
+
|
|
122
|
+
- [ ] T-002: Missing acceptance criteria
|
|
123
|
+
- [ ] T-003: Dependencies unclear
|
|
124
|
+
|
|
125
|
+
### Artifacts Created
|
|
126
|
+
|
|
127
|
+
- Plan: `.opencode/memory/plans/YYYY-MM-DD-feature.md`
|
|
128
|
+
- Beads: [count] tasks added to beads village
|
|
129
|
+
|
|
130
|
+
### Next Steps
|
|
131
|
+
|
|
132
|
+
1. Review and fill gaps
|
|
133
|
+
2. Get user approval on plan
|
|
134
|
+
3. `/implement` to start execution
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Field Mapping Reference
|
|
138
|
+
|
|
139
|
+
### Priority Mapping
|
|
140
|
+
|
|
141
|
+
| External | Internal |
|
|
142
|
+
|----------|----------|
|
|
143
|
+
| Highest, Critical, P0 | P0 |
|
|
144
|
+
| High, P1 | P1 |
|
|
145
|
+
| Medium, Normal, P2 | P2 |
|
|
146
|
+
| Low, P3, P4 | P2 |
|
|
147
|
+
|
|
148
|
+
### Effort Mapping
|
|
149
|
+
|
|
150
|
+
| External | Internal |
|
|
151
|
+
|----------|----------|
|
|
152
|
+
| 1-2 points, XS | S |
|
|
153
|
+
| 3-5 points, S, M | M |
|
|
154
|
+
| 8-13 points, L | L |
|
|
155
|
+
| 21+ points, XL | XL |
|
|
156
|
+
|
|
157
|
+
### Type Mapping
|
|
158
|
+
|
|
159
|
+
| External | Internal |
|
|
160
|
+
|----------|----------|
|
|
161
|
+
| Story, Feature, Enhancement | feature |
|
|
162
|
+
| Bug, Defect | bug |
|
|
163
|
+
| Task, Subtask | task |
|
|
164
|
+
| Chore, Maintenance, Tech Debt | chore |
|
|
165
|
+
|
|
166
|
+
## Rules
|
|
167
|
+
|
|
168
|
+
- ✅ ALWAYS validate against Task Schema
|
|
169
|
+
- ✅ ALWAYS preserve original IDs as reference
|
|
170
|
+
- ✅ ALWAYS flag gaps rather than guess
|
|
171
|
+
- ✅ ALWAYS get user approval before proceeding
|
|
172
|
+
- ❌ NEVER auto-fill critical fields (AC, dependencies)
|
|
173
|
+
- ❌ NEVER import without creating beads
|
|
174
|
+
|
|
175
|
+
Now, what would you like to import? Please provide the source type and data.
|
package/command/init.md
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Initialize CliKit plugin in the current project.
|
|
3
|
+
agent: build
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the **Build Agent**. Execute the `/init` command.
|
|
7
|
+
|
|
8
|
+
## Your Task
|
|
9
|
+
|
|
10
|
+
Set up the CliKit plugin in the current project.
|
|
11
|
+
|
|
12
|
+
## Process
|
|
13
|
+
|
|
14
|
+
### 1. Check Prerequisites
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Check if .opencode/ already exists
|
|
18
|
+
ls -la .opencode/ 2>/dev/null
|
|
19
|
+
|
|
20
|
+
# Check if package.json exists
|
|
21
|
+
ls package.json 2>/dev/null
|
|
22
|
+
|
|
23
|
+
# Check package manager
|
|
24
|
+
ls bun.lockb pnpm-lock.yaml yarn.lock 2>/dev/null
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
If `.opencode/` already exists with CliKit files, warn user and ask before overwriting.
|
|
28
|
+
|
|
29
|
+
### 2. Install Plugin
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Detect package manager and install
|
|
33
|
+
bun add -d clikit-plugin 2>/dev/null || \
|
|
34
|
+
pnpm add -D clikit-plugin 2>/dev/null || \
|
|
35
|
+
npm install -D clikit-plugin 2>/dev/null
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 3. Create Plugin Entry Point
|
|
39
|
+
|
|
40
|
+
Create `.opencode/index.ts`:
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
import CliKitPlugin from "clikit-plugin";
|
|
44
|
+
export default CliKitPlugin;
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 4. Create Default Configuration
|
|
48
|
+
|
|
49
|
+
Create `.opencode/clikit.config.json`:
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"$schema": "https://unpkg.com/clikit-plugin/schema.json",
|
|
54
|
+
"disabled_agents": [],
|
|
55
|
+
"disabled_commands": [],
|
|
56
|
+
"hooks": {
|
|
57
|
+
"session_logging": true,
|
|
58
|
+
"todo_enforcer": {
|
|
59
|
+
"enabled": true,
|
|
60
|
+
"warn_on_incomplete": true
|
|
61
|
+
},
|
|
62
|
+
"empty_message_sanitizer": {
|
|
63
|
+
"enabled": true
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 5. Create Memory Directory Structure
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
mkdir -p .opencode/memory/{specs,plans,research,reviews,handoffs,prds,beads}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 6. Verify Setup
|
|
76
|
+
|
|
77
|
+
- Check that plugin loads correctly
|
|
78
|
+
- Verify agents are available
|
|
79
|
+
- Verify commands are registered
|
|
80
|
+
|
|
81
|
+
### 7. Report
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
## CliKit Initialized
|
|
85
|
+
|
|
86
|
+
✅ Plugin installed: clikit-plugin
|
|
87
|
+
✅ Entry point: .opencode/index.ts
|
|
88
|
+
✅ Config: .opencode/clikit.config.json
|
|
89
|
+
✅ Memory directories created
|
|
90
|
+
|
|
91
|
+
### Available Agents
|
|
92
|
+
[list agents]
|
|
93
|
+
|
|
94
|
+
### Available Commands
|
|
95
|
+
[list commands]
|
|
96
|
+
|
|
97
|
+
### Next Steps
|
|
98
|
+
1. Run `/create` to start a new feature
|
|
99
|
+
2. Customize `.opencode/clikit.config.json` as needed
|
|
100
|
+
3. See README for full configuration options
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Rules
|
|
104
|
+
|
|
105
|
+
- ✅ ALWAYS check for existing setup before overwriting
|
|
106
|
+
- ✅ ALWAYS detect the correct package manager
|
|
107
|
+
- ✅ ALWAYS create memory directory structure
|
|
108
|
+
- ✅ ALWAYS verify the setup works
|
|
109
|
+
- ❌ NEVER overwrite existing config without asking
|
|
110
|
+
- ❌ NEVER skip verification step
|
|
111
|
+
|
|
112
|
+
Now, initializing CliKit...
|