oh-my-design-cli 0.1.2 → 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/.claude/hooks/post-edit-watch.cjs +99 -0
- package/.claude/hooks/session-end-foldin.cjs +96 -0
- package/.claude/hooks/session-state-loader.cjs +64 -0
- package/.claude/hooks/skill-activation.cjs +73 -0
- package/.claude/settings.json +55 -0
- package/.claude/skills/skill-rules.json +87 -0
- package/AGENTS.md +111 -0
- package/README.md +75 -202
- package/agents/AGENT.md +53 -0
- package/agents/omd-3d-blender.md +269 -0
- package/agents/omd-a11y-auditor.md +97 -0
- package/agents/omd-asset-curator.md +260 -0
- package/agents/omd-critic.md +181 -0
- package/agents/omd-master.md +548 -0
- package/agents/omd-microcopy.md +63 -0
- package/agents/omd-persona-tester.md +118 -0
- package/agents/omd-ui-junior.md +129 -0
- package/agents/omd-ux-engineer.md +265 -0
- package/agents/omd-ux-researcher.md +62 -0
- package/agents/omd-ux-writer.md +181 -0
- package/data/opt-out-corpus.json +141 -0
- package/data/reference-fingerprints.json +1495 -0
- package/dist/bin/oh-my-design.js +3 -818
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/install-skills-SVIYKXOE.js +442 -0
- package/dist/install-skills-SVIYKXOE.js.map +1 -0
- package/package.json +23 -23
- package/scripts/context.cjs +91 -0
- package/scripts/postinstall.cjs +54 -0
- package/skills/omd-apply/SKILL.md +64 -53
- package/skills/omd-harness/SKILL.md +271 -0
- package/skills/omd-learn/SKILL.md +55 -35
- package/skills/omd-remember/SKILL.md +93 -15
- package/skills/omd-sync/SKILL.md +140 -16
- package/dist/chunk-6YNSV3VY.js +0 -35
- package/dist/chunk-6YNSV3VY.js.map +0 -1
- package/dist/chunk-MHFYGZSO.js +0 -337
- package/dist/chunk-MHFYGZSO.js.map +0 -1
- package/dist/chunk-N2JG6N4Q.js +0 -264
- package/dist/chunk-N2JG6N4Q.js.map +0 -1
- package/dist/chunk-OOQQEUGX.js +0 -46
- package/dist/chunk-OOQQEUGX.js.map +0 -1
- package/dist/chunk-OR5DHENY.js +0 -250
- package/dist/chunk-OR5DHENY.js.map +0 -1
- package/dist/customizer-CM76752R.js +0 -8
- package/dist/customizer-CM76752R.js.map +0 -1
- package/dist/index.d.ts +0 -559
- package/dist/index.js +0 -3113
- package/dist/index.js.map +0 -1
- package/dist/init-UMM4XIV5.js +0 -675
- package/dist/init-UMM4XIV5.js.map +0 -1
- package/dist/install-skills-CM6VXFZJ.js +0 -152
- package/dist/install-skills-CM6VXFZJ.js.map +0 -1
- package/dist/learn-33LHKEJA.js +0 -140
- package/dist/learn-33LHKEJA.js.map +0 -1
- package/dist/reference-YMNAOXJQ.js +0 -47
- package/dist/reference-YMNAOXJQ.js.map +0 -1
- package/dist/reference-parser-TM3CJPNE.js +0 -10
- package/dist/reference-parser-TM3CJPNE.js.map +0 -1
- package/dist/remember-UAFA5B2O.js +0 -78
- package/dist/remember-UAFA5B2O.js.map +0 -1
- package/dist/sync-FDYRKNFE.js +0 -417
- package/dist/sync-FDYRKNFE.js.map +0 -1
- package/dist/templates/templates/design-md.hbs +0 -44
- package/dist/templates/templates/partials/agent-prompt-guide.hbs +0 -28
- package/dist/templates/templates/partials/color-palette.hbs +0 -49
- package/dist/templates/templates/partials/component-stylings.hbs +0 -28
- package/dist/templates/templates/partials/depth-elevation.hbs +0 -31
- package/dist/templates/templates/partials/dos-donts.hbs +0 -13
- package/dist/templates/templates/partials/layout.hbs +0 -30
- package/dist/templates/templates/partials/responsive.hbs +0 -25
- package/dist/templates/templates/partials/shadcn-tokens.hbs +0 -64
- package/dist/templates/templates/partials/typography.hbs +0 -43
- package/dist/templates/templates/partials/visual-theme.hbs +0 -26
package/README.md
CHANGED
|
@@ -5,11 +5,7 @@
|
|
|
5
5
|
<h1 align="center">oh-my-design</h1>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
|
-
<strong>
|
|
9
|
-
</p>
|
|
10
|
-
|
|
11
|
-
<p align="center">
|
|
12
|
-
<strong>Now with the OmD v0.1 Philosophy Layer.</strong> Voice · Narrative · Principles · Personas · States · Motion — so Claude Code matches your brand, not the AI's default.
|
|
8
|
+
<strong>One-command bootstrap for skill-driven design with your AI coding agent.</strong> 67 real company design systems. Zero AI calls in the install. Then you just talk to your agent.
|
|
13
9
|
</p>
|
|
14
10
|
|
|
15
11
|
<p align="center">
|
|
@@ -18,229 +14,106 @@
|
|
|
18
14
|
<a href="LICENSE"><img src="https://img.shields.io/github/license/kwakseongjae/oh-my-design?style=flat-square" alt="License" /></a>
|
|
19
15
|
<a href="https://github.com/kwakseongjae/oh-my-design/stargazers"><img src="https://img.shields.io/github/stars/kwakseongjae/oh-my-design?style=social" alt="GitHub Stars" /></a>
|
|
20
16
|
<img src="https://img.shields.io/badge/references-67-7c5cfc?style=flat-square" alt="67 References" />
|
|
21
|
-
<img src="https://img.shields.io/badge/
|
|
22
|
-
</p>
|
|
23
|
-
|
|
24
|
-
<p align="center">
|
|
25
|
-
<a href="README.ko.md">한국어</a> | <a href="README.ja.md">日本語</a> | <a href="README.zh-TW.md">繁體中文</a> | English
|
|
17
|
+
<img src="https://img.shields.io/badge/CLI%20commands-1-blue?style=flat-square" alt="One CLI command" />
|
|
26
18
|
</p>
|
|
27
19
|
|
|
28
20
|
---
|
|
29
21
|
|
|
30
|
-
## What is
|
|
31
|
-
|
|
32
|
-
**oh-my-design (OmD)** is an open spec for giving AI coding agents enough brand context to produce on-brand UI instead of the AI's statistical default.
|
|
22
|
+
## What is this?
|
|
33
23
|
|
|
34
|
-
|
|
24
|
+
**oh-my-design (OmD)** turns your AI coding agent (Claude Code / Codex / OpenCode / Cursor) into a senior product designer with a working memory of your brand. You install once. After that, you just describe what you want — components, screens, copy, assets, charts — and the agent applies your project's design system, picks the right asset medium, and ships.
|
|
35
25
|
|
|
36
|
-
|
|
26
|
+
`DESIGN.md` is the brand spec ([Google Stitch](https://stitch.withgoogle.com/docs/design-md/overview/) tokens + the OmD v0.1 brand-philosophy layer: Voice / Narrative / Principles / Personas / States / Motion). 67 real-company DESIGN.md files ship in this package. Pick one, customize through conversation, ship.
|
|
37
27
|
|
|
38
|
-
|
|
39
|
-
2. **[Claude Code skill](.claude/skills/omd/SKILL.md)** — auto-applies the spec as a hard constraint when generating UI in Claude Code.
|
|
40
|
-
3. **[67 reference files](references/)** — real-company `DESIGN.md` files you can fork, customize with the interactive builder, and ship.
|
|
28
|
+
**No API keys. No external infra. Everything runs inside your existing CLI session.**
|
|
41
29
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
## Ecosystem v1 — agent integration (new)
|
|
45
|
-
|
|
46
|
-
`oh-my-design` now ships a coding-agent ecosystem so `DESIGN.md` is **read and respected** by Claude Code, Codex, OpenCode, and Cursor while you work — not just generated once and forgotten.
|
|
47
|
-
|
|
48
|
-
**Zero-install (recommended):**
|
|
30
|
+
## Install
|
|
49
31
|
|
|
50
32
|
```bash
|
|
51
33
|
cd my-project
|
|
52
|
-
|
|
53
|
-
# 1. One-time: install agent skills (.claude/skills, .codex/skills, .opencode/agents)
|
|
54
34
|
npx oh-my-design-cli install-skills
|
|
55
|
-
|
|
56
|
-
# 2. Bootstrap DESIGN.md from a reference + your project description
|
|
57
|
-
# (run from inside Claude Code/Codex/OpenCode and the omd:init skill drives this)
|
|
58
|
-
npx oh-my-design-cli init recommend "warm approachable B2C marketplace"
|
|
59
|
-
npx oh-my-design-cli init prepare --ref airbnb --description "warm approachable B2C marketplace"
|
|
60
|
-
|
|
61
|
-
# 3. Install / refresh shim files so all four agents read DESIGN.md
|
|
62
|
-
npx oh-my-design-cli sync
|
|
63
|
-
|
|
64
|
-
# 4. As you work, log preferences whenever the agent gets a design choice wrong
|
|
65
|
-
npx oh-my-design-cli remember "CTAs are never uppercase"
|
|
66
|
-
|
|
67
|
-
# 5. Periodically fold pending preferences into DESIGN.md
|
|
68
|
-
npx oh-my-design-cli learn # list pending
|
|
69
|
-
npx oh-my-design-cli learn --mark-applied <id> # after the fold
|
|
70
35
|
```
|
|
71
36
|
|
|
72
|
-
|
|
37
|
+
Then restart your agent (Cmd+Q in Claude Code, then relaunch) so the new skills + agents are loaded.
|
|
73
38
|
|
|
74
|
-
|
|
75
|
-
npm install -g oh-my-design-cli
|
|
76
|
-
# Now use either `oh-my-design` or the short alias `omd`
|
|
77
|
-
omd install-skills
|
|
78
|
-
omd sync
|
|
79
|
-
omd remember "..."
|
|
80
|
-
```
|
|
39
|
+
That is the only CLI command you will run. Everything else is natural language to your agent.
|
|
81
40
|
|
|
82
|
-
|
|
41
|
+
## How you use it
|
|
83
42
|
|
|
84
|
-
|
|
43
|
+
Open Claude Code (or Codex / OpenCode) in your project. Just talk:
|
|
85
44
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
| `DESIGN.md` | you | Single source of truth — brand & UI spec |
|
|
89
|
-
| `CLAUDE.md` | `omd sync` | Pointer (`@./DESIGN.md`) for Claude Code |
|
|
90
|
-
| `AGENTS.md` | `omd sync` | Pointer for Codex CLI **and** OpenCode (single file covers both) |
|
|
91
|
-
| `.cursor/rules/omd-design.mdc` | `omd sync` | Auto-attaches DESIGN.md when Cursor edits UI files |
|
|
92
|
-
| `.claude/skills/omd-*/SKILL.md` | `omd install-skills` | Claude Code skill bundle (5 skills) |
|
|
93
|
-
| `.codex/skills/omd-*/SKILL.md` | `omd install-skills` | Codex skill bundle (5 skills) |
|
|
94
|
-
| `.opencode/agents/omd-*.md` | `omd install-skills` | OpenCode agent bundle (5 agents) |
|
|
95
|
-
| `.omd/preferences.md` | `omd remember` | Append-only design correction log |
|
|
96
|
-
| `.omd/sync.lock.json` | `omd sync` | Drift detection state |
|
|
45
|
+
> "Set up the design system for a calm B2B fintech dashboard."
|
|
46
|
+
> Agent picks a reference from 67 (likely Linear or Stripe), proposes a hybrid DESIGN.md, asks for confirmation, writes the file plus shims.
|
|
97
47
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
### The five skills
|
|
101
|
-
|
|
102
|
-
| Skill | Trigger | What it does |
|
|
103
|
-
|---|---|---|
|
|
104
|
-
| `omd:init` | "make me a DESIGN.md" / "set up brand" | Recommends a reference, asks for project description, generates a Hybrid variation that **preserves the reference's voice** while applying project-context deltas, writes DESIGN.md + shims |
|
|
105
|
-
| `omd:apply` | Any UI / styling / microcopy / motion task | Loads DESIGN.md + pending preferences as authoritative brand context, **auto-logs** any user correction it detects via `omd remember` |
|
|
106
|
-
| `omd:sync` | "shim drift" / "AGENTS.md sync" | Runs `omd sync` with appropriate flags |
|
|
107
|
-
| `omd:remember` | "remember that ..." / "we don't ..." | Appends a structured entry to `.omd/preferences.md` |
|
|
108
|
-
| `omd:learn` | "fold preferences into DESIGN.md" | Groups pending preferences by scope, proposes coherent DESIGN.md edits, flips status to applied |
|
|
48
|
+
> "Make the empty-state for the search results page."
|
|
49
|
+
> Agent reads DESIGN.md, builds the component with brand tokens, picks an inline SVG illustration matching the voice, drops in microcopy that follows the §10 voice rules.
|
|
109
50
|
|
|
110
|
-
|
|
51
|
+
> "Design the entire onboarding from scratch — Toss-style for a family meal-tracking app."
|
|
52
|
+
> Agent invokes the harness — runs the 10-phase pipeline (discovery, research, IA, wireframes, components, assets, microcopy, validation, handoff), spawns sub-agents in parallel where possible, asks you 3 mandatory checkpoints, hands back a v0/Cursor-ready package.
|
|
111
53
|
|
|
112
|
-
|
|
54
|
+
> "Render a 3D water glass for the hero."
|
|
55
|
+
> Agent recommends Blender, walks you through install-on-demand (it does not bundle it in the upfront bootstrap), then renders with materials cited from DESIGN.md §2 and §6.
|
|
113
56
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
omd init prepare --ref <id> --description <text>
|
|
117
|
-
# stages .omd/init-context.json + delta_set
|
|
118
|
-
omd install-skills [--agent ...] # copy skills/* into .claude /.codex /.opencode
|
|
119
|
-
omd reference list # list bundled reference ids
|
|
120
|
-
omd reference show <id> # print a reference DESIGN.md to stdout
|
|
121
|
-
omd sync [--force | --check] # write or audit shim files
|
|
122
|
-
omd remember <note> [--scope ...] # append a preference entry
|
|
123
|
-
omd learn # list pending preferences
|
|
124
|
-
omd learn --mark-applied <id> # after applying to DESIGN.md
|
|
125
|
-
omd learn --mark-rejected <id> --reason <text>
|
|
126
|
-
```
|
|
57
|
+
> "Add a daily-intake line chart."
|
|
58
|
+
> Agent reads your `package.json`, sees `recharts` is installed, builds the chart with brand colors, no library mismatch.
|
|
127
59
|
|
|
128
|
-
|
|
60
|
+
> "We never use uppercase CTAs."
|
|
61
|
+
> Agent silently appends to `.omd/preferences.md`. Next time anyone makes a CTA, that rule applies. Later you can say "fold preferences into DESIGN.md" and the agent merges by scope.
|
|
129
62
|
|
|
130
|
-
|
|
63
|
+
## What gets installed
|
|
131
64
|
|
|
132
|
-
|
|
|
65
|
+
| Path | Owner | Purpose |
|
|
133
66
|
|---|---|---|
|
|
134
|
-
|
|
|
135
|
-
|
|
|
136
|
-
|
|
|
137
|
-
|
|
|
138
|
-
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
- **
|
|
165
|
-
- **
|
|
166
|
-
- **
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
## Exported DESIGN.md
|
|
185
|
-
|
|
186
|
-
Follows the [Google Stitch DESIGN.md format](https://stitch.withgoogle.com/docs/design-md/overview/) — base sections 1–9, plus the OmD v0.1 Philosophy Layer (sections 10–15) when enabled:
|
|
187
|
-
|
|
188
|
-
**Base (Google Stitch)**
|
|
189
|
-
1. Visual Theme & Atmosphere
|
|
190
|
-
2. Color Palette & Roles
|
|
191
|
-
3. Typography Rules
|
|
192
|
-
4. Component Stylings
|
|
193
|
-
5. Layout Principles
|
|
194
|
-
6. Depth & Elevation
|
|
195
|
-
7. Do's and Don'ts
|
|
196
|
-
8. Responsive Behavior
|
|
197
|
-
9. Agent Prompt Guide
|
|
198
|
-
|
|
199
|
-
**OmD v0.1 Philosophy Layer (additive)**
|
|
200
|
-
|
|
201
|
-
10. Voice & Tone
|
|
202
|
-
11. Brand Narrative
|
|
203
|
-
12. Principles
|
|
204
|
-
13. Personas
|
|
205
|
-
14. States
|
|
206
|
-
15. Motion & Easing
|
|
207
|
-
|
|
208
|
-
Plus: Style Preferences, Included Components, Iconography & SVG Guidelines, Document Policies.
|
|
209
|
-
|
|
210
|
-
## Project Structure
|
|
211
|
-
|
|
212
|
-
```
|
|
213
|
-
oh-my-design/
|
|
214
|
-
spec/ OmD v0.1 spec (authoritative)
|
|
215
|
-
.claude/skills/omd/ Claude Code skill bundle
|
|
216
|
-
references/ 67 company DESIGN.md files
|
|
217
|
-
src/ CLI core (TypeScript)
|
|
218
|
-
web/ Next.js web builder
|
|
219
|
-
src/app/ Landing + Builder + Directory pages
|
|
220
|
-
src/components/ Wizard, Preview, Export
|
|
221
|
-
test/ CLI Vitest suite (unit/, integration/, scripts/)
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
Web tests are colocated next to source files (`web/src/**/*.test.ts`).
|
|
225
|
-
|
|
226
|
-
## Testing
|
|
227
|
-
|
|
228
|
-
Two suites, both under Vitest, both must pass:
|
|
229
|
-
|
|
230
|
-
```bash
|
|
231
|
-
npm test # CLI: 370 tests — unit + per-reference smoke
|
|
232
|
-
cd web && npm test # Web: 88 tests — generate-css, config-hash, survey
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
The integration suite (`test/integration/all-references.test.ts`) runs the full generation pipeline against every `references/<id>/DESIGN.md`, so a malformed reference surfaces as a per-ref failure in PR review. See [test/README.md](test/README.md) for the folder convention and module-by-module coverage map.
|
|
236
|
-
|
|
237
|
-
## Acknowledgments
|
|
238
|
-
|
|
239
|
-
- [VoltAgent/awesome-design-md](https://github.com/VoltAgent/awesome-design-md) — the upstream collection of DESIGN.md files that seeded this project.
|
|
240
|
-
- [kzhrknt/awesome-design-md-jp](https://github.com/kzhrknt/awesome-design-md-jp) — Japanese-market design-system references.
|
|
241
|
-
|
|
242
|
-
oh-my-design extends these collections with an interactive customization wizard, A/B style preferences, component selection, a Design Systems directory, and a CLI export pipeline.
|
|
67
|
+
| `.claude/skills/omd-*/SKILL.md` | install-skills | Claude Code skill bundle (apply / harness / init / learn / remember / sync) |
|
|
68
|
+
| `.codex/skills/omd-*/SKILL.md` | install-skills | Codex skill bundle |
|
|
69
|
+
| `.opencode/agents/omd-*.md` | install-skills | OpenCode agent bundle |
|
|
70
|
+
| `.claude/agents/omd-*.md` | install-skills | 11 canonical sub-agents (master + 10 specialists) |
|
|
71
|
+
| `.claude/data/*` | install-skills | 67-reference fingerprints, vocabulary, opt-out corpus |
|
|
72
|
+
| `.claude/hooks/*.cjs` | install-skills | UserPromptSubmit / SessionStart / PostToolUse hooks |
|
|
73
|
+
| `.claude/skills/skill-rules.json` | install-skills | Skill activation rules |
|
|
74
|
+
| `references/*/DESIGN.md` | bundled | 67 real design systems |
|
|
75
|
+
| `DESIGN.md` | your agent (after init flow) | Your project's authoritative brand spec |
|
|
76
|
+
| `CLAUDE.md` / `AGENTS.md` / `.cursor/rules/omd-design.mdc` | omd-sync skill | Pointers so every agent reads DESIGN.md |
|
|
77
|
+
| `.omd/preferences.md` | omd-remember skill | Append-only design correction log |
|
|
78
|
+
| `.omd/runs/<id>/` | omd-harness skill | Per-harness-run artifacts (briefs, wireframes, eval, handoff zips) |
|
|
79
|
+
|
|
80
|
+
## The 6 skills + 11 agents
|
|
81
|
+
|
|
82
|
+
Skills (loaded into your agent's context based on prompt triggers):
|
|
83
|
+
|
|
84
|
+
- **omd:apply** — DESIGN.md as authoritative context for every UI task. Routes complex requests (assets, charts, full screens, a11y audit) to specialized sub-agents.
|
|
85
|
+
- **omd:init** — Bootstrap DESIGN.md from a reference + project description. 67 references, hybrid variation that preserves the reference voice while shifting only user-named axes.
|
|
86
|
+
- **omd:harness** — `/omd-harness <task>` to run the 10-phase design pipeline with checkpoints. Spawns sub-agents in parallel.
|
|
87
|
+
- **omd:remember** — Captures user corrections to `.omd/preferences.md` automatically when the agent detects them.
|
|
88
|
+
- **omd:learn** — Folds pending corrections back into DESIGN.md by scope.
|
|
89
|
+
- **omd:sync** — Maintains the shim files (CLAUDE.md / AGENTS.md / Cursor mdc) so every agent reads your DESIGN.md.
|
|
90
|
+
|
|
91
|
+
Sub-agents — 1 orchestrator + 10 specialists (invoked by the master or directly by skills):
|
|
92
|
+
|
|
93
|
+
- **omd-master** — Conversational state machine, runs the harness phases. opus.
|
|
94
|
+
- **omd-ux-researcher** — Reads bundled references, validates Tier-1 official design system URLs. opus.
|
|
95
|
+
- **omd-ui-junior** — Generates wireframes and component manifests from DESIGN.md. sonnet.
|
|
96
|
+
- **omd-ux-engineer** — Section-level interaction / motion / IA / mobile / perceived-perf audit + code-level fixes. NN/g heuristics + Refactoring UI + Web Vitals + WAI-ARIA. Senior advisor; pairs with `omd-ui-junior` (generator). opus.
|
|
97
|
+
- **omd-asset-curator** — Picks asset medium (inline SVG / chart library / Lottie / Rive / Unsplash / 3D), generates inline code or sources external. Stack-aware (recharts vs chartjs vs custom SVG, lucide vs heroicons, etc.). sonnet.
|
|
98
|
+
- **omd-3d-blender** — Blender MCP renderer with just-in-time install walkthrough. opus.
|
|
99
|
+
- **omd-microcopy** — Voice-consistent copy generation tied to DESIGN.md §10. sonnet.
|
|
100
|
+
- **omd-ux-writer** — Section-level copy audit + 2-3 strong alternatives + A/B hypothesis. Podmajersky / Erika Hall / Mailchimp / Stripe / GitHub voice docs integrated. Senior advisor; pairs with `omd-microcopy` (generator). opus.
|
|
101
|
+
- **omd-a11y-auditor** — WCAG checks. haiku.
|
|
102
|
+
- **omd-persona-tester** — Adversarial 4-persona walkthrough (V/J/F/S). sonnet.
|
|
103
|
+
- **omd-critic** — Root-cause analysis when the user iterates. opus.
|
|
104
|
+
|
|
105
|
+
## What 1.0.0 is not
|
|
106
|
+
|
|
107
|
+
- It is not a collection of CLI commands. There is one bootstrap command. Everything else is skill prose.
|
|
108
|
+
- It is not an SDK. The `dist/index.js` programmatic API is gone. If you need the matching algorithm or shim format, look at the skill markdown directly.
|
|
109
|
+
- It does not generate emojis as icons. Asset agent prefers inline SVG (Lucide-matched or custom).
|
|
110
|
+
|
|
111
|
+
If you were on 0.1.x: see [MIGRATION.md](MIGRATION.md). All your old CLI commands are now spoken to your agent.
|
|
112
|
+
|
|
113
|
+
## Status
|
|
114
|
+
|
|
115
|
+
`v1.0.0` — first skill-first release. Surface area collapsed by ~92% versus 0.1.x. Stable for the install bootstrap; the harness is improving every release as the agent prose tightens.
|
|
243
116
|
|
|
244
117
|
## License
|
|
245
118
|
|
|
246
|
-
|
|
119
|
+
MIT. References belong to their respective companies — they are reproduced for educational reference.
|
package/agents/AGENT.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# AGENT.md — oh-my-design harness compact context (≤ 60 lines, Ralph convention)
|
|
2
|
+
|
|
3
|
+
A 60-line operational context card. Loaded into the project at install via `omd install-skills`. Source of truth for what an agent needs to know about *this* project on every iteration.
|
|
4
|
+
|
|
5
|
+
## Identity
|
|
6
|
+
- **Project:** oh-my-design — a CLI + skill bundle that turns AI coding agents into a design harness.
|
|
7
|
+
- **Output artifact:** `DESIGN.md` (Google Stitch 1–9 + OmD 10–15) + harness run dir at `.omd/runs/`.
|
|
8
|
+
- **Target users:** vibe coders, junior designers, solo founders.
|
|
9
|
+
|
|
10
|
+
## Stack & commands
|
|
11
|
+
- Build: `npm run build` (tsup) · Lint: `npm run lint` (tsc --noEmit) · Test: `npm test` (vitest)
|
|
12
|
+
- Hidden internal helper: `omd harness "<task>" --internal` (slug + run dir; emits single JSON line)
|
|
13
|
+
- User-facing entry: `/omd-harness <task>` (Claude Code or Codex skill)
|
|
14
|
+
|
|
15
|
+
## Directory map
|
|
16
|
+
- `agents/` — canonical 11 sub-agent definitions (master + 10 specialists; source-of-truth, generates `.claude/agents/` and `.codex/agents/`)
|
|
17
|
+
- `skills/omd-harness/` — entry skill that calls master orchestrator
|
|
18
|
+
- `skills/omd-init/`, `skills/omd-apply/`, `skills/omd-remember/`, `skills/omd-learn/`, `skills/omd-sync/` — existing OmD skills
|
|
19
|
+
- `data/reference-fingerprints.json` — 67-reference voice fingerprint manifest (skill-side semantic match)
|
|
20
|
+
- `data/vocabulary.json`, `data/synonyms.json`, `data/reference-tags.md` — controlled vocab + tagging
|
|
21
|
+
- `references/<id>/DESIGN.md` × 67 — bundled reference design systems
|
|
22
|
+
- `spec/omd-v0.1.md` — OmD spec (15-section DESIGN.md format)
|
|
23
|
+
- `.omd/runs/run-<ts>-<slug>/` — every harness run; permanent archive
|
|
24
|
+
- `skills/omd-lab-02-design-harness/runs/v<N>-...` — Lab #02 versioned experiments
|
|
25
|
+
|
|
26
|
+
## Core architecture (re-read every Phase 8)
|
|
27
|
+
- **Single Ralph-style loop**, fan-out only at: ux-research (parallel readers), persona-testing (parallel adversarial)
|
|
28
|
+
- **OmD spec is already a harness signature** — §10 → microcopy, §12 → orchestrator constraint, §13 → tester input, §14 → QA checklist
|
|
29
|
+
- **Eval pipeline**: deterministic gate (axe + lighthouse + spec validate) → cross-judge ensemble (3-prompt diversity, no API key) → adversarial persona walkthrough (4 personas, ABANDON token, hard turn budget)
|
|
30
|
+
- **3 mandatory user checkpoints**: Phase 3 (journey), Phase 5 (DESIGN.md.patch), Phase 8 (validation summary)
|
|
31
|
+
- **3-iteration cap**, critic between iterations forces root-cause re-entry (no surface patches)
|
|
32
|
+
|
|
33
|
+
## Brand non-negotiables (apply to *this* project's own UI)
|
|
34
|
+
- No Inter on white. No purple-on-white. No gradient backgrounds. No unjustified emoji.
|
|
35
|
+
- Korean and Latin script co-equal (this is a bilingual project).
|
|
36
|
+
- Hex + name together for every color: `Toss Blue (#3182f6)`, never just `#3182f6`.
|
|
37
|
+
|
|
38
|
+
## Numbered-9s (re-read at every iteration boundary)
|
|
39
|
+
- 9 → re-read sub-agent output before acting
|
|
40
|
+
- 99 → user feedback → trace to Phase decision (critic), not surface-patch
|
|
41
|
+
- 999 → never fabricate §11–13 facts
|
|
42
|
+
- 9999 → never invent tokens absent from DESIGN.md
|
|
43
|
+
- 99999 → never auto-skip user checkpoints
|
|
44
|
+
- 999999 → never invent reference ids; 67-only catalog
|
|
45
|
+
- 9999999 → never claim success when output is empty; Read the file
|
|
46
|
+
- 99999999 → never overwrite previous iteration; snapshot to `iteration-<N>/`
|
|
47
|
+
|
|
48
|
+
## Where to look when stuck
|
|
49
|
+
- `research/harness-design/06-omd-integration-design.md` — full architecture
|
|
50
|
+
- `research/harness-design/07-poc-spec.md` — Scenario A/B/C
|
|
51
|
+
- `skills/omd-lab-02-design-harness/runs/live-*.md` — accumulated live-run insights
|
|
52
|
+
- `research/harness-design/docs-todo.md` — pending docs/blogs queue
|
|
53
|
+
|