omgkit 2.28.0 → 2.29.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.
Files changed (46) hide show
  1. package/README.md +48 -1
  2. package/bin/omgkit.js +10 -1
  3. package/lib/cli.js +58 -4
  4. package/lib/theme.js +571 -0
  5. package/package.json +2 -2
  6. package/plugin/agents/ui-ux-designer.md +25 -0
  7. package/plugin/commands/design/add.md +86 -0
  8. package/plugin/commands/design/builder.md +96 -0
  9. package/plugin/commands/design/from-screenshot.md +64 -0
  10. package/plugin/commands/design/from-url.md +74 -0
  11. package/plugin/commands/design/preview.md +55 -0
  12. package/plugin/commands/design/reset.md +65 -0
  13. package/plugin/commands/design/theme.md +65 -0
  14. package/plugin/commands/design/themes.md +50 -0
  15. package/plugin/registry.yaml +8 -0
  16. package/templates/design/schema/theme.schema.json +102 -0
  17. package/templates/design/themes/corporate-enterprise/consulting.json +81 -0
  18. package/templates/design/themes/corporate-enterprise/corporate-indigo.json +81 -0
  19. package/templates/design/themes/corporate-enterprise/finance.json +81 -0
  20. package/templates/design/themes/corporate-enterprise/healthcare.json +81 -0
  21. package/templates/design/themes/corporate-enterprise/legal.json +81 -0
  22. package/templates/design/themes/corporate-enterprise/ocean-blue.json +81 -0
  23. package/templates/design/themes/creative-bold/candy.json +81 -0
  24. package/templates/design/themes/creative-bold/coral-sunset.json +81 -0
  25. package/templates/design/themes/creative-bold/gradient-dream.json +81 -0
  26. package/templates/design/themes/creative-bold/neon.json +81 -0
  27. package/templates/design/themes/creative-bold/retro.json +81 -0
  28. package/templates/design/themes/creative-bold/studio.json +81 -0
  29. package/templates/design/themes/minimal-clean/minimal-slate.json +81 -0
  30. package/templates/design/themes/minimal-clean/mono.json +81 -0
  31. package/templates/design/themes/minimal-clean/nordic.json +81 -0
  32. package/templates/design/themes/minimal-clean/paper.json +81 -0
  33. package/templates/design/themes/minimal-clean/swiss.json +81 -0
  34. package/templates/design/themes/minimal-clean/zen.json +81 -0
  35. package/templates/design/themes/nature-organic/arctic.json +81 -0
  36. package/templates/design/themes/nature-organic/autumn.json +81 -0
  37. package/templates/design/themes/nature-organic/desert.json +81 -0
  38. package/templates/design/themes/nature-organic/forest.json +81 -0
  39. package/templates/design/themes/nature-organic/lavender.json +81 -0
  40. package/templates/design/themes/nature-organic/ocean.json +81 -0
  41. package/templates/design/themes/tech-ai/electric-cyan.json +81 -0
  42. package/templates/design/themes/tech-ai/hologram.json +81 -0
  43. package/templates/design/themes/tech-ai/matrix-green.json +81 -0
  44. package/templates/design/themes/tech-ai/neo-tokyo.json +81 -0
  45. package/templates/design/themes/tech-ai/neural-dark.json +81 -0
  46. package/templates/design/themes/tech-ai/quantum-purple.json +81 -0
@@ -0,0 +1,96 @@
1
+ ---
2
+ description: Interactive theme builder
3
+ allowed-tools: Read, Write
4
+ argument-hint: [base-theme]
5
+ ---
6
+
7
+ # 🔧 Theme Builder: $ARGUMENTS
8
+
9
+ Build a custom theme interactively or customize an existing theme.
10
+
11
+ ## Process
12
+
13
+ 1. Start with base theme (optional) or neutral defaults
14
+ 2. Configure each color slot:
15
+ - Background / Foreground
16
+ - Primary / Primary Foreground
17
+ - Secondary / Secondary Foreground
18
+ - Muted / Muted Foreground
19
+ - Accent / Accent Foreground
20
+ - Destructive / Destructive Foreground
21
+ - Border / Input / Ring
22
+ 3. Configure typography (optional)
23
+ 4. Configure border radius
24
+ 5. Preview changes
25
+ 6. Generate theme files
26
+
27
+ ## Color Input Formats
28
+
29
+ Accept colors in any format:
30
+ - Hex: `#E11D48` or `E11D48`
31
+ - HSL: `346.8 77.2% 49.8%`
32
+ - RGB: `rgb(225, 29, 72)`
33
+ - Named: `red`, `blue`, `emerald-500`
34
+
35
+ ## Quick Start Options
36
+
37
+ ### From Base Theme
38
+ ```bash
39
+ /design:builder neo-tokyo # Start with Neo Tokyo
40
+ /design:builder minimal-slate # Start with Minimal Slate
41
+ ```
42
+
43
+ ### From Scratch
44
+ ```bash
45
+ /design:builder # Start with neutral defaults
46
+ ```
47
+
48
+ ## Customization Steps
49
+
50
+ ### Step 1: Primary Color
51
+ The main brand color used for buttons, links, and key elements.
52
+
53
+ ### Step 2: Secondary Color
54
+ Background color for secondary actions and subtle surfaces.
55
+
56
+ ### Step 3: Accent Color
57
+ Highlight color for hovers, selections, and emphasis.
58
+
59
+ ### Step 4: Mode Preference
60
+ Choose default mode (light/dark) and generate the opposite.
61
+
62
+ ### Step 5: Border Radius
63
+ - `0rem` - Sharp corners
64
+ - `0.25rem` - Subtle rounding
65
+ - `0.5rem` - Default
66
+ - `0.75rem` - Rounded
67
+ - `9999px` - Full/pill
68
+
69
+ ### Step 6: Typography (Optional)
70
+ - Sans-serif font family
71
+ - Monospace font family
72
+
73
+ ## Output
74
+
75
+ - `.omgkit/design/theme.json` - Custom theme configuration
76
+ - `.omgkit/design/theme.css` - CSS variables (light + dark)
77
+
78
+ ## Usage Examples
79
+
80
+ ```bash
81
+ # Start fresh
82
+ /design:builder
83
+
84
+ # Customize existing theme
85
+ /design:builder electric-cyan
86
+
87
+ # Quick customization
88
+ /design:builder --primary "#7C3AED" --radius "0.75rem"
89
+ ```
90
+
91
+ ## Integration
92
+
93
+ After building your theme:
94
+ 1. Import theme.css in your globals.css
95
+ 2. Run `npx shadcn@latest init` if not done
96
+ 3. Add components with `/design:add`
@@ -0,0 +1,64 @@
1
+ ---
2
+ description: Extract theme from screenshot using AI vision
3
+ allowed-tools: Read, Write, Task
4
+ argument-hint: <screenshot-path>
5
+ ---
6
+
7
+ # 📸 Extract Theme from Screenshot: $ARGUMENTS
8
+
9
+ Use Claude Vision to analyze a screenshot and extract a cohesive color theme.
10
+
11
+ ## Supported Formats
12
+
13
+ - PNG, JPG, JPEG, WebP
14
+ - Screenshots from websites, apps, or design tools
15
+ - Dribbble shots, Figma exports, or any UI design
16
+
17
+ ## Process
18
+
19
+ 1. Load the screenshot image
20
+ 2. Analyze colors using Claude Vision
21
+ 3. Extract dominant colors:
22
+ - Background and foreground
23
+ - Primary brand color
24
+ - Secondary and accent colors
25
+ - Semantic colors (success, warning, error)
26
+ 4. Determine light/dark mode preference
27
+ 5. Generate complementary dark/light mode
28
+ 6. Create theme.json and theme.css
29
+
30
+ ## Color Extraction
31
+
32
+ Claude Vision will identify:
33
+ - **Backgrounds** - Main surface colors
34
+ - **Text colors** - Primary and secondary text
35
+ - **Brand colors** - CTAs, buttons, links
36
+ - **Semantic colors** - Success, warning, error indicators
37
+ - **Borders** - Dividers and boundaries
38
+
39
+ ## Output
40
+
41
+ - `.omgkit/design/theme.json` - Extracted theme configuration
42
+ - `.omgkit/design/theme.css` - CSS variables (light + dark)
43
+
44
+ ## Usage
45
+
46
+ ```bash
47
+ /design:from-screenshot ./mockup.png
48
+ /design:from-screenshot ~/Downloads/dribbble-shot.jpg
49
+ /design:from-screenshot ./figma-export.webp
50
+ ```
51
+
52
+ ## Tips for Best Results
53
+
54
+ 1. **High contrast screenshots** - Clear color distinctions work best
55
+ 2. **Full UI screenshots** - More elements = better color extraction
56
+ 3. **Avoid gradients** - Solid colors extract more reliably
57
+ 4. **Include buttons/CTAs** - Helps identify primary colors
58
+
59
+ ## Post-Extraction
60
+
61
+ After extraction, you can:
62
+ - `/design:preview` - Review extracted colors
63
+ - `/design:builder` - Adjust colors manually
64
+ - `/design:theme <id>` - Switch to a curated theme instead
@@ -0,0 +1,74 @@
1
+ ---
2
+ description: Extract theme from webpage URL
3
+ allowed-tools: WebFetch, Read, Write, Task
4
+ argument-hint: <url>
5
+ ---
6
+
7
+ # 🌐 Extract Theme from URL: $ARGUMENTS
8
+
9
+ Analyze a webpage and extract its color theme for your project.
10
+
11
+ ## Process
12
+
13
+ 1. Fetch the webpage content
14
+ 2. Take a screenshot or analyze CSS
15
+ 3. Extract CSS custom properties if available
16
+ 4. Analyze computed styles for color patterns
17
+ 5. Generate OMGKIT theme from extracted colors
18
+
19
+ ## Extraction Methods
20
+
21
+ ### Method 1: CSS Variables (Best)
22
+ If the site uses CSS custom properties:
23
+ ```css
24
+ :root {
25
+ --primary: #...
26
+ --background: #...
27
+ }
28
+ ```
29
+
30
+ ### Method 2: Computed Styles
31
+ Analyze rendered element colors:
32
+ - Body background
33
+ - Heading colors
34
+ - Link/button colors
35
+ - Border colors
36
+
37
+ ### Method 3: Screenshot Analysis
38
+ Fall back to visual analysis using Claude Vision.
39
+
40
+ ## Popular Sites for Inspiration
41
+
42
+ ```
43
+ /design:from-url https://stripe.com
44
+ /design:from-url https://linear.app
45
+ /design:from-url https://vercel.com
46
+ /design:from-url https://notion.so
47
+ /design:from-url https://figma.com
48
+ /design:from-url https://raycast.com
49
+ ```
50
+
51
+ ## Output
52
+
53
+ - `.omgkit/design/theme.json` - Extracted theme configuration
54
+ - `.omgkit/design/theme.css` - CSS variables (light + dark)
55
+
56
+ ## Usage
57
+
58
+ ```bash
59
+ /design:from-url https://example.com
60
+ /design:from-url https://your-inspiration-site.com
61
+ ```
62
+
63
+ ## Limitations
64
+
65
+ - Some sites may block automated access
66
+ - Highly dynamic sites may not extract well
67
+ - Sites with many gradients may produce inconsistent results
68
+
69
+ ## Post-Extraction
70
+
71
+ After extraction:
72
+ - `/design:preview` - Review extracted colors
73
+ - `/design:builder` - Adjust colors manually
74
+ - `/design:theme <id>` - Switch to curated theme instead
@@ -0,0 +1,55 @@
1
+ ---
2
+ description: Preview current project theme colors
3
+ allowed-tools: Read
4
+ argument-hint: [light|dark]
5
+ ---
6
+
7
+ # 👁️ Preview Theme: $ARGUMENTS
8
+
9
+ Preview the current project theme configuration and color palette.
10
+
11
+ ## Process
12
+
13
+ 1. Load `.omgkit/design/theme.json`
14
+ 2. Display theme metadata (name, category, description)
15
+ 3. Show color palette for light mode
16
+ 4. Show color palette for dark mode
17
+ 5. Display CSS variables
18
+
19
+ ## Output
20
+
21
+ ### Theme Information
22
+ - Name and ID
23
+ - Category
24
+ - Description
25
+ - Border radius
26
+ - Font families
27
+
28
+ ### Color Palette (Light Mode)
29
+ - Background / Foreground
30
+ - Primary / Primary Foreground
31
+ - Secondary / Secondary Foreground
32
+ - Muted / Muted Foreground
33
+ - Accent / Accent Foreground
34
+ - Destructive / Destructive Foreground
35
+ - Border / Input / Ring
36
+
37
+ ### Color Palette (Dark Mode)
38
+ - Same colors as light mode (inverted)
39
+
40
+ ### CSS Variables
41
+ - Show the generated `:root` and `.dark` CSS blocks
42
+
43
+ ## Usage
44
+
45
+ ```bash
46
+ /design:preview # Show full preview (both modes)
47
+ /design:preview light # Show light mode only
48
+ /design:preview dark # Show dark mode only
49
+ ```
50
+
51
+ ## Next Steps
52
+
53
+ - `/design:theme <id>` - Switch to different theme
54
+ - `/design:themes` - Browse available themes
55
+ - `/design:builder` - Customize current theme
@@ -0,0 +1,65 @@
1
+ ---
2
+ description: Reset to original theme
3
+ allowed-tools: Read, Write
4
+ argument-hint: [confirm]
5
+ ---
6
+
7
+ # 🔄 Reset Theme: $ARGUMENTS
8
+
9
+ Reset the project theme to the original configuration or remove theme customizations.
10
+
11
+ ## Process
12
+
13
+ 1. Check for theme backup (if exists)
14
+ 2. Prompt for confirmation (unless `confirm` passed)
15
+ 3. Restore original theme.json
16
+ 4. Regenerate theme.css
17
+ 5. Confirm reset complete
18
+
19
+ ## Options
20
+
21
+ ### Reset to Original
22
+ If you modified a curated theme, restore the original:
23
+ ```bash
24
+ /design:reset # Prompts for confirmation
25
+ /design:reset confirm # Skip confirmation
26
+ ```
27
+
28
+ ### Reset to Default
29
+ Remove all theme customizations and use default:
30
+ ```bash
31
+ /design:reset default
32
+ ```
33
+
34
+ ## Files Affected
35
+
36
+ - `.omgkit/design/theme.json` - Restored/reset
37
+ - `.omgkit/design/theme.css` - Regenerated
38
+
39
+ ## Backup Behavior
40
+
41
+ Before any theme change, OMGKIT creates a backup:
42
+ - `.omgkit/design/theme.json.backup`
43
+
44
+ Reset will restore from this backup if available.
45
+
46
+ ## Usage
47
+
48
+ ```bash
49
+ /design:reset # Interactive confirmation
50
+ /design:reset confirm # Skip confirmation
51
+ /design:reset default # Reset to default theme
52
+ ```
53
+
54
+ ## Recovery
55
+
56
+ If you accidentally reset:
57
+ 1. Check git history for previous theme files
58
+ 2. Use `/design:theme <id>` to apply a curated theme
59
+ 3. Use `/design:builder` to recreate custom theme
60
+
61
+ ## Related Commands
62
+
63
+ - `/design:theme <id>` - Apply a specific theme
64
+ - `/design:builder` - Build new custom theme
65
+ - `/design:preview` - Preview current theme
@@ -0,0 +1,65 @@
1
+ ---
2
+ description: Switch project to a different OMGKIT theme
3
+ allowed-tools: Read, Write, Glob
4
+ argument-hint: <theme-id>
5
+ ---
6
+
7
+ # 🎨 Switch Theme: $ARGUMENTS
8
+
9
+ Switch the project to a different OMGKIT design system theme.
10
+
11
+ ## Available Theme IDs
12
+
13
+ **Tech & AI:**
14
+ - `neo-tokyo`, `electric-cyan`, `neural-dark`, `matrix-green`, `quantum-purple`, `hologram`
15
+
16
+ **Minimal & Clean:**
17
+ - `minimal-slate`, `paper`, `mono`, `zen`, `nordic`, `swiss`
18
+
19
+ **Corporate & Enterprise:**
20
+ - `ocean-blue`, `corporate-indigo`, `finance`, `legal`, `healthcare`, `consulting`
21
+
22
+ **Creative & Bold:**
23
+ - `coral-sunset`, `candy`, `neon`, `gradient-dream`, `retro`, `studio`
24
+
25
+ **Nature & Organic:**
26
+ - `forest`, `ocean`, `desert`, `lavender`, `arctic`, `autumn`
27
+
28
+ ## Process
29
+
30
+ 1. Validate theme ID exists
31
+ 2. Load theme configuration from templates
32
+ 3. Generate CSS variables (light + dark mode)
33
+ 4. Write `.omgkit/design/theme.json`
34
+ 5. Write `.omgkit/design/theme.css`
35
+ 6. Show integration instructions
36
+
37
+ ## Files Created/Updated
38
+
39
+ - `.omgkit/design/theme.json` - Theme configuration
40
+ - `.omgkit/design/theme.css` - CSS variables
41
+
42
+ ## Integration
43
+
44
+ After switching themes, integrate into your project:
45
+
46
+ ### Next.js / React
47
+ ```css
48
+ /* In app/globals.css or styles/globals.css */
49
+ @import '../.omgkit/design/theme.css';
50
+ ```
51
+
52
+ ### Or copy CSS variables directly
53
+ Copy the `:root` and `.dark` blocks from `theme.css` into your global styles.
54
+
55
+ ## Usage
56
+
57
+ ```bash
58
+ /design:theme neo-tokyo # Switch to Neo Tokyo theme
59
+ /design:theme minimal-slate # Switch to Minimal Slate theme
60
+ /design:theme forest # Switch to Forest theme
61
+ ```
62
+
63
+ ## Verification
64
+
65
+ After switching, run `/design:preview` to see the new theme colors.
@@ -0,0 +1,50 @@
1
+ ---
2
+ description: List all available OMGKIT design themes
3
+ allowed-tools: Read, Glob
4
+ argument-hint: [category]
5
+ ---
6
+
7
+ # 🎨 Design Themes: $ARGUMENTS
8
+
9
+ List all available OMGKIT design themes organized by category.
10
+
11
+ ## Categories
12
+
13
+ - **tech-ai** (6 themes): Neo Tokyo, Electric Cyan, Neural Dark, Matrix Green, Quantum Purple, Hologram
14
+ - **minimal-clean** (6 themes): Minimal Slate, Paper, Mono, Zen, Nordic, Swiss
15
+ - **corporate-enterprise** (6 themes): Ocean Blue, Corporate Indigo, Finance, Legal, Healthcare, Consulting
16
+ - **creative-bold** (6 themes): Coral Sunset, Candy, Neon, Gradient Dream, Retro, Studio
17
+ - **nature-organic** (6 themes): Forest, Ocean, Desert, Lavender, Arctic, Autumn
18
+
19
+ ## Process
20
+
21
+ 1. Load themes from `templates/design/themes/`
22
+ 2. Group by category
23
+ 3. Display with:
24
+ - Theme name and ID
25
+ - Category badge
26
+ - Primary color
27
+ - Brief description
28
+
29
+ ## Usage
30
+
31
+ ```bash
32
+ /design:themes # List all 30 themes
33
+ /design:themes tech-ai # List only tech-ai themes
34
+ /design:themes minimal # Filter by partial category name
35
+ ```
36
+
37
+ ## Output Format
38
+
39
+ For each theme, show:
40
+ - **ID** (used for selection)
41
+ - **Name** (display name)
42
+ - **Category**
43
+ - **Primary color** (hex and HSL)
44
+ - **Description**
45
+
46
+ ## Next Steps
47
+
48
+ After browsing themes:
49
+ - `/design:theme <id>` - Apply a theme to your project
50
+ - `/design:preview` - Preview current theme
@@ -437,6 +437,14 @@ agents:
437
437
  - /design:enhance
438
438
  - /design:fast
439
439
  - /design:good
440
+ - /design:themes
441
+ - /design:theme
442
+ - /design:preview
443
+ - /design:add
444
+ - /design:from-screenshot
445
+ - /design:from-url
446
+ - /design:builder
447
+ - /design:reset
440
448
 
441
449
  api-designer:
442
450
  file: agents/api-designer.md
@@ -0,0 +1,102 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "OMGKIT Theme Schema",
4
+ "description": "Schema for OMGKIT design system themes (shadcn/ui compatible)",
5
+ "type": "object",
6
+ "required": ["name", "id", "category", "colors"],
7
+ "properties": {
8
+ "name": {
9
+ "type": "string",
10
+ "description": "Display name of the theme"
11
+ },
12
+ "id": {
13
+ "type": "string",
14
+ "pattern": "^[a-z0-9-]+$",
15
+ "description": "Unique identifier (kebab-case)"
16
+ },
17
+ "category": {
18
+ "type": "string",
19
+ "enum": ["tech-ai", "minimal-clean", "corporate-enterprise", "creative-bold", "nature-organic"],
20
+ "description": "Theme category"
21
+ },
22
+ "description": {
23
+ "type": "string",
24
+ "description": "Brief description of the theme aesthetic"
25
+ },
26
+ "colors": {
27
+ "type": "object",
28
+ "required": ["light", "dark"],
29
+ "properties": {
30
+ "light": { "$ref": "#/definitions/colorPalette" },
31
+ "dark": { "$ref": "#/definitions/colorPalette" }
32
+ }
33
+ },
34
+ "radius": {
35
+ "type": "string",
36
+ "default": "0.5rem",
37
+ "description": "Border radius for components"
38
+ },
39
+ "fontFamily": {
40
+ "type": "object",
41
+ "properties": {
42
+ "sans": { "type": "string", "default": "Inter, system-ui, sans-serif" },
43
+ "mono": { "type": "string", "default": "JetBrains Mono, monospace" }
44
+ }
45
+ }
46
+ },
47
+ "definitions": {
48
+ "colorPalette": {
49
+ "type": "object",
50
+ "required": [
51
+ "background", "foreground",
52
+ "primary", "primary-foreground",
53
+ "secondary", "secondary-foreground",
54
+ "muted", "muted-foreground",
55
+ "accent", "accent-foreground",
56
+ "destructive", "destructive-foreground",
57
+ "border", "input", "ring",
58
+ "card", "card-foreground",
59
+ "popover", "popover-foreground"
60
+ ],
61
+ "properties": {
62
+ "background": { "$ref": "#/definitions/hslColor" },
63
+ "foreground": { "$ref": "#/definitions/hslColor" },
64
+ "primary": { "$ref": "#/definitions/hslColor" },
65
+ "primary-foreground": { "$ref": "#/definitions/hslColor" },
66
+ "secondary": { "$ref": "#/definitions/hslColor" },
67
+ "secondary-foreground": { "$ref": "#/definitions/hslColor" },
68
+ "muted": { "$ref": "#/definitions/hslColor" },
69
+ "muted-foreground": { "$ref": "#/definitions/hslColor" },
70
+ "accent": { "$ref": "#/definitions/hslColor" },
71
+ "accent-foreground": { "$ref": "#/definitions/hslColor" },
72
+ "destructive": { "$ref": "#/definitions/hslColor" },
73
+ "destructive-foreground": { "$ref": "#/definitions/hslColor" },
74
+ "border": { "$ref": "#/definitions/hslColor" },
75
+ "input": { "$ref": "#/definitions/hslColor" },
76
+ "ring": { "$ref": "#/definitions/hslColor" },
77
+ "card": { "$ref": "#/definitions/hslColor" },
78
+ "card-foreground": { "$ref": "#/definitions/hslColor" },
79
+ "popover": { "$ref": "#/definitions/hslColor" },
80
+ "popover-foreground": { "$ref": "#/definitions/hslColor" },
81
+ "chart-1": { "$ref": "#/definitions/hslColor" },
82
+ "chart-2": { "$ref": "#/definitions/hslColor" },
83
+ "chart-3": { "$ref": "#/definitions/hslColor" },
84
+ "chart-4": { "$ref": "#/definitions/hslColor" },
85
+ "chart-5": { "$ref": "#/definitions/hslColor" },
86
+ "sidebar-background": { "$ref": "#/definitions/hslColor" },
87
+ "sidebar-foreground": { "$ref": "#/definitions/hslColor" },
88
+ "sidebar-primary": { "$ref": "#/definitions/hslColor" },
89
+ "sidebar-primary-foreground": { "$ref": "#/definitions/hslColor" },
90
+ "sidebar-accent": { "$ref": "#/definitions/hslColor" },
91
+ "sidebar-accent-foreground": { "$ref": "#/definitions/hslColor" },
92
+ "sidebar-border": { "$ref": "#/definitions/hslColor" },
93
+ "sidebar-ring": { "$ref": "#/definitions/hslColor" }
94
+ }
95
+ },
96
+ "hslColor": {
97
+ "type": "string",
98
+ "pattern": "^\\d+(\\.\\d+)?\\s+\\d+(\\.\\d+)?%\\s+\\d+(\\.\\d+)?%$",
99
+ "description": "HSL color without hsl() wrapper, e.g., '220 14.3% 95.9%'"
100
+ }
101
+ }
102
+ }
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "Consulting",
3
+ "id": "consulting",
4
+ "category": "corporate-enterprise",
5
+ "description": "Management consulting aesthetic like McKinsey and BCG",
6
+ "colors": {
7
+ "light": {
8
+ "background": "0 0% 100%",
9
+ "foreground": "222 47% 11%",
10
+ "primary": "222 80% 28%",
11
+ "primary-foreground": "0 0% 100%",
12
+ "secondary": "220 20% 96%",
13
+ "secondary-foreground": "222 47% 15%",
14
+ "muted": "220 20% 96%",
15
+ "muted-foreground": "220 15% 45%",
16
+ "accent": "35 80% 45%",
17
+ "accent-foreground": "0 0% 100%",
18
+ "destructive": "0 84.2% 60.2%",
19
+ "destructive-foreground": "0 0% 98%",
20
+ "border": "220 15% 90%",
21
+ "input": "220 15% 90%",
22
+ "ring": "222 80% 28%",
23
+ "card": "0 0% 100%",
24
+ "card-foreground": "222 47% 11%",
25
+ "popover": "0 0% 100%",
26
+ "popover-foreground": "222 47% 11%",
27
+ "chart-1": "222 80% 28%",
28
+ "chart-2": "35 80% 45%",
29
+ "chart-3": "160 70% 40%",
30
+ "chart-4": "0 70% 55%",
31
+ "chart-5": "270 60% 55%",
32
+ "sidebar-background": "220 20% 98%",
33
+ "sidebar-foreground": "222 47% 15%",
34
+ "sidebar-primary": "222 80% 28%",
35
+ "sidebar-primary-foreground": "0 0% 100%",
36
+ "sidebar-accent": "220 20% 94%",
37
+ "sidebar-accent-foreground": "222 47% 15%",
38
+ "sidebar-border": "220 15% 90%",
39
+ "sidebar-ring": "222 80% 28%"
40
+ },
41
+ "dark": {
42
+ "background": "222 47% 6%",
43
+ "foreground": "220 20% 96%",
44
+ "primary": "222 60% 50%",
45
+ "primary-foreground": "0 0% 100%",
46
+ "secondary": "222 30% 15%",
47
+ "secondary-foreground": "220 20% 96%",
48
+ "muted": "222 30% 15%",
49
+ "muted-foreground": "220 15% 55%",
50
+ "accent": "35 80% 55%",
51
+ "accent-foreground": "222 47% 6%",
52
+ "destructive": "0 62.8% 30.6%",
53
+ "destructive-foreground": "0 0% 98%",
54
+ "border": "222 30% 18%",
55
+ "input": "222 30% 18%",
56
+ "ring": "222 60% 50%",
57
+ "card": "222 47% 8%",
58
+ "card-foreground": "220 20% 96%",
59
+ "popover": "222 47% 6%",
60
+ "popover-foreground": "220 20% 96%",
61
+ "chart-1": "222 60% 60%",
62
+ "chart-2": "35 80% 65%",
63
+ "chart-3": "160 70% 50%",
64
+ "chart-4": "0 70% 65%",
65
+ "chart-5": "270 60% 65%",
66
+ "sidebar-background": "222 47% 6%",
67
+ "sidebar-foreground": "220 20% 96%",
68
+ "sidebar-primary": "222 60% 50%",
69
+ "sidebar-primary-foreground": "0 0% 100%",
70
+ "sidebar-accent": "222 30% 15%",
71
+ "sidebar-accent-foreground": "220 20% 96%",
72
+ "sidebar-border": "222 30% 18%",
73
+ "sidebar-ring": "222 60% 50%"
74
+ }
75
+ },
76
+ "radius": "0.375rem",
77
+ "fontFamily": {
78
+ "sans": "Inter, system-ui, sans-serif",
79
+ "mono": "JetBrains Mono, monospace"
80
+ }
81
+ }