@oneie/claude 0.3.2 → 0.5.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 +29 -19
- package/agents/w1-recon.md +9 -2
- package/agents/w2-decide.md +40 -9
- package/agents/w3-edit.md +34 -4
- package/agents/w4-verify.md +112 -15
- package/commands/do-autonomous.md +1 -1
- package/commands/do.md +84 -46
- package/commands/skill-create.md +4 -4
- package/commands/sync.md +7 -7
- package/hooks/scripts/stop-reflect.sh +3 -3
- package/hooks/scripts/sync-todo-docs.sh +1 -1
- package/package.json +2 -1
- package/rules/documentation.md +18 -18
- package/rules/engine.md +48 -192
- package/scripts/do-auto.sh +5 -5
- package/scripts/do-folder.sh +1 -1
- package/scripts/do-prove.sh +10 -27
- package/scripts/do-reconcile.sh +212 -19
- package/scripts/do-smoke.sh +65 -25
- package/scripts/do-survey.sh +1 -1
- package/scripts/do-tier.sh +1 -1
- package/scripts/w4-rubric.ts +2 -2
- package/skills/oneie/SKILL.md +4 -4
- package/skills/signal/SKILL.md +2 -2
- package/skills/sui/SKILL.md +1 -1
- package/templates/template-agent.md +63 -0
- package/templates/template-feature.md +31 -0
- package/templates/template-plan.md +80 -0
- package/templates/template-teach.md +124 -0
- package/templates/template-tests.md +43 -0
- package/templates/template-todo.md +783 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: {{slug}}
|
|
3
|
+
written: {{YYYY-MM-DD}}
|
|
4
|
+
proven: true
|
|
5
|
+
audience: humans + agents
|
|
6
|
+
promise: text/{{slug}}.md
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# {{Feature Name}}
|
|
10
|
+
|
|
11
|
+
> {{One line — the promise kept, in the reader's own words. This is the hook. Make them want the next sentence.}}
|
|
12
|
+
|
|
13
|
+
<!-- Written AFTER PROVE passes. Every claim below is proven behavior, never planned. The promise (text/{{slug}}.md) is the spec this doc must match. -->
|
|
14
|
+
|
|
15
|
+
## Why this exists
|
|
16
|
+
|
|
17
|
+
{{2–4 sentences. The world *before* this feature — the friction, the wait, the thing that was hard or impossible. Name the pain the reader already feels, so everything after lands as relief. Plain English, no jargon. Earn the reader before you teach them.}}
|
|
18
|
+
|
|
19
|
+
## What you get
|
|
20
|
+
|
|
21
|
+
{{1–3 sentences. The capability in the reader's words — what they can do now that they couldn't before. This is the "after" to the "Why this exists" "before." One clean promise, no list of features.}}
|
|
22
|
+
|
|
23
|
+
## The mental model
|
|
24
|
+
|
|
25
|
+
{{The one idea that makes everything else obvious. One short paragraph — or the small diagram below. Hold this shape in your head and every step clicks. Great docs hand you the model first; weak docs make you reverse-engineer it from the steps. Use an analogy only if it is exact.}}
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
{{optional — a 3–6 line shape: the thing, what goes in, what comes out}}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Your first win (60 seconds)
|
|
32
|
+
|
|
33
|
+
The shortest path to a working result. Copy, paste, watch it work — then you'll trust the rest.
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Copy-pasteable. Verified to work. The fastest route to a green result.
|
|
37
|
+
{{the one command — or 2–3 lines — that produce a visible win}}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
You'll see {{the exact observable result: the line of output, the screen, the file that appears}}. That is the whole thing working. Everything below is depth, not prerequisite.
|
|
41
|
+
|
|
42
|
+
## The walkthrough
|
|
43
|
+
|
|
44
|
+
The full path, one step at a time. Each step says what you do, what you'll see, and why it matters — so you are never typing on faith.
|
|
45
|
+
|
|
46
|
+
### 1. {{Step name — start with a verb}}
|
|
47
|
+
|
|
48
|
+
{{What this step does and why, in 1–2 sentences.}}
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
{{command}}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
{{What you see, and how you know it worked. Show the expected output — don't make the reader guess.}}
|
|
55
|
+
|
|
56
|
+
### 2. {{Step name}}
|
|
57
|
+
|
|
58
|
+
{{Repeat. Number every step. Show the result after each. Call out the one place people slip — inline, right before they would hit it, not in a footnote.}}
|
|
59
|
+
|
|
60
|
+
### 3. {{Step name}}
|
|
61
|
+
|
|
62
|
+
{{The final step lands the reader exactly at the goal from "What you get." Close the loop out loud: "You now have {{the outcome}}."}}
|
|
63
|
+
|
|
64
|
+
## Reference
|
|
65
|
+
|
|
66
|
+
Everything you'll look up later, scannable at a glance. **Agents: this is the contract** — exact names, paths, signatures, no prose required.
|
|
67
|
+
|
|
68
|
+
| Thing | What it is | Where |
|
|
69
|
+
|---|---|---|
|
|
70
|
+
| {{name}} | {{one line}} | {{`file:line` or link}} |
|
|
71
|
+
| {{command / flag}} | {{what it does}} | {{usage}} |
|
|
72
|
+
| Script | {{what it runs}} | `.claude/scripts/{{script}}.sh` |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Runbook
|
|
77
|
+
|
|
78
|
+
### Verify it's working
|
|
79
|
+
|
|
80
|
+
The proof command from PROVE, reusable as a health check. Green here means the feature is live.
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
{{the proof command}}
|
|
84
|
+
# Expected: {{the exact passing output}}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### When something breaks
|
|
88
|
+
|
|
89
|
+
| You see | It means | Do this |
|
|
90
|
+
|---|---|---|
|
|
91
|
+
| {{symptom}} | {{cause}} | {{the exact fix — a command, not advice}} |
|
|
92
|
+
|
|
93
|
+
### Rollback
|
|
94
|
+
|
|
95
|
+
{{The exact way back. Specific commands, in order. The reader is stressed when they reach this section — be precise, be calm, be complete. Leave nothing to infer.}}
|
|
96
|
+
|
|
97
|
+
## Where to go next
|
|
98
|
+
|
|
99
|
+
{{1–3 pointers: the adjacent feature, the deeper doc, the thing this unlocks. Leave the reader knowing which door to open next.}}
|
|
100
|
+
|
|
101
|
+
<!--
|
|
102
|
+
TEACH template — the doc that brings humans AND agents on a journey.
|
|
103
|
+
|
|
104
|
+
VOICE — friendly · authoritative · clear · succinct · complete:
|
|
105
|
+
- Talk to one reader. "You", never "the user." Warm, never chatty.
|
|
106
|
+
- Authoritative = you have done this and it works. Show, don't hedge. No "should probably", no "might."
|
|
107
|
+
- Succinct = every sentence earns its place. Cut adverbs. Depth through brevity — see .claude/product-marketing.md.
|
|
108
|
+
- Complete = no step assumed, no command untested, no output unshown. A reader holding ONLY this doc can succeed.
|
|
109
|
+
- Plain English. A CEO and an engineer read the same words. Banned-jargon list lives in .claude/product-marketing.md.
|
|
110
|
+
|
|
111
|
+
THE JOURNEY — why → what → model → first win → walkthrough → reference → runbook → next:
|
|
112
|
+
- Motivation before mechanics. The reader must WANT it before they learn it.
|
|
113
|
+
- Model before steps. Give the shape; the steps then click into it.
|
|
114
|
+
- A win before the depth. One fast success buys patience for everything after.
|
|
115
|
+
- Every command copy-pasteable and verified. Every step shows its expected output.
|
|
116
|
+
- Two audiences, one doc: humans read the prose top-to-bottom for the journey; agents jump to Reference + Runbook for the contract. Serve both — narrative for the journey, tables for the lookup. Never make a human scan a table for motivation, or an agent read prose for a path.
|
|
117
|
+
|
|
118
|
+
STOP RULES (from do.md):
|
|
119
|
+
- Write AFTER PROVE passes (proven: true in frontmatter). Proven behavior only — never planned.
|
|
120
|
+
- Match the promise: every user-facing claim appears in text/{{slug}}.md.
|
|
121
|
+
- Doc + runbook in one file. Presence check: test -f text/{{slug}}-doc.md.
|
|
122
|
+
- Run do-reconcile.sh dictionary on this file before committing (no dead names, no new synonyms).
|
|
123
|
+
- Draft with the `tutorial` skill, tighten with the `writer` skill.
|
|
124
|
+
-->
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: {{slug}}
|
|
3
|
+
cycle: {{C1}}
|
|
4
|
+
folder: {{one.ie/web|packages/sdk|channels}}
|
|
5
|
+
demo: # this file IS the cycle's demo gate — the todo references it by this command
|
|
6
|
+
command: "bun vitest run {{folder}}/tests/e2e/{{cycle}}.test.ts"
|
|
7
|
+
asserts: "{{the promise's one proof observable — what passing means}}"
|
|
8
|
+
budget: "<2s wall · ≤80 LOC"
|
|
9
|
+
deliverables:
|
|
10
|
+
- {{D1 — what it asserts}}
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Tests — {{slug}} · {{cycle}}
|
|
14
|
+
|
|
15
|
+
> One `expect()` per deliverable — **assert the destination, not the path.**
|
|
16
|
+
> The assertion is the promise's proof observable restated as code — nothing new.
|
|
17
|
+
> Write it FIRST: it must **fail before W3 lands (red), pass after (green).**
|
|
18
|
+
> Run: `bun run verify` in `{{folder}}/`.
|
|
19
|
+
|
|
20
|
+
## {{D1 — user-facing outcome}}
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { describe, it, expect } from 'vitest'
|
|
24
|
+
// import { {{thing}} } from '{{path}}' // one import per file — no cross-cycle coupling
|
|
25
|
+
|
|
26
|
+
describe('{{slug}} · {{deliverable}}', () => {
|
|
27
|
+
it('{{the outcome a user cares about}}', async () => {
|
|
28
|
+
const result = await {{run the real thing}}
|
|
29
|
+
expect(result).toBe({{the destination}})
|
|
30
|
+
// ✓ destination: expect(getStrength(edge)).toBe(1)
|
|
31
|
+
// ✗ not the path: expect(button).toHaveClass('bg-primary')
|
|
32
|
+
})
|
|
33
|
+
})
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
<!--
|
|
37
|
+
Rules (from do.md testing policy):
|
|
38
|
+
- ≤1 test file per cycle
|
|
39
|
+
- Goal-based: assert shipped outcome, not implementation detail
|
|
40
|
+
- Vitest-first; add requires_playwright: true in todo frontmatter if browser needed
|
|
41
|
+
- N-variant split-test → winner mark(), losers warn(0.5)
|
|
42
|
+
- One import per test file (avoid cross-cycle coupling)
|
|
43
|
+
-->
|