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
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
## 5. Layout Principles
|
|
2
|
-
|
|
3
|
-
### Spacing Scale
|
|
4
|
-
|
|
5
|
-
Base unit: **{{spacing.baseUnit}}px**
|
|
6
|
-
|
|
7
|
-
| Index | Value | Usage |
|
|
8
|
-
|-------|-------|-------|
|
|
9
|
-
{{#each spacing.scale}}
|
|
10
|
-
| {{@index}} | {{this}}px | {{spacingUsage @index}} |
|
|
11
|
-
{{/each}}
|
|
12
|
-
|
|
13
|
-
### Section Gap
|
|
14
|
-
|
|
15
|
-
`{{spacing.sectionGap}}` — vertical space between major page sections.
|
|
16
|
-
|
|
17
|
-
### Component Padding
|
|
18
|
-
|
|
19
|
-
| Size | Value |
|
|
20
|
-
|------|-------|
|
|
21
|
-
| Small | `{{spacing.componentPadding.sm}}` |
|
|
22
|
-
| Medium | `{{spacing.componentPadding.md}}` |
|
|
23
|
-
| Large | `{{spacing.componentPadding.lg}}` |
|
|
24
|
-
|
|
25
|
-
### Grid
|
|
26
|
-
|
|
27
|
-
- Use a **12-column grid** for page-level layout
|
|
28
|
-
- Gutter width: `{{spacing.baseUnit}}px` × 4 = {{multiply spacing.baseUnit 4}}px
|
|
29
|
-
- Maximum content width: 1280px
|
|
30
|
-
- Side margins collapse to `{{spacing.componentPadding.md}}` on mobile
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
## 8. Responsive Behavior
|
|
2
|
-
|
|
3
|
-
### Breakpoints
|
|
4
|
-
|
|
5
|
-
| Name | Width | Usage |
|
|
6
|
-
|------|-------|-------|
|
|
7
|
-
| `sm` | 640px | Mobile landscape |
|
|
8
|
-
| `md` | 768px | Tablets |
|
|
9
|
-
| `lg` | 1024px | Small laptops |
|
|
10
|
-
| `xl` | 1280px | Desktops |
|
|
11
|
-
| `2xl` | 1536px | Large screens |
|
|
12
|
-
|
|
13
|
-
### Touch Targets
|
|
14
|
-
|
|
15
|
-
- Minimum interactive element size: **44×44px** (WCAG 2.5.8)
|
|
16
|
-
- Minimum spacing between touch targets: **8px**
|
|
17
|
-
|
|
18
|
-
### Responsive Rules
|
|
19
|
-
|
|
20
|
-
- **Typography**: Scale down `h1` by 1 step below `md` breakpoint
|
|
21
|
-
- **Spacing**: Reduce section gaps by ~30% below `md`
|
|
22
|
-
- **Layout**: Switch from multi-column to single-column below `md`
|
|
23
|
-
- **Navigation**: Collapse to hamburger menu below `lg`
|
|
24
|
-
- **Tables**: Use horizontal scroll or card layout below `md`
|
|
25
|
-
- **Modals**: Full-screen on mobile, centered overlay on desktop
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
## 10. shadcn/ui Theme
|
|
2
|
-
|
|
3
|
-
Copy this CSS block into your `globals.css` to apply this design system to shadcn/ui components.
|
|
4
|
-
|
|
5
|
-
```css
|
|
6
|
-
@layer base {
|
|
7
|
-
:root {
|
|
8
|
-
--background: {{hsl colors.background}};
|
|
9
|
-
--foreground: {{hsl colors.foreground}};
|
|
10
|
-
--card: {{hsl colors.card.base}};
|
|
11
|
-
--card-foreground: {{hsl colors.card.foreground}};
|
|
12
|
-
--popover: {{hsl colors.popover.base}};
|
|
13
|
-
--popover-foreground: {{hsl colors.popover.foreground}};
|
|
14
|
-
--primary: {{hsl colors.primary.base}};
|
|
15
|
-
--primary-foreground: {{hsl colors.primary.foreground}};
|
|
16
|
-
--secondary: {{hsl colors.secondary.base}};
|
|
17
|
-
--secondary-foreground: {{hsl colors.secondary.foreground}};
|
|
18
|
-
--muted: {{hsl colors.muted.base}};
|
|
19
|
-
--muted-foreground: {{hsl colors.muted.foreground}};
|
|
20
|
-
--accent: {{hsl colors.accent.base}};
|
|
21
|
-
--accent-foreground: {{hsl colors.accent.foreground}};
|
|
22
|
-
--destructive: {{hsl colors.destructive.base}};
|
|
23
|
-
--destructive-foreground: {{hsl colors.destructive.foreground}};
|
|
24
|
-
--border: {{hsl colors.border}};
|
|
25
|
-
--input: {{hsl colors.input}};
|
|
26
|
-
--ring: {{hsl colors.ring}};
|
|
27
|
-
--radius: {{radius.md}};
|
|
28
|
-
--chart-1: {{hsl (chartColor colors.chart 0)}};
|
|
29
|
-
--chart-2: {{hsl (chartColor colors.chart 1)}};
|
|
30
|
-
--chart-3: {{hsl (chartColor colors.chart 2)}};
|
|
31
|
-
--chart-4: {{hsl (chartColor colors.chart 3)}};
|
|
32
|
-
--chart-5: {{hsl (chartColor colors.chart 4)}};
|
|
33
|
-
}
|
|
34
|
-
{{#if darkColors}}
|
|
35
|
-
|
|
36
|
-
.dark {
|
|
37
|
-
--background: {{hsl darkColors.background}};
|
|
38
|
-
--foreground: {{hsl darkColors.foreground}};
|
|
39
|
-
--card: {{hsl darkColors.card.base}};
|
|
40
|
-
--card-foreground: {{hsl darkColors.card.foreground}};
|
|
41
|
-
--popover: {{hsl darkColors.popover.base}};
|
|
42
|
-
--popover-foreground: {{hsl darkColors.popover.foreground}};
|
|
43
|
-
--primary: {{hsl darkColors.primary.base}};
|
|
44
|
-
--primary-foreground: {{hsl darkColors.primary.foreground}};
|
|
45
|
-
--secondary: {{hsl darkColors.secondary.base}};
|
|
46
|
-
--secondary-foreground: {{hsl darkColors.secondary.foreground}};
|
|
47
|
-
--muted: {{hsl darkColors.muted.base}};
|
|
48
|
-
--muted-foreground: {{hsl darkColors.muted.foreground}};
|
|
49
|
-
--accent: {{hsl darkColors.accent.base}};
|
|
50
|
-
--accent-foreground: {{hsl darkColors.accent.foreground}};
|
|
51
|
-
--destructive: {{hsl darkColors.destructive.base}};
|
|
52
|
-
--destructive-foreground: {{hsl darkColors.destructive.foreground}};
|
|
53
|
-
--border: {{hsl darkColors.border}};
|
|
54
|
-
--input: {{hsl darkColors.input}};
|
|
55
|
-
--ring: {{hsl darkColors.ring}};
|
|
56
|
-
--chart-1: {{hsl (chartColor darkColors.chart 0)}};
|
|
57
|
-
--chart-2: {{hsl (chartColor darkColors.chart 1)}};
|
|
58
|
-
--chart-3: {{hsl (chartColor darkColors.chart 2)}};
|
|
59
|
-
--chart-4: {{hsl (chartColor darkColors.chart 3)}};
|
|
60
|
-
--chart-5: {{hsl (chartColor darkColors.chart 4)}};
|
|
61
|
-
}
|
|
62
|
-
{{/if}}
|
|
63
|
-
}
|
|
64
|
-
```
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
## 3. Typography Rules
|
|
2
|
-
|
|
3
|
-
### Font Families
|
|
4
|
-
|
|
5
|
-
| Role | Stack |
|
|
6
|
-
|------|-------|
|
|
7
|
-
| Sans / Body | `{{typography.fontFamily.sans}}` |
|
|
8
|
-
| Monospace | `{{typography.fontFamily.mono}}` |
|
|
9
|
-
| Headings | `{{typography.fontFamily.heading}}` |
|
|
10
|
-
|
|
11
|
-
### Type Scale
|
|
12
|
-
|
|
13
|
-
| Token | Size | Usage |
|
|
14
|
-
|-------|------|-------|
|
|
15
|
-
| `xs` | {{typography.scale.xs}} | Captions, helper text |
|
|
16
|
-
| `sm` | {{typography.scale.sm}} | Secondary text, labels |
|
|
17
|
-
| `base` | {{typography.scale.base}} | Body text |
|
|
18
|
-
| `lg` | {{typography.scale.lg}} | Lead paragraphs, emphasized body |
|
|
19
|
-
| `xl` | {{typography.scale.xl}} | H4, card titles |
|
|
20
|
-
| `2xl` | {{lookup typography.scale "2xl"}} | H3, section titles |
|
|
21
|
-
| `3xl` | {{lookup typography.scale "3xl"}} | H2, page subtitles |
|
|
22
|
-
| `4xl` | {{lookup typography.scale "4xl"}} | H1, page titles, hero headings |
|
|
23
|
-
|
|
24
|
-
### Font Weights
|
|
25
|
-
|
|
26
|
-
| Token | Value | Usage |
|
|
27
|
-
|-------|-------|-------|
|
|
28
|
-
| Normal | {{typography.weight.normal}} | Body text |
|
|
29
|
-
| Medium | {{typography.weight.medium}} | Labels, navigation items |
|
|
30
|
-
| Semibold | {{typography.weight.semibold}} | Subheadings, button text |
|
|
31
|
-
| Bold | {{typography.weight.bold}} | Headings, strong emphasis |
|
|
32
|
-
|
|
33
|
-
### Line Heights
|
|
34
|
-
|
|
35
|
-
- **Tight** ({{typography.lineHeight.tight}}): Headings, display text
|
|
36
|
-
- **Normal** ({{typography.lineHeight.normal}}): Body text, paragraphs
|
|
37
|
-
- **Relaxed** ({{typography.lineHeight.relaxed}}): Long-form content, readability-critical text
|
|
38
|
-
|
|
39
|
-
### Letter Spacing
|
|
40
|
-
|
|
41
|
-
- **Tight** (`{{typography.letterSpacing.tight}}`): Large headings
|
|
42
|
-
- **Normal** (`{{typography.letterSpacing.normal}}`): Body text
|
|
43
|
-
- **Wide** (`{{typography.letterSpacing.wide}}`): Uppercase labels, small caps
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
## 1. Visual Theme & Atmosphere
|
|
2
|
-
|
|
3
|
-
{{#if (eq preferences.mood "clean")}}
|
|
4
|
-
This design system prioritizes **clarity and precision**. Every element serves a functional purpose with clean lines, ample whitespace, and a professional tone. The visual language communicates trust and competence through restraint.
|
|
5
|
-
{{/if}}
|
|
6
|
-
{{#if (eq preferences.mood "warm")}}
|
|
7
|
-
This design system balances **professionalism with approachability**. Soft edges, warm neutral tones, and generous spacing create an inviting atmosphere. The visual language feels human and accessible without sacrificing clarity.
|
|
8
|
-
{{/if}}
|
|
9
|
-
{{#if (eq preferences.mood "bold")}}
|
|
10
|
-
This design system is **confident and energetic**. Strong contrast, decisive typography, and vibrant accents create a sense of momentum. The visual language commands attention while maintaining functional clarity.
|
|
11
|
-
{{/if}}
|
|
12
|
-
{{#if (eq preferences.mood "minimal")}}
|
|
13
|
-
This design system embraces **quiet sophistication**. Stripped to essentials, it relies on typography, whitespace, and subtle tonal shifts to create hierarchy. The visual language is restrained, letting content take center stage.
|
|
14
|
-
{{/if}}
|
|
15
|
-
{{#if (eq preferences.mood "playful")}}
|
|
16
|
-
This design system is **creative and expressive**. Rounded forms, vibrant colors, and layered depth create a sense of delight. The visual language encourages exploration while maintaining usability.
|
|
17
|
-
{{/if}}
|
|
18
|
-
{{#if (eq preferences.mood "dark")}}
|
|
19
|
-
This design system is built for **focused, immersive experiences**. High contrast on dark surfaces, precise typography, and minimal decoration create a technical aesthetic. The visual language communicates expertise and efficiency.
|
|
20
|
-
{{/if}}
|
|
21
|
-
|
|
22
|
-
- **Mood**: {{preferences.mood}}
|
|
23
|
-
- **Typography style**: {{preferences.typography}}
|
|
24
|
-
- **Density**: {{preferences.density}}
|
|
25
|
-
- **Corner style**: {{preferences.roundness}}
|
|
26
|
-
- **Depth approach**: {{preferences.depth}}
|