@haposoft/cafekit 0.8.17 → 0.9.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 +47 -84
- package/bin/install.js +90 -653
- package/bin/lib/copy-utils.js +61 -0
- package/bin/lib/opencode-install.js +866 -0
- package/package.json +4 -1
- package/src/claude/CLAUDE.md +2 -2
- package/src/claude/migration-manifest.json +1 -0
- package/src/claude/rules/skill-domain-routing.md +2 -0
- package/src/claude/rules/skill-workflow-routing.md +3 -1
- package/src/claude/skills/qs/SKILL.md +177 -0
- package/src/claude/skills/qs/templates/qs.md +30 -0
- package/src/opencode/AGENTS.md +6 -6
- package/src/opencode/plugins/docs-sync.ts +181 -0
- package/src/opencode/plugins/inspect-block.ts +164 -0
- package/src/opencode/plugins/privacy-block.ts +182 -0
- package/src/opencode/plugins/rules.ts +163 -0
- package/src/opencode/plugins/session.ts +179 -0
- package/src/opencode/plugins/state.ts +253 -0
- package/src/opencode/plugins/usage.ts +178 -0
package/README.md
CHANGED
|
@@ -2,25 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
> Claude Code-first spec-driven workflow and runtime bundle for AI coding assistants.
|
|
4
4
|
|
|
5
|
-
[](https://github.com/haposoft/cafekit)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](https://claude.ai/code)
|
|
8
8
|
|
|
9
9
|
## Overview
|
|
10
10
|
|
|
11
|
-
CafeKit installs a structured workflow
|
|
11
|
+
CafeKit installs a structured workflow so an AI coding agent can move cleanly from:
|
|
12
12
|
|
|
13
13
|
```text
|
|
14
|
-
Idea ->
|
|
14
|
+
Idea -> QS when unclear -> Brainstorm -> Spec -> Design -> Task Files -> Implementation -> Test -> Review
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Claude Code install support:
|
|
18
18
|
- installs CafeKit skills under `.claude/skills/`
|
|
19
19
|
- installs supporting agents under `.claude/agents/`
|
|
20
20
|
- installs runtime hooks, statusline, and managed settings
|
|
21
21
|
- merges Claude settings safely on re-run
|
|
22
22
|
|
|
23
|
-
OpenCode install support
|
|
23
|
+
OpenCode install support:
|
|
24
|
+
- installs command wrappers under `.opencode/commands/`
|
|
25
|
+
- installs converted OpenCode agents under `.opencode/agents/`
|
|
26
|
+
- installs CafeKit skills under `.opencode/skills/`
|
|
27
|
+
- installs OpenCode plugin runtime files under `.opencode/plugins/`
|
|
28
|
+
- merges `opencode.json` and root `AGENTS.md`
|
|
29
|
+
- omits the Claude `hapo:` command prefix
|
|
24
30
|
|
|
25
31
|
## Install
|
|
26
32
|
|
|
@@ -38,11 +44,11 @@ npx @haposoft/cafekit --upgrade
|
|
|
38
44
|
|
|
39
45
|
Requirements:
|
|
40
46
|
- Node.js 18+
|
|
41
|
-
- Claude Code project with
|
|
47
|
+
- Claude Code project with `.claude/`, OpenCode project with `.opencode/` or `opencode.json`, or choose a runtime when prompted
|
|
42
48
|
|
|
43
49
|
## What Gets Installed
|
|
44
50
|
|
|
45
|
-
Claude Code
|
|
51
|
+
Claude Code targets:
|
|
46
52
|
|
|
47
53
|
```text
|
|
48
54
|
.claude/
|
|
@@ -50,6 +56,9 @@ Claude Code install targets:
|
|
|
50
56
|
├── skills/
|
|
51
57
|
├── agents/
|
|
52
58
|
├── hooks/
|
|
59
|
+
├── rules/
|
|
60
|
+
├── scripts/
|
|
61
|
+
├── references/
|
|
53
62
|
├── cafekit.json
|
|
54
63
|
├── status.cjs
|
|
55
64
|
├── runtime.json
|
|
@@ -57,38 +66,31 @@ Claude Code install targets:
|
|
|
57
66
|
└── CLAUDE.md
|
|
58
67
|
```
|
|
59
68
|
|
|
60
|
-
OpenCode
|
|
69
|
+
OpenCode targets:
|
|
61
70
|
|
|
62
71
|
```text
|
|
63
72
|
.opencode/
|
|
73
|
+
├── .gitignore
|
|
64
74
|
├── commands/
|
|
65
75
|
├── agents/
|
|
66
|
-
└── cafekit.json
|
|
67
|
-
|
|
68
|
-
.claude/
|
|
69
|
-
├── .gitignore
|
|
70
76
|
├── skills/
|
|
71
77
|
├── rules/
|
|
72
78
|
├── scripts/
|
|
73
|
-
|
|
79
|
+
├── references/
|
|
80
|
+
├── plugins/
|
|
81
|
+
├── cafekit.json
|
|
82
|
+
├── runtime.json
|
|
83
|
+
└── package.json
|
|
74
84
|
|
|
75
85
|
AGENTS.md
|
|
76
86
|
opencode.json
|
|
77
87
|
```
|
|
78
88
|
|
|
79
89
|
OpenCode setup also:
|
|
80
|
-
- binds generated commands to
|
|
81
|
-
- configures `permission.skill` and `permission.task`
|
|
90
|
+
- binds generated commands to matching CafeKit subagents with `agent` + `subtask`
|
|
91
|
+
- configures `permission.skill` and `permission.task`
|
|
82
92
|
- optionally writes `model` to `opencode.json` from `OPENCODE_MODEL`, `OPENCODE_DEFAULT_MODEL`, or installer input
|
|
83
93
|
|
|
84
|
-
Managed runtime features include:
|
|
85
|
-
- Claude Code statusline
|
|
86
|
-
- session and subagent hooks
|
|
87
|
-
- rule/context injection
|
|
88
|
-
- spec state awareness
|
|
89
|
-
- safe settings merge on reinstall
|
|
90
|
-
- installed CafeKit version tracking in `.claude/cafekit.json` or `.opencode/cafekit.json`
|
|
91
|
-
|
|
92
94
|
To check the installed CafeKit package version:
|
|
93
95
|
|
|
94
96
|
```bash
|
|
@@ -100,6 +102,7 @@ cat .opencode/cafekit.json
|
|
|
100
102
|
|
|
101
103
|
CafeKit ships many skills, but the main release surface is:
|
|
102
104
|
|
|
105
|
+
- `/hapo:qs <request-or-context> [--batch|--spec-ready|--stakeholder]`: clarify missing decisions, acceptance criteria, scope, constraints, and next workflow readiness
|
|
103
106
|
- `/hapo:brainstorm <idea-or-problem>`: scout the repo, clarify exact requirements, compare approaches, and hand off to specs
|
|
104
107
|
- `/hapo:specs <feature-description>`: create or resume a structured spec workflow
|
|
105
108
|
- `/hapo:develop <feature-name>`: implement from approved spec artifacts
|
|
@@ -120,52 +123,29 @@ node .claude/scripts/generate-skill-catalog.cjs --skills
|
|
|
120
123
|
|
|
121
124
|
## Quick Start
|
|
122
125
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
/specs Build a Google Meet transcript extension with AI summaries
|
|
127
|
-
/develop meet-transcript-mvp
|
|
128
|
-
/test --full
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
For unclear ideas, brainstorm first:
|
|
126
|
+
Claude Code:
|
|
132
127
|
|
|
133
128
|
```bash
|
|
129
|
+
/hapo:qs "What is still unclear before the Google Meet transcript extension spec?" --spec-ready
|
|
134
130
|
/hapo:brainstorm Explore approaches for a Google Meet transcript extension
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
Create a new spec:
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
131
|
/hapo:specs Build a Google Meet transcript extension with AI summaries
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
Implement the whole feature:
|
|
144
|
-
|
|
145
|
-
```bash
|
|
146
132
|
/hapo:develop meet-transcript-mvp
|
|
133
|
+
/hapo:test meet-transcript-mvp --full
|
|
134
|
+
/hapo:code-review meet-transcript-mvp --pending
|
|
147
135
|
```
|
|
148
136
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
/hapo:develop meet-transcript-mvp task-R0-02-extension-scaffold-dashboard-skeleton.md
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
Run tests and review:
|
|
156
|
-
|
|
157
|
-
```bash
|
|
158
|
-
/hapo:test --full
|
|
159
|
-
/hapo:code-review --pending
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
Generate a diagram:
|
|
137
|
+
OpenCode uses the generated command names without the Claude `hapo:` prefix:
|
|
163
138
|
|
|
164
139
|
```bash
|
|
165
|
-
/
|
|
140
|
+
/qs "What is still unclear before the Google Meet transcript extension spec?" --spec-ready
|
|
141
|
+
/brainstorm Explore approaches for a Google Meet transcript extension
|
|
142
|
+
/specs Build a Google Meet transcript extension with AI summaries
|
|
143
|
+
/develop meet-transcript-mvp
|
|
144
|
+
/test --full
|
|
145
|
+
/code-review --pending
|
|
166
146
|
```
|
|
167
147
|
|
|
168
|
-
Reconstruct
|
|
148
|
+
Reconstruct as-is docs from a legacy codebase:
|
|
169
149
|
|
|
170
150
|
```bash
|
|
171
151
|
/hapo:docs --reconstruct apps/legacy-admin
|
|
@@ -173,9 +153,9 @@ Reconstruct current-state docs for an existing or legacy system:
|
|
|
173
153
|
|
|
174
154
|
The reconstruct bundle includes as-is markdown/JSON evidence and a self-contained `overview.html` review dashboard before the approved docs are handed to `/hapo:specs`.
|
|
175
155
|
|
|
176
|
-
## Spec
|
|
156
|
+
## Spec Output
|
|
177
157
|
|
|
178
|
-
|
|
158
|
+
Specs are stored under:
|
|
179
159
|
|
|
180
160
|
```text
|
|
181
161
|
specs/<feature-name>/
|
|
@@ -183,34 +163,17 @@ specs/<feature-name>/
|
|
|
183
163
|
├── requirements.md
|
|
184
164
|
├── research.md
|
|
185
165
|
├── design.md
|
|
186
|
-
└── tasks/
|
|
187
|
-
├── task-R0-01-*.md
|
|
188
|
-
├── task-R1-01-*.md
|
|
189
|
-
└── ...
|
|
166
|
+
└── tasks/task-R*.md
|
|
190
167
|
```
|
|
191
168
|
|
|
192
|
-
|
|
193
|
-
- `spec.json` to hold state, approvals, validation, and `task_files`
|
|
194
|
-
- design to define canonical contracts
|
|
195
|
-
- each task file to carry completion criteria and `Task Test Plan & Verification Evidence`
|
|
196
|
-
|
|
197
|
-
## Release Notes For 0.8.0
|
|
198
|
-
|
|
199
|
-
This release strengthens CafeKit's Claude Code workflow:
|
|
200
|
-
- added `hapo:brainstorm` as a scout-first pre-spec design workflow for unclear ideas
|
|
201
|
-
- tightened `hapo:specs` routing so unresolved architecture choices move through brainstorm first
|
|
202
|
-
- added task-level `Task Test Plan & Verification Evidence` guidance across specs, develop, test, review, and sync
|
|
203
|
-
- added skill self-tests for bundled Chrome DevTools and PDF scripts
|
|
204
|
-
- added `hapo:git finish` guidance for verified branch closeout
|
|
205
|
-
- simplified Claude runtime rules and added hook protocol guidance
|
|
206
|
-
- fixed web lint/build issues in the docs app
|
|
169
|
+
## Development
|
|
207
170
|
|
|
208
|
-
|
|
171
|
+
Run package self-tests:
|
|
209
172
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
173
|
+
```bash
|
|
174
|
+
npm test
|
|
175
|
+
```
|
|
213
176
|
|
|
214
177
|
## License
|
|
215
178
|
|
|
216
|
-
MIT
|
|
179
|
+
MIT
|