ai-developer-skill-os 9.3.0 → 10.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/AGENTS.md +60 -40
- package/.agents/DEV_PROFILE.md +36 -2
- package/.agents/registry/graph.json +95 -342
- package/.agents/registry/index.yaml +61 -237
- package/.agents/rules/coding.md +30 -12
- package/.agents/rules/command-safety.md +19 -8
- package/.agents/rules/global.md +234 -28
- package/.agents/rules/prompt-compiler.md +170 -0
- package/.agents/skills/qk-api-data-discovery/SKILL.md +470 -0
- package/.agents/skills/qk-backend-data/SKILL.md +190 -0
- package/.agents/skills/qk-bug-resolution/SKILL.md +176 -248
- package/.agents/skills/qk-code-cleaner/SKILL.md +250 -0
- package/.agents/skills/qk-code-review/SKILL.md +126 -247
- package/.agents/skills/qk-devops-release/SKILL.md +145 -0
- package/.agents/skills/qk-feature-delivery/SKILL.md +179 -247
- package/.agents/skills/qk-orchestrator/SKILL.md +100 -151
- package/.agents/skills/qk-product-spec/SKILL.md +113 -0
- package/.agents/skills/qk-prompt-compiler/SKILL.md +321 -0
- package/.agents/skills/qk-ui-engineer/SKILL.md +137 -0
- package/.agents/workflows/feature-delivery.yml +1 -1
- package/.agents/workflows/production-release.yml +1 -1
- package/.agents/workflows/spec-driven-development.yml +109 -87
- package/CHANGELOG.md +54 -0
- package/README.md +125 -184
- package/bin/install.js +337 -329
- package/package.json +2 -2
- package/.agents/README.md +0 -90
- package/.agents/docs/CHI_TIET_SKILLS.md +0 -126
- package/.agents/docs/HUONG_DAN_SU_DUNG.md +0 -120
- package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +0 -36
- package/.agents/docs/MIGRATION-STATUS.md +0 -35
- package/.agents/docs/MIGRATION-V8.md +0 -10
- package/.agents/docs/ROADMAP-V8.2.md +0 -78
- package/.agents/docs/V8-CERTIFICATION.md +0 -27
- package/.agents/skills/qk-access-policy/SKILL.md +0 -206
- package/.agents/skills/qk-access-policy/capability.yaml +0 -23
- package/.agents/skills/qk-access-policy/evals/scorecard.yaml +0 -36
- package/.agents/skills/qk-agent-observability/SKILL.md +0 -108
- package/.agents/skills/qk-agent-observability/capability.yaml +0 -29
- package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-agent-observability/references/scorecard.yaml +0 -80
- package/.agents/skills/qk-ai-builder/SKILL.md +0 -254
- package/.agents/skills/qk-ai-builder/capability.yaml +0 -23
- package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +0 -30
- package/.agents/skills/qk-api-consumer/SKILL.md +0 -256
- package/.agents/skills/qk-api-consumer/capability.yaml +0 -21
- package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-api-lifecycle/SKILL.md +0 -251
- package/.agents/skills/qk-api-lifecycle/capability.yaml +0 -23
- package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-bug-resolution/capability.yaml +0 -25
- package/.agents/skills/qk-code-review/capability.yaml +0 -23
- package/.agents/skills/qk-context-loader/SKILL.md +0 -198
- package/.agents/skills/qk-context-loader/capability.yaml +0 -23
- package/.agents/skills/qk-context-loader/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-data-engineer/SKILL.md +0 -253
- package/.agents/skills/qk-data-lifecycle/SKILL.md +0 -197
- package/.agents/skills/qk-data-lifecycle/capability.yaml +0 -23
- package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-db-optimizer/SKILL.md +0 -210
- package/.agents/skills/qk-db-optimizer/capability.yaml +0 -22
- package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-design-system-engineering/SKILL.md +0 -193
- package/.agents/skills/qk-design-system-engineering/capability.yaml +0 -25
- package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-devops-platform/SKILL.md +0 -198
- package/.agents/skills/qk-devops-platform/capability.yaml +0 -29
- package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-docs/SKILL.md +0 -193
- package/.agents/skills/qk-docs/capability.yaml +0 -23
- package/.agents/skills/qk-docs/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-engineering-standard/SKILL.md +0 -89
- package/.agents/skills/qk-engineering-standard/capability.yaml +0 -23
- package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-engineering-standard/references/anti-patterns.md +0 -121
- package/.agents/skills/qk-engineering-standard/rules/backend.md +0 -122
- package/.agents/skills/qk-engineering-standard/rules/database.md +0 -3
- package/.agents/skills/qk-engineering-standard/rules/frontend.md +0 -152
- package/.agents/skills/qk-engineering-standard/rules/security.md +0 -3
- package/.agents/skills/qk-engineering-standard/rules/testing.md +0 -3
- package/.agents/skills/qk-fe-api-integration/SKILL.md +0 -704
- package/.agents/skills/qk-fe-api-integration/capability.yaml +0 -21
- package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-feature-delivery/capability.yaml +0 -24
- package/.agents/skills/qk-frontend-architecture/SKILL.md +0 -127
- package/.agents/skills/qk-frontend-architecture/capability.yaml +0 -28
- package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-help/SKILL.md +0 -107
- package/.agents/skills/qk-help/capability.yaml +0 -20
- package/.agents/skills/qk-help/evals/scorecard.yaml +0 -13
- package/.agents/skills/qk-orchestrator/capability.yaml +0 -22
- package/.agents/skills/qk-product-specification/SKILL.md +0 -187
- package/.agents/skills/qk-product-specification/capability.yaml +0 -27
- package/.agents/skills/qk-product-specification/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-production-release/SKILL.md +0 -188
- package/.agents/skills/qk-production-release/capability.yaml +0 -27
- package/.agents/skills/qk-production-release/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-project-audit/SKILL.md +0 -174
- package/.agents/skills/qk-project-bootstrap/SKILL.md +0 -372
- package/.agents/skills/qk-project-bootstrap/capability.yaml +0 -23
- package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-project-health/SKILL.md +0 -202
- package/.agents/skills/qk-project-health/capability.yaml +0 -23
- package/.agents/skills/qk-project-health/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-project-memory/SKILL.md +0 -303
- package/.agents/skills/qk-project-memory/capability.yaml +0 -23
- package/.agents/skills/qk-project-memory/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-refactor/SKILL.md +0 -243
- package/.agents/skills/qk-refactor/capability.yaml +0 -26
- package/.agents/skills/qk-refactor/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-security-audit/SKILL.md +0 -280
- package/.agents/skills/qk-security-audit/capability.yaml +0 -29
- package/.agents/skills/qk-security-audit/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-system-evolution/SKILL.md +0 -625
- package/.agents/skills/qk-system-evolution/capability.yaml +0 -24
- package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-test-engineering/SKILL.md +0 -215
- package/.agents/skills/qk-test-engineering/capability.yaml +0 -28
- package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-audit/SKILL.md +0 -175
- package/.agents/skills/qk-ui-audit/capability.yaml +0 -23
- package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
- package/.agents/skills/qk-ui-builder/SKILL.md +0 -521
- package/.agents/skills/qk-ui-builder/capability.yaml +0 -29
- package/.agents/skills/qk-ui-builder/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-builder/references/anti-patterns.md +0 -295
- package/.agents/skills/qk-ui-builder/references/color.md +0 -115
- package/.agents/skills/qk-ui-builder/references/component-cookbook.md +0 -458
- package/.agents/skills/qk-ui-builder/references/copy.md +0 -250
- package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +0 -115
- package/.agents/skills/qk-ui-builder/references/layout-and-space.md +0 -111
- package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +0 -44
- package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +0 -45
- package/.agents/skills/qk-ui-builder/references/macrostructures.md +0 -38
- package/.agents/skills/qk-ui-builder/references/motion.md +0 -95
- package/.agents/skills/qk-ui-builder/references/responsive.md +0 -115
- package/.agents/skills/qk-ui-builder/references/slop-test.md +0 -135
- package/.agents/skills/qk-ui-builder/references/structure.md +0 -280
- package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +0 -53
- package/.agents/skills/qk-ui-builder/references/themes/carnival.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/editorial.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/garden.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/hum.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/lumen.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/midnight.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/playful.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/specimen.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/terminal.md +0 -52
- package/.agents/skills/qk-ui-builder/references/typography.md +0 -129
- package/.agents/skills/qk-ui-system-builder/SKILL.md +0 -183
- package/.agents/skills/qk-ui-system-builder/capability.yaml +0 -25
- package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-upgrade/SKILL.md +0 -301
- package/.agents/skills/qk-upgrade/capability.yaml +0 -24
- package/.agents/skills/qk-upgrade/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-validation-gate/SKILL.md +0 -88
- package/.agents/skills/qk-validation-gate/capability.yaml +0 -23
- package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-web-quality-gate/SKILL.md +0 -197
- package/.agents/skills/qk-web-quality-gate/capability.yaml +0 -24
- package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +0 -26
- package/.agents/workflows/research.yml +0 -75
- package/.agents/workflows/skill-evolution.yml +0 -97
- package/tooling/fix-refactor.js +0 -8
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Theme: Editorial
|
|
2
|
-
|
|
3
|
-
**Genre:** editorial
|
|
4
|
-
**Use case:** magazines, news, blogs
|
|
5
|
-
|
|
6
|
-
## Axes
|
|
7
|
-
|
|
8
|
-
| Axis | Value |
|
|
9
|
-
|------|-------|
|
|
10
|
-
| Paper band | light (85–100% lightness) |
|
|
11
|
-
| Display style | roman-serif |
|
|
12
|
-
| Accent hue | warm (20–50°) |
|
|
13
|
-
|
|
14
|
-
## Token Overrides
|
|
15
|
-
|
|
16
|
-
```css
|
|
17
|
-
:root {
|
|
18
|
-
--color-background: hsl(40, 15%, 97%);
|
|
19
|
-
--color-surface: hsl(40, 15%, 100%);
|
|
20
|
-
--color-text: hsl(40, 15%, 10%);
|
|
21
|
-
--color-text-muted: hsl(40, 5%, 40%);
|
|
22
|
-
--color-accent: hsl(30, 60%, 50%);
|
|
23
|
-
--color-accent-hover: hsl(30, 60%, 42%);
|
|
24
|
-
--font-display: 'Merriweather', 'Georgia', serif;
|
|
25
|
-
--font-body: 'Merriweather', 'Georgia', serif;
|
|
26
|
-
--radius-sm: 4px;
|
|
27
|
-
--radius-md: 4px;
|
|
28
|
-
--shadow-sm: 0 1px 2px hsl(40, 15%, 90%);
|
|
29
|
-
--shadow-md: 0 4px 12px hsl(40, 15%, 90%);
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Macrostructure Affinity
|
|
34
|
-
|
|
35
|
-
- ✅ Long Document
|
|
36
|
-
- ✅ Quote-Led
|
|
37
|
-
- ✅ Letter
|
|
38
|
-
- ❌ Bento Grid (too tech)
|
|
39
|
-
- ❌ Workbench (too dashboard)
|
|
40
|
-
|
|
41
|
-
## Anti-Patterns (Editorial-specific)
|
|
42
|
-
|
|
43
|
-
- ❌ Card-based layouts
|
|
44
|
-
- ❌ Icon grids
|
|
45
|
-
- ❌ Sans-serif headings
|
|
46
|
-
- ❌ Dashboard-style navigation
|
|
47
|
-
|
|
48
|
-
## Voice
|
|
49
|
-
|
|
50
|
-
- Headlines with strong verbs: "Revealed", "Analysis", "Opinion"
|
|
51
|
-
- Byline prominence
|
|
52
|
-
- Timestamps and read-time indicators
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Theme: Garden
|
|
2
|
-
|
|
3
|
-
**Genre:** atmospheric
|
|
4
|
-
**Use case:** organic, eco, sustainability
|
|
5
|
-
|
|
6
|
-
## Axes
|
|
7
|
-
|
|
8
|
-
| Axis | Value |
|
|
9
|
-
|------|-------|
|
|
10
|
-
| Paper band | light (85–100% lightness) |
|
|
11
|
-
| Display style | classical-serif |
|
|
12
|
-
| Accent hue | leaf-green (90–150°) |
|
|
13
|
-
|
|
14
|
-
## Token Overrides
|
|
15
|
-
|
|
16
|
-
```css
|
|
17
|
-
:root {
|
|
18
|
-
--color-background: hsl(90, 20%, 97%);
|
|
19
|
-
--color-surface: hsl(90, 20%, 100%);
|
|
20
|
-
--color-text: hsl(90, 15%, 12%);
|
|
21
|
-
--color-text-muted: hsl(90, 10%, 40%);
|
|
22
|
-
--color-accent: hsl(120, 35%, 40%);
|
|
23
|
-
--color-accent-hover: hsl(120, 35%, 32%);
|
|
24
|
-
--font-display: 'Lora', 'Times New Roman', serif;
|
|
25
|
-
--font-body: 'Lora', 'Times New Roman', serif;
|
|
26
|
-
--radius-sm: 6px;
|
|
27
|
-
--radius-md: 8px;
|
|
28
|
-
--shadow-sm: 0 1px 2px hsl(90, 15%, 90%);
|
|
29
|
-
--shadow-md: 0 4px 12px hsl(90, 15%, 90%);
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Macrostructure Affinity
|
|
34
|
-
|
|
35
|
-
- ✅ Photographic
|
|
36
|
-
- ✅ Long Document
|
|
37
|
-
- ✅ Quote-Led
|
|
38
|
-
- ❌ Stat-Led (too abstract)
|
|
39
|
-
- ❌ Workbench (too technical)
|
|
40
|
-
|
|
41
|
-
## Anti-Patterns (Garden-specific)
|
|
42
|
-
|
|
43
|
-
- ❌ Neon or electric colors
|
|
44
|
-
- ❌ Geometric sans-serif headings
|
|
45
|
-
- ❌ Dark mode only experiences
|
|
46
|
-
- ❌ Sharp industrial corners
|
|
47
|
-
|
|
48
|
-
## Voice
|
|
49
|
-
|
|
50
|
-
- Organic metaphors: "Grow", "Rooted", "Bloom"
|
|
51
|
-
- Conversational, warm tone
|
|
52
|
-
- Long-form storytelling
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Theme: Hum
|
|
2
|
-
|
|
3
|
-
**Genre:** atmospheric
|
|
4
|
-
**Use case:** Wellness, food, lifestyle, crafts
|
|
5
|
-
|
|
6
|
-
## Axes
|
|
7
|
-
|
|
8
|
-
| Axis | Value |
|
|
9
|
-
|------|-------|
|
|
10
|
-
| Paper band | dark (<30% lightness) |
|
|
11
|
-
| Display style | classical-serif |
|
|
12
|
-
| Accent hue | warm (10–60°) |
|
|
13
|
-
|
|
14
|
-
## Token Overrides
|
|
15
|
-
|
|
16
|
-
```css
|
|
17
|
-
:root {
|
|
18
|
-
--color-background: hsl(220, 15%, 10%);
|
|
19
|
-
--color-surface: hsl(220, 15%, 14%);
|
|
20
|
-
--color-text: hsl(220, 10%, 90%);
|
|
21
|
-
--color-text-muted: hsl(220, 10%, 65%);
|
|
22
|
-
--color-accent: hsl(35, 60%, 55%);
|
|
23
|
-
--color-accent-hover: hsl(35, 60%, 60%);
|
|
24
|
-
--font-display: 'Playfair Display', serif;
|
|
25
|
-
--font-body: 'Source Serif 4', serif;
|
|
26
|
-
--radius-sm: 4px;
|
|
27
|
-
--radius-md: 8px;
|
|
28
|
-
--shadow-sm: 0 1px 2px hsl(0, 0%, 0%);
|
|
29
|
-
--shadow-md: 0 4px 12px hsl(0, 0%, 0%);
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Macrostructure Affinity
|
|
34
|
-
|
|
35
|
-
- ✅ Narrative Workflow
|
|
36
|
-
- ✅ Photographic
|
|
37
|
-
- ✅ Quote-Led
|
|
38
|
-
- ❌ Component Playground (too technical)
|
|
39
|
-
- ❌ Index-First (too utilitarian)
|
|
40
|
-
|
|
41
|
-
## Anti-Patterns (Hum-specific)
|
|
42
|
-
|
|
43
|
-
- ❌ Pure black on pure white
|
|
44
|
-
- ❌ Geometric sans-serif for headings
|
|
45
|
-
- ❌ Bright neon accents
|
|
46
|
-
- ❌ Card-in-card layouts
|
|
47
|
-
|
|
48
|
-
## Voice
|
|
49
|
-
|
|
50
|
-
- Warm, inviting, sensory words
|
|
51
|
-
- Present tense, active voice
|
|
52
|
-
- Avoid jargon
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Theme: Lumen
|
|
2
|
-
|
|
3
|
-
**Genre:** tech
|
|
4
|
-
**Use case:** AI tools, developer products, dashboards
|
|
5
|
-
|
|
6
|
-
## Axes
|
|
7
|
-
|
|
8
|
-
| Axis | Value |
|
|
9
|
-
|------|-------|
|
|
10
|
-
| Paper band | dark (<30% lightness) |
|
|
11
|
-
| Display style | mono |
|
|
12
|
-
| Accent hue | cool (200–300°) |
|
|
13
|
-
|
|
14
|
-
## Token Overrides
|
|
15
|
-
|
|
16
|
-
```css
|
|
17
|
-
:root {
|
|
18
|
-
--color-background: hsl(220, 20%, 8%);
|
|
19
|
-
--color-surface: hsl(220, 20%, 12%);
|
|
20
|
-
--color-text: hsl(220, 10%, 88%);
|
|
21
|
-
--color-text-muted: hsl(220, 10%, 55%);
|
|
22
|
-
--color-accent: hsl(200, 100%, 60%);
|
|
23
|
-
--color-accent-hover: hsl(200, 100%, 65%);
|
|
24
|
-
--font-display: 'JetBrains Mono', monospace;
|
|
25
|
-
--font-body: 'Inter', sans-serif;
|
|
26
|
-
--radius-sm: 4px;
|
|
27
|
-
--radius-md: 6px;
|
|
28
|
-
--shadow-sm: 0 1px 2px hsl(0, 0%, 0%);
|
|
29
|
-
--shadow-md: 0 4px 12px hsl(0, 0%, 0%);
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Macrostructure Affinity
|
|
34
|
-
|
|
35
|
-
- ✅ Workbench
|
|
36
|
-
- ✅ Component Playground
|
|
37
|
-
- ✅ Stat-Led
|
|
38
|
-
- ❌ Manifesto (too editorial)
|
|
39
|
-
- ❌ Letter (too personal)
|
|
40
|
-
|
|
41
|
-
## Anti-Patterns (Lumen-specific)
|
|
42
|
-
|
|
43
|
-
- ❌ Serif fonts
|
|
44
|
-
- ❌ Warm color accents
|
|
45
|
-
- ❌ Excessive border-radius (> 8px)
|
|
46
|
-
- ❌ Large hero images
|
|
47
|
-
|
|
48
|
-
## Voice
|
|
49
|
-
|
|
50
|
-
- Concise, technical but accessible
|
|
51
|
-
- Action-oriented: "Deploy", "Connect", "Query"
|
|
52
|
-
- Code snippets welcome
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Theme: Midnight
|
|
2
|
-
|
|
3
|
-
**Genre:** atmospheric
|
|
4
|
-
**Use case:** luxury, premium products
|
|
5
|
-
|
|
6
|
-
## Axes
|
|
7
|
-
|
|
8
|
-
| Axis | Value |
|
|
9
|
-
|------|-------|
|
|
10
|
-
| Paper band | dark (0–30% lightness) |
|
|
11
|
-
| Display style | classical-serif |
|
|
12
|
-
| Accent hue | cool (180–260°) |
|
|
13
|
-
|
|
14
|
-
## Token Overrides
|
|
15
|
-
|
|
16
|
-
```css
|
|
17
|
-
:root {
|
|
18
|
-
--color-background: hsl(220, 20%, 6%);
|
|
19
|
-
--color-surface: hsl(220, 20%, 10%);
|
|
20
|
-
--color-text: hsl(220, 10%, 92%);
|
|
21
|
-
--color-text-muted: hsl(220, 5%, 55%);
|
|
22
|
-
--color-accent: hsl(220, 40%, 65%);
|
|
23
|
-
--color-accent-hover: hsl(220, 40%, 58%);
|
|
24
|
-
--font-display: 'Cormorant Garamond', 'Times New Roman', serif;
|
|
25
|
-
--font-body: 'Crimson Text', Georgia, serif;
|
|
26
|
-
--radius-sm: 2px;
|
|
27
|
-
--radius-md: 4px;
|
|
28
|
-
--shadow-sm: 0 1px 2px hsl(220, 20%, 2%);
|
|
29
|
-
--shadow-md: 0 4px 12px hsl(220, 20%, 2%);
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Macrostructure Affinity
|
|
34
|
-
|
|
35
|
-
- ✅ Photographic
|
|
36
|
-
- ✅ Quote-Led
|
|
37
|
-
- ✅ Narrative Workflow
|
|
38
|
-
- ❌ Stat-Led (too data-dense)
|
|
39
|
-
- ❌ Component Playground (too utilitarian)
|
|
40
|
-
|
|
41
|
-
## Anti-Patterns (Midnight-specific)
|
|
42
|
-
|
|
43
|
-
- ❌ Bright saturated colors
|
|
44
|
-
- ❌ Geometric sans-serif fonts
|
|
45
|
-
- ❌ Card-in-card nesting
|
|
46
|
-
- ❌ Grid-based feature lists
|
|
47
|
-
|
|
48
|
-
## Voice
|
|
49
|
-
|
|
50
|
-
- Evocative adjectives: "Timeless", "Curated", "Exceptional"
|
|
51
|
-
- Short declarative sentences
|
|
52
|
-
- No bullet points in hero sections
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Theme: Modern Minimal
|
|
2
|
-
|
|
3
|
-
**Genre:** modern-minimal
|
|
4
|
-
**Use case:** SaaS, startups, portfolios
|
|
5
|
-
|
|
6
|
-
## Axes
|
|
7
|
-
|
|
8
|
-
| Axis | Value |
|
|
9
|
-
|------|-------|
|
|
10
|
-
| Paper band | mid (30–85% lightness) |
|
|
11
|
-
| Display style | geometric-sans |
|
|
12
|
-
| Accent hue | neutral |
|
|
13
|
-
|
|
14
|
-
## Token Overrides
|
|
15
|
-
|
|
16
|
-
```css
|
|
17
|
-
:root {
|
|
18
|
-
--color-background: hsl(220, 15%, 98%);
|
|
19
|
-
--color-surface: hsl(220, 15%, 100%);
|
|
20
|
-
--color-text: hsl(220, 20%, 12%);
|
|
21
|
-
--color-text-muted: hsl(220, 10%, 50%);
|
|
22
|
-
--color-accent: hsl(220, 15%, 45%);
|
|
23
|
-
--color-accent-hover: hsl(220, 15%, 38%);
|
|
24
|
-
--font-display: 'Inter', 'Helvetica Neue', sans-serif;
|
|
25
|
-
--font-body: 'Inter', 'Helvetica Neue', sans-serif;
|
|
26
|
-
--radius-sm: 6px;
|
|
27
|
-
--radius-md: 8px;
|
|
28
|
-
--shadow-sm: 0 1px 2px hsl(220, 15%, 90%);
|
|
29
|
-
--shadow-md: 0 4px 12px hsl(220, 15%, 90%);
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Macrostructure Affinity
|
|
34
|
-
|
|
35
|
-
- ✅ Workbench
|
|
36
|
-
- ✅ Stat-Led
|
|
37
|
-
- ✅ Index-First
|
|
38
|
-
- ❌ Marquee Hero (too noisy)
|
|
39
|
-
- ❌ Manifesto (too expressive)
|
|
40
|
-
|
|
41
|
-
## Anti-Patterns (Modern Minimal-specific)
|
|
42
|
-
|
|
43
|
-
- ❌ Decorative illustrations
|
|
44
|
-
- ❌ Gradient buttons or backgrounds
|
|
45
|
-
- ❌ More than 2 font families
|
|
46
|
-
- ❌ Heavy drop shadows
|
|
47
|
-
|
|
48
|
-
## Voice
|
|
49
|
-
|
|
50
|
-
- Single-word actions: "Sign in", "Pricing", "Docs"
|
|
51
|
-
- No decorative copy
|
|
52
|
-
- Metrics and social proof prominent
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Theme: Playful
|
|
2
|
-
|
|
3
|
-
**Genre:** playful
|
|
4
|
-
**Use case:** games, kids, entertainment
|
|
5
|
-
|
|
6
|
-
## Axes
|
|
7
|
-
|
|
8
|
-
| Axis | Value |
|
|
9
|
-
|------|-------|
|
|
10
|
-
| Paper band | light (85–100% lightness) |
|
|
11
|
-
| Display style | rounded-sans |
|
|
12
|
-
| Accent hue | warm (30–60°) |
|
|
13
|
-
|
|
14
|
-
## Token Overrides
|
|
15
|
-
|
|
16
|
-
```css
|
|
17
|
-
:root {
|
|
18
|
-
--color-background: hsl(45, 60%, 97%);
|
|
19
|
-
--color-surface: hsl(45, 60%, 100%);
|
|
20
|
-
--color-text: hsl(45, 50%, 12%);
|
|
21
|
-
--color-text-muted: hsl(45, 20%, 45%);
|
|
22
|
-
--color-accent: hsl(35, 85%, 55%);
|
|
23
|
-
--color-accent-hover: hsl(35, 85%, 48%);
|
|
24
|
-
--font-display: 'Nunito', 'Varela Round', sans-serif;
|
|
25
|
-
--font-body: 'Nunito', 'Varela Round', sans-serif;
|
|
26
|
-
--radius-sm: 12px;
|
|
27
|
-
--radius-md: 16px;
|
|
28
|
-
--shadow-sm: 0 2px 4px hsl(45, 60%, 85%);
|
|
29
|
-
--shadow-md: 0 6px 16px hsl(45, 60%, 85%);
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Macrostructure Affinity
|
|
34
|
-
|
|
35
|
-
- ✅ Bento Grid
|
|
36
|
-
- ✅ Marquee Hero
|
|
37
|
-
- ✅ Feature Stack
|
|
38
|
-
- ❌ Long Document (too text-heavy)
|
|
39
|
-
- ❌ Quote-Led (too serious)
|
|
40
|
-
|
|
41
|
-
## Anti-Patterns (Playful-specific)
|
|
42
|
-
|
|
43
|
-
- ❌ Serious or corporate tones
|
|
44
|
-
- ❌ Monochrome palettes
|
|
45
|
-
- ❌ Minimal whitespace (dense layouts)
|
|
46
|
-
- ❌ Sharp corners or rigid grids
|
|
47
|
-
|
|
48
|
-
## Voice
|
|
49
|
-
|
|
50
|
-
- Exclamation marks and emoji allowed
|
|
51
|
-
- Action verbs: "Play", "Join", "Explore"
|
|
52
|
-
- Friendly, inclusive language
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Theme: Specimen
|
|
2
|
-
|
|
3
|
-
**Genre:** editorial
|
|
4
|
-
**Use case:** design systems, documentation
|
|
5
|
-
|
|
6
|
-
## Axes
|
|
7
|
-
|
|
8
|
-
| Axis | Value |
|
|
9
|
-
|------|-------|
|
|
10
|
-
| Paper band | mid (30–85% lightness) |
|
|
11
|
-
| Display style | high-contrast-serif |
|
|
12
|
-
| Accent hue | neutral |
|
|
13
|
-
|
|
14
|
-
## Token Overrides
|
|
15
|
-
|
|
16
|
-
```css
|
|
17
|
-
:root {
|
|
18
|
-
--color-background: hsl(40, 10%, 96%);
|
|
19
|
-
--color-surface: hsl(40, 10%, 100%);
|
|
20
|
-
--color-text: hsl(40, 15%, 8%);
|
|
21
|
-
--color-text-muted: hsl(40, 5%, 45%);
|
|
22
|
-
--color-accent: hsl(40, 5%, 45%);
|
|
23
|
-
--color-accent-hover: hsl(40, 5%, 38%);
|
|
24
|
-
--font-display: 'Playfair Display', Georgia, serif;
|
|
25
|
-
--font-body: 'Source Sans 3', 'Helvetica Neue', sans-serif;
|
|
26
|
-
--radius-sm: 4px;
|
|
27
|
-
--radius-md: 4px;
|
|
28
|
-
--shadow-sm: 0 1px 2px hsl(40, 15%, 90%);
|
|
29
|
-
--shadow-md: 0 4px 12px hsl(40, 15%, 90%);
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Macrostructure Affinity
|
|
34
|
-
|
|
35
|
-
- ✅ Type Specimen
|
|
36
|
-
- ✅ Index-First
|
|
37
|
-
- ✅ Component Playground
|
|
38
|
-
- ❌ Marquee Hero (too playful)
|
|
39
|
-
- ❌ Bento Grid (too casual)
|
|
40
|
-
|
|
41
|
-
## Anti-Patterns (Specimen-specific)
|
|
42
|
-
|
|
43
|
-
- ❌ Playful illustrations or mascots
|
|
44
|
-
- ❌ Warm saturated accents (orange, coral)
|
|
45
|
-
- ❌ Rounded corners > 4px
|
|
46
|
-
- ❌ Gradient hero backgrounds
|
|
47
|
-
|
|
48
|
-
## Voice
|
|
49
|
-
|
|
50
|
-
- Typographic precision: "Style guide", "Type scale", "Spacing rhythm"
|
|
51
|
-
- Noun-first labels: "Design tokens", "Component states"
|
|
52
|
-
- Neutral, authoritative tone
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Theme: Terminal
|
|
2
|
-
|
|
3
|
-
**Genre:** tech
|
|
4
|
-
**Use case:** CLI tools, developer tools, terminals
|
|
5
|
-
|
|
6
|
-
## Axes
|
|
7
|
-
|
|
8
|
-
| Axis | Value |
|
|
9
|
-
|------|-------|
|
|
10
|
-
| Paper band | dark (0–30% lightness) |
|
|
11
|
-
| Display style | mono |
|
|
12
|
-
| Accent hue | phosphor green (120–150°) |
|
|
13
|
-
|
|
14
|
-
## Token Overrides
|
|
15
|
-
|
|
16
|
-
```css
|
|
17
|
-
:root {
|
|
18
|
-
--color-background: hsl(220, 15%, 4%);
|
|
19
|
-
--color-surface: hsl(220, 15%, 8%);
|
|
20
|
-
--color-text: hsl(120, 30%, 75%);
|
|
21
|
-
--color-text-muted: hsl(120, 10%, 45%);
|
|
22
|
-
--color-accent: hsl(120, 60%, 55%);
|
|
23
|
-
--color-accent-hover: hsl(120, 60%, 48%);
|
|
24
|
-
--font-display: 'JetBrains Mono', 'Fira Code', monospace;
|
|
25
|
-
--font-body: 'JetBrains Mono', 'Fira Code', monospace;
|
|
26
|
-
--radius-sm: 0px;
|
|
27
|
-
--radius-md: 0px;
|
|
28
|
-
--shadow-sm: none;
|
|
29
|
-
--shadow-md: none;
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Macrostructure Affinity
|
|
34
|
-
|
|
35
|
-
- ✅ Workbench
|
|
36
|
-
- ✅ Component Playground
|
|
37
|
-
- ✅ Stat-Led
|
|
38
|
-
- ❌ Manifesto (too expressive)
|
|
39
|
-
- ❌ Photographic (too visual)
|
|
40
|
-
|
|
41
|
-
## Anti-Patterns (Terminal-specific)
|
|
42
|
-
|
|
43
|
-
- ❌ Serif or display fonts
|
|
44
|
-
- ❌ Warm accent hues
|
|
45
|
-
- ❌ Decorative shadows or borders
|
|
46
|
-
- ❌ Smooth transitions/animations
|
|
47
|
-
|
|
48
|
-
## Voice
|
|
49
|
-
|
|
50
|
-
- Command-line syntax: `$ npm install`, `> init()`
|
|
51
|
-
- Terse, imperative: "Run", "Deploy", "Configure"
|
|
52
|
-
- Status codes and badges
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
# Typography
|
|
2
|
-
|
|
3
|
-
Foundational rules for font selection, type scale, and textual hierarchy. These rules exist to guarantee readable, professional, and consistent type across every generated UI.
|
|
4
|
-
|
|
5
|
-
## The 2+1 Rule
|
|
6
|
-
|
|
7
|
-
Use **at most 2 font families + 1 monospace** per project. Exceeding this causes visual noise and slows load time.
|
|
8
|
-
|
|
9
|
-
- **Display / Heading family** (1): used for titles, hero text.
|
|
10
|
-
- **Body / UI family** (1): used for paragraphs, labels, controls.
|
|
11
|
-
- **Monospace** (1, optional): used for code, IDs, numeric tables, logs.
|
|
12
|
-
|
|
13
|
-
```css
|
|
14
|
-
:root {
|
|
15
|
-
--font-display: "Playfair Display", Georgia, serif;
|
|
16
|
-
--font-body: "Inter", system-ui, sans-serif;
|
|
17
|
-
--font-mono: "JetBrains Mono", ui-monospace, monospace;
|
|
18
|
-
}
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
If you only need one family, the body family can double as the display family. Do not introduce a third decorative family.
|
|
22
|
-
|
|
23
|
-
## Font Catalog
|
|
24
|
-
|
|
25
|
-
Pick from this approved catalog. Prefer fonts that share the same optical quality and load reliably via Google Fonts or system fallbacks.
|
|
26
|
-
|
|
27
|
-
| Family | Role | Notes |
|
|
28
|
-
| --- | --- | --- |
|
|
29
|
-
| Inter | Body / UI | Neutral, legible at small sizes. Default choice. |
|
|
30
|
-
| Source Serif 4 | Display / Body | Serif companion to Inter; good for reading-heavy UI. |
|
|
31
|
-
| Playfair Display | Display | High-contrast serif for hero/editorial headings. |
|
|
32
|
-
| JetBrains Mono | Mono | Developer-friendly monospace. |
|
|
33
|
-
| Poppins | Display / UI | Geometric, friendly; use sparingly. |
|
|
34
|
-
| Roboto / Roboto Flex | Body / UI | Safe system-adjacent alternative. |
|
|
35
|
-
| IBM Plex Sans / Mono | Body / Mono | Corporate, consistent pairing. |
|
|
36
|
-
|
|
37
|
-
Pairing examples that work:
|
|
38
|
-
- **Inter + Playfair Display + JetBrains Mono** (editorial + code)
|
|
39
|
-
- **Inter + Source Serif 4 + JetBrains Mono** (clean + reading)
|
|
40
|
-
- **Poppins + Inter + JetBrains Mono** (friendly branding)
|
|
41
|
-
|
|
42
|
-
## Type Scale
|
|
43
|
-
|
|
44
|
-
Use only these sizes. Do not invent intermediate sizes.
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
12px caption / meta
|
|
48
|
-
14px small text / secondary
|
|
49
|
-
16px body (base)
|
|
50
|
-
18px lead / intro paragraph
|
|
51
|
-
24px h3 / section title
|
|
52
|
-
32px h2 / page title
|
|
53
|
-
48px h1 / hero
|
|
54
|
-
64px display / marketing hero
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
```css
|
|
58
|
-
:root {
|
|
59
|
-
--text-xs: 0.75rem; /* 12px */
|
|
60
|
-
--text-sm: 0.875rem; /* 14px */
|
|
61
|
-
--text-base: 1rem; /* 16px */
|
|
62
|
-
--text-lg: 1.125rem; /* 18px */
|
|
63
|
-
--text-xl: 1.5rem; /* 24px */
|
|
64
|
-
--text-2xl: 2rem; /* 32px */
|
|
65
|
-
--text-3xl: 3rem; /* 48px */
|
|
66
|
-
--text-4xl: 4rem; /* 64px */
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Line Height
|
|
71
|
-
|
|
72
|
-
| Content | Line height |
|
|
73
|
-
| --- | --- |
|
|
74
|
-
| Body text | **1.5** |
|
|
75
|
-
| Headings (h1–h3) | **1.2** |
|
|
76
|
-
| Tight display (64px) | 1.1 |
|
|
77
|
-
|
|
78
|
-
```css
|
|
79
|
-
p, li, label { line-height: 1.5; }
|
|
80
|
-
h1, h2, h3 { line-height: 1.2; }
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Hierarchy
|
|
84
|
-
|
|
85
|
-
Establish hierarchy with **size + weight + color**, not decoration.
|
|
86
|
-
|
|
87
|
-
```css
|
|
88
|
-
h1 { font-family: var(--font-display); font-size: var(--text-3xl); font-weight: 700; }
|
|
89
|
-
h2 { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 600; }
|
|
90
|
-
h3 { font-family: var(--font-body); font-size: var(--text-xl); font-weight: 600; }
|
|
91
|
-
body { font-family: var(--font-body); font-size: var(--text-base); font-weight: 400; }
|
|
92
|
-
.meta { font-size: var(--text-sm); color: var(--color-text-muted); }
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
Keep weight range tight: 400 (body), 500/600 (emphasis), 700 (headings). Avoid 900 unless for a single display word.
|
|
96
|
-
|
|
97
|
-
## Prose Measure
|
|
98
|
-
|
|
99
|
-
Constrain reading width for paragraphs to **45–75 characters** (`ch`).
|
|
100
|
-
|
|
101
|
-
```css
|
|
102
|
-
.prose {
|
|
103
|
-
max-width: 65ch;
|
|
104
|
-
font-size: var(--text-base);
|
|
105
|
-
line-height: 1.5;
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
For multi-column or card text, keep each text block within this measure. Never let body copy stretch across a full 1200px container.
|
|
110
|
-
|
|
111
|
-
## Ban List
|
|
112
|
-
|
|
113
|
-
Do **not** use these as an identity or UI font:
|
|
114
|
-
|
|
115
|
-
- Comic Sans
|
|
116
|
-
- Papyrus
|
|
117
|
-
- Bradley Hand
|
|
118
|
-
- Any `cursive` generic family used as a primary brand font
|
|
119
|
-
- Other "novelty" fonts that undermine legibility
|
|
120
|
-
|
|
121
|
-
System fallbacks (`system-ui`, `sans-serif`, `serif`, `monospace`) are allowed only as graceful degradation, never as the chosen aesthetic.
|
|
122
|
-
|
|
123
|
-
## Practical Checklist
|
|
124
|
-
|
|
125
|
-
- [ ] At most 2 families + 1 mono.
|
|
126
|
-
- [ ] Sizes only from the 8-step scale.
|
|
127
|
-
- [ ] Body line-height 1.5, headings 1.2.
|
|
128
|
-
- [ ] Prose capped at 65ch.
|
|
129
|
-
- [ ] No banned novelty fonts.
|