page-design-guide-mcp 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +140 -140
- package/build/index.js +48 -854
- package/build/index.js.map +1 -1
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -1,141 +1,141 @@
|
|
|
1
|
-
# Page Design Guide MCP Server
|
|
2
|
-
|
|
3
|
-
An MCP (Model Context Protocol) server that provides design guidance to help LLMs generate better, more modern web pages. This server focuses on teaching design principles and best practices rather than providing code templates.
|
|
4
|
-
|
|
5
|
-
## Features
|
|
6
|
-
|
|
7
|
-
- [layout] **Layout Guidance** - When and how to use F-Pattern, Z-Pattern, Bento Grid, etc.
|
|
8
|
-
- [palette] **Color Psychology** - Color meanings, scheme types, and palette recommendations
|
|
9
|
-
- [type] **Typography** - Hierarchy, font pairings, and readability best practices
|
|
10
|
-
- [grid] **Responsive Design** - Mobile-first strategies and breakpoint guidance
|
|
11
|
-
- [layers] **Visual Hierarchy** - Principles of contrast, whitespace, alignment
|
|
12
|
-
- [component] **Component Guidance** - Design principles for buttons, cards, forms, navigation
|
|
13
|
-
- [motion] **Animation Principles** - Timing, purpose, and performance considerations
|
|
14
|
-
- [accessibility] **Accessibility** - WCAG compliance, contrast ratios, semantic HTML
|
|
15
|
-
- [sparkles] **Modern Trends** - Current design trends and when to use them
|
|
16
|
-
- [check] **Design Review** - Analyze design descriptions and get recommendations
|
|
17
|
-
|
|
18
|
-
## Installation
|
|
19
|
-
|
|
20
|
-
Install the package globally via npm:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
npm install -g page-design-guide-mcp
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Or install it locally in your project:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
npm install page-design-guide-mcp
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Setup with Claude Desktop
|
|
33
|
-
|
|
34
|
-
Add this to your Claude Desktop configuration file:
|
|
35
|
-
|
|
36
|
-
**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
37
|
-
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
38
|
-
|
|
39
|
-
### Option 1: Global Installation (Recommended)
|
|
40
|
-
|
|
41
|
-
```json
|
|
42
|
-
{
|
|
43
|
-
"mcpServers": {
|
|
44
|
-
"page-design-guide": {
|
|
45
|
-
"command": "npx",
|
|
46
|
-
"args": ["-y", "page-design-guide-mcp"]
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### Option 2: Local Installation
|
|
53
|
-
|
|
54
|
-
```json
|
|
55
|
-
{
|
|
56
|
-
"mcpServers": {
|
|
57
|
-
"page-design-guide": {
|
|
58
|
-
"command": "node",
|
|
59
|
-
"args": ["/absolute/path/to/node_modules/page-design-guide-mcp/build/index.js"]
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Replace `/absolute/path/to` with the actual path to your project's `node_modules` directory.
|
|
66
|
-
|
|
67
|
-
## Usage
|
|
68
|
-
|
|
69
|
-
Once connected, you can ask Claude questions like:
|
|
70
|
-
|
|
71
|
-
- "What design principles should I follow for this landing page?"
|
|
72
|
-
- "Which layout works best for a portfolio site?"
|
|
73
|
-
- "What colors convey trust and professionalism?"
|
|
74
|
-
- "How should I structure the hero section?"
|
|
75
|
-
- "What are common mistakes to avoid with typography?"
|
|
76
|
-
- "How do I make this accessible?"
|
|
77
|
-
- "Review my design approach for this e-commerce page"
|
|
78
|
-
|
|
79
|
-
## Available Tools
|
|
80
|
-
|
|
81
|
-
### `get_design_principles`
|
|
82
|
-
Get foundational design principles (hierarchy, whitespace, contrast, alignment, etc.) with guidelines and common mistakes to avoid.
|
|
83
|
-
|
|
84
|
-
### `get_layout_guidance`
|
|
85
|
-
Get layout recommendations based on page type. Explains when and why to use F-Pattern, Z-Pattern, Bento Grid, Split Screen, etc.
|
|
86
|
-
|
|
87
|
-
### `get_color_guidance`
|
|
88
|
-
Get color psychology, scheme types (monochromatic, complementary, etc.), and palette recommendations based on mood and industry.
|
|
89
|
-
|
|
90
|
-
### `get_typography_guidance`
|
|
91
|
-
Get typography hierarchy, font pairing recommendations for different styles, and best practices for readable text.
|
|
92
|
-
|
|
93
|
-
### `get_section_guidance`
|
|
94
|
-
Get guidance for specific page sections: header, hero, features, testimonials, pricing, cta, footer, faq - including purpose, structure, and best practices.
|
|
95
|
-
|
|
96
|
-
### `get_responsive_guidance`
|
|
97
|
-
Get responsive design principles, breakpoint strategies, and mobile-first best practices.
|
|
98
|
-
|
|
99
|
-
### `get_component_guidance`
|
|
100
|
-
Get design guidance for UI components: buttons, cards, forms, navigation, modals, icons - including sizing, states, and accessibility.
|
|
101
|
-
|
|
102
|
-
### `get_animation_guidance`
|
|
103
|
-
Get animation principles, timing guidelines, and performance considerations for different types of motion.
|
|
104
|
-
|
|
105
|
-
### `get_accessibility_guidance`
|
|
106
|
-
Get accessibility requirements including contrast ratios, focus states, semantic HTML, and motion preferences.
|
|
107
|
-
|
|
108
|
-
### `get_modern_trends`
|
|
109
|
-
Get current web design trends (2024-2026) with guidance on when and how to use them appropriately.
|
|
110
|
-
|
|
111
|
-
### `review_design_approach`
|
|
112
|
-
Describe your design and get feedback with scores, identified strengths, concerns, and recommendations.
|
|
113
|
-
|
|
114
|
-
## Project Structure
|
|
115
|
-
|
|
116
|
-
```
|
|
117
|
-
page-design-guide-mcp/
|
|
118
|
-
├── src/
|
|
119
|
-
│ └── index.ts # Main MCP server code
|
|
120
|
-
├── build/ # Compiled JavaScript (generated)
|
|
121
|
-
├── package.json
|
|
122
|
-
├── tsconfig.json
|
|
123
|
-
└── README.md
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## Development
|
|
127
|
-
|
|
128
|
-
For development with auto-rebuild on changes:
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
|
-
npm run watch
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
## Requirements
|
|
135
|
-
|
|
136
|
-
- Node.js >= 18.0.0
|
|
137
|
-
- Claude Desktop app
|
|
138
|
-
|
|
139
|
-
## License
|
|
140
|
-
|
|
1
|
+
# Page Design Guide MCP Server
|
|
2
|
+
|
|
3
|
+
An MCP (Model Context Protocol) server that provides design guidance to help LLMs generate better, more modern web pages. This server focuses on teaching design principles and best practices rather than providing code templates.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- [layout] **Layout Guidance** - When and how to use F-Pattern, Z-Pattern, Bento Grid, etc.
|
|
8
|
+
- [palette] **Color Psychology** - Color meanings, scheme types, and palette recommendations
|
|
9
|
+
- [type] **Typography** - Hierarchy, font pairings, and readability best practices
|
|
10
|
+
- [grid] **Responsive Design** - Mobile-first strategies and breakpoint guidance
|
|
11
|
+
- [layers] **Visual Hierarchy** - Principles of contrast, whitespace, alignment
|
|
12
|
+
- [component] **Component Guidance** - Design principles for buttons, cards, forms, navigation
|
|
13
|
+
- [motion] **Animation Principles** - Timing, purpose, and performance considerations
|
|
14
|
+
- [accessibility] **Accessibility** - WCAG compliance, contrast ratios, semantic HTML
|
|
15
|
+
- [sparkles] **Modern Trends** - Current design trends and when to use them
|
|
16
|
+
- [check] **Design Review** - Analyze design descriptions and get recommendations
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
Install the package globally via npm:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g page-design-guide-mcp
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Or install it locally in your project:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install page-design-guide-mcp
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Setup with Claude Desktop
|
|
33
|
+
|
|
34
|
+
Add this to your Claude Desktop configuration file:
|
|
35
|
+
|
|
36
|
+
**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
37
|
+
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
38
|
+
|
|
39
|
+
### Option 1: Global Installation (Recommended)
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"mcpServers": {
|
|
44
|
+
"page-design-guide": {
|
|
45
|
+
"command": "npx",
|
|
46
|
+
"args": ["-y", "page-design-guide-mcp"]
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Option 2: Local Installation
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"mcpServers": {
|
|
57
|
+
"page-design-guide": {
|
|
58
|
+
"command": "node",
|
|
59
|
+
"args": ["/absolute/path/to/node_modules/page-design-guide-mcp/build/index.js"]
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Replace `/absolute/path/to` with the actual path to your project's `node_modules` directory.
|
|
66
|
+
|
|
67
|
+
## Usage
|
|
68
|
+
|
|
69
|
+
Once connected, you can ask Claude questions like:
|
|
70
|
+
|
|
71
|
+
- "What design principles should I follow for this landing page?"
|
|
72
|
+
- "Which layout works best for a portfolio site?"
|
|
73
|
+
- "What colors convey trust and professionalism?"
|
|
74
|
+
- "How should I structure the hero section?"
|
|
75
|
+
- "What are common mistakes to avoid with typography?"
|
|
76
|
+
- "How do I make this accessible?"
|
|
77
|
+
- "Review my design approach for this e-commerce page"
|
|
78
|
+
|
|
79
|
+
## Available Tools
|
|
80
|
+
|
|
81
|
+
### `get_design_principles`
|
|
82
|
+
Get foundational design principles (hierarchy, whitespace, contrast, alignment, etc.) with guidelines and common mistakes to avoid.
|
|
83
|
+
|
|
84
|
+
### `get_layout_guidance`
|
|
85
|
+
Get layout recommendations based on page type. Explains when and why to use F-Pattern, Z-Pattern, Bento Grid, Split Screen, etc.
|
|
86
|
+
|
|
87
|
+
### `get_color_guidance`
|
|
88
|
+
Get color psychology, scheme types (monochromatic, complementary, etc.), and palette recommendations based on mood and industry.
|
|
89
|
+
|
|
90
|
+
### `get_typography_guidance`
|
|
91
|
+
Get typography hierarchy, font pairing recommendations for different styles, and best practices for readable text.
|
|
92
|
+
|
|
93
|
+
### `get_section_guidance`
|
|
94
|
+
Get guidance for specific page sections: header, hero, features, testimonials, pricing, cta, footer, faq - including purpose, structure, and best practices.
|
|
95
|
+
|
|
96
|
+
### `get_responsive_guidance`
|
|
97
|
+
Get responsive design principles, breakpoint strategies, and mobile-first best practices.
|
|
98
|
+
|
|
99
|
+
### `get_component_guidance`
|
|
100
|
+
Get design guidance for UI components: buttons, cards, forms, navigation, modals, icons - including sizing, states, and accessibility.
|
|
101
|
+
|
|
102
|
+
### `get_animation_guidance`
|
|
103
|
+
Get animation principles, timing guidelines, and performance considerations for different types of motion.
|
|
104
|
+
|
|
105
|
+
### `get_accessibility_guidance`
|
|
106
|
+
Get accessibility requirements including contrast ratios, focus states, semantic HTML, and motion preferences.
|
|
107
|
+
|
|
108
|
+
### `get_modern_trends`
|
|
109
|
+
Get current web design trends (2024-2026) with guidance on when and how to use them appropriately.
|
|
110
|
+
|
|
111
|
+
### `review_design_approach`
|
|
112
|
+
Describe your design and get feedback with scores, identified strengths, concerns, and recommendations.
|
|
113
|
+
|
|
114
|
+
## Project Structure
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
page-design-guide-mcp/
|
|
118
|
+
├── src/
|
|
119
|
+
│ └── index.ts # Main MCP server code
|
|
120
|
+
├── build/ # Compiled JavaScript (generated)
|
|
121
|
+
├── package.json
|
|
122
|
+
├── tsconfig.json
|
|
123
|
+
└── README.md
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Development
|
|
127
|
+
|
|
128
|
+
For development with auto-rebuild on changes:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
npm run watch
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Requirements
|
|
135
|
+
|
|
136
|
+
- Node.js >= 18.0.0
|
|
137
|
+
- Claude Desktop app
|
|
138
|
+
|
|
139
|
+
## License
|
|
140
|
+
|
|
141
141
|
MIT
|
package/build/index.js
CHANGED
|
@@ -2,865 +2,24 @@
|
|
|
2
2
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
"Position: Place key content in the top-left or center (natural reading flow)",
|
|
18
|
-
"Weight: Bold text naturally draws the eye before regular weight"
|
|
19
|
-
],
|
|
20
|
-
commonMistakes: [
|
|
21
|
-
"Everything being the same size",
|
|
22
|
-
"Too many competing focal points",
|
|
23
|
-
"Important CTAs blending into the background"
|
|
24
|
-
]
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
principle: "Whitespace",
|
|
28
|
-
description: "Empty space that gives content room to breathe and creates focus",
|
|
29
|
-
guidelines: [
|
|
30
|
-
"Section spacing: Use 80-120px between major sections",
|
|
31
|
-
"Element spacing: 24-48px padding inside cards and containers",
|
|
32
|
-
"Text: Line height of 1.5-1.7 for body text, 1.1-1.3 for headlines",
|
|
33
|
-
"Margins: Consistent spacing scale (8, 16, 24, 32, 48, 64, 96px)",
|
|
34
|
-
"Don't fear empty space - it's a design element, not wasted space"
|
|
35
|
-
],
|
|
36
|
-
commonMistakes: [
|
|
37
|
-
"Cramming too much content together",
|
|
38
|
-
"Inconsistent spacing throughout the page",
|
|
39
|
-
"No breathing room around text blocks"
|
|
40
|
-
]
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
principle: "Consistency",
|
|
44
|
-
description: "Uniform patterns that create familiarity and reduce cognitive load",
|
|
45
|
-
guidelines: [
|
|
46
|
-
"Use the same button styles throughout",
|
|
47
|
-
"Maintain consistent heading sizes (h1, h2, h3 scale)",
|
|
48
|
-
"Apply the same border-radius to all rounded elements",
|
|
49
|
-
"Use a defined color palette - don't introduce random colors",
|
|
50
|
-
"Keep icon style uniform (all outlined OR all filled, same weight)"
|
|
51
|
-
],
|
|
52
|
-
commonMistakes: [
|
|
53
|
-
"Mixing different button styles",
|
|
54
|
-
"Random border-radius values",
|
|
55
|
-
"Inconsistent icon styles"
|
|
56
|
-
]
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
principle: "Contrast",
|
|
60
|
-
description: "Visual distinction between elements for readability and emphasis",
|
|
61
|
-
guidelines: [
|
|
62
|
-
"Text contrast: Minimum 4.5:1 ratio for body, 3:1 for large text",
|
|
63
|
-
"Size contrast: Headlines should be noticeably larger, not just slightly",
|
|
64
|
-
"Color contrast: CTAs should pop against their background",
|
|
65
|
-
"Weight contrast: Mix light and bold weights purposefully"
|
|
66
|
-
],
|
|
67
|
-
commonMistakes: [
|
|
68
|
-
"Gray text on gray background",
|
|
69
|
-
"Subtle size differences that look like mistakes",
|
|
70
|
-
"Primary buttons that don't stand out"
|
|
71
|
-
]
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
principle: "Alignment",
|
|
75
|
-
description: "Clean visual connections that create order and professionalism",
|
|
76
|
-
guidelines: [
|
|
77
|
-
"Use a grid system (12-column is standard)",
|
|
78
|
-
"Left-align body text for readability",
|
|
79
|
-
"Center-align short headlines and CTAs for emphasis",
|
|
80
|
-
"Align elements to invisible vertical lines",
|
|
81
|
-
"Keep consistent left margins throughout sections"
|
|
82
|
-
],
|
|
83
|
-
commonMistakes: [
|
|
84
|
-
"Elements that almost align but don't quite",
|
|
85
|
-
"Mixing center and left alignment randomly",
|
|
86
|
-
"No underlying grid structure"
|
|
87
|
-
]
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
principle: "Proximity",
|
|
91
|
-
description: "Group related items to show relationships",
|
|
92
|
-
guidelines: [
|
|
93
|
-
"Related items should be closer together than unrelated items",
|
|
94
|
-
"Use cards to visually group content",
|
|
95
|
-
"Form labels should be closer to their inputs than to other fields",
|
|
96
|
-
"Create clear section breaks with spacing, not just lines"
|
|
97
|
-
],
|
|
98
|
-
commonMistakes: [
|
|
99
|
-
"Equal spacing between everything",
|
|
100
|
-
"Labels far from their associated elements",
|
|
101
|
-
"No visual grouping of related content"
|
|
102
|
-
]
|
|
103
|
-
}
|
|
104
|
-
];
|
|
105
|
-
// Layout Patterns
|
|
106
|
-
const layoutPatterns = [
|
|
107
|
-
{
|
|
108
|
-
name: "F-Pattern",
|
|
109
|
-
description: "Users scan horizontally across the top, then down the left side with occasional horizontal scans",
|
|
110
|
-
bestFor: ["Text-heavy pages", "Blogs", "News sites", "Documentation"],
|
|
111
|
-
structure: {
|
|
112
|
-
topBar: "Logo, navigation, search - users scan this first",
|
|
113
|
-
mainContent: "Left-aligned, 60-70% width",
|
|
114
|
-
sidebar: "Right side, 30-40% width, secondary content",
|
|
115
|
-
scanning: "Users read top headline, scan left edge, occasionally glance right"
|
|
116
|
-
},
|
|
117
|
-
guidance: "Place most important content in top-left. Use strong headlines to catch horizontal scans. Keep key info on the left edge."
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
name: "Z-Pattern",
|
|
121
|
-
description: "Eye movement follows a Z shape - top-left to top-right, diagonal to bottom-left, then to bottom-right",
|
|
122
|
-
bestFor: ["Landing pages", "Simple layouts", "Pages with minimal text", "Marketing pages"],
|
|
123
|
-
structure: {
|
|
124
|
-
topLeft: "Logo/brand",
|
|
125
|
-
topRight: "Navigation or primary CTA",
|
|
126
|
-
center: "Hero content, key message",
|
|
127
|
-
bottomLeft: "Supporting content",
|
|
128
|
-
bottomRight: "Final CTA, conversion point"
|
|
129
|
-
},
|
|
130
|
-
guidance: "Place logo top-left, CTA top-right. Guide the eye diagonally with visual elements. End with strong CTA bottom-right."
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
name: "Single Column",
|
|
134
|
-
description: "One centered column of content for focused reading",
|
|
135
|
-
bestFor: ["Blog posts", "Articles", "Documentation", "Mobile-first design", "Forms"],
|
|
136
|
-
structure: {
|
|
137
|
-
width: "Max 680-720px for optimal reading",
|
|
138
|
-
alignment: "Centered on page",
|
|
139
|
-
content: "Linear flow from top to bottom"
|
|
140
|
-
},
|
|
141
|
-
guidance: "Ideal for reading-focused content. Keep line length 45-75 characters. Use generous vertical spacing between sections."
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
name: "Split Screen",
|
|
145
|
-
description: "Divide viewport into two distinct sections",
|
|
146
|
-
bestFor: ["Comparison pages", "Dual offerings", "Sign-up/login pages", "Before/after"],
|
|
147
|
-
structure: {
|
|
148
|
-
leftSide: "50% width - can be image or content",
|
|
149
|
-
rightSide: "50% width - complementary content",
|
|
150
|
-
variants: "Can use 60/40 or 40/60 for emphasis"
|
|
151
|
-
},
|
|
152
|
-
guidance: "Each side should be able to stand alone visually. Use contrasting but complementary colors. Consider which side gets focus."
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
name: "Card Grid",
|
|
156
|
-
description: "Repeating card components in a responsive grid",
|
|
157
|
-
bestFor: ["Product listings", "Portfolio", "Team pages", "Feature showcases", "Blog archives"],
|
|
158
|
-
structure: {
|
|
159
|
-
columns: "3-4 on desktop, 2 on tablet, 1 on mobile",
|
|
160
|
-
cards: "Equal height, consistent internal structure",
|
|
161
|
-
gap: "16-24px between cards"
|
|
162
|
-
},
|
|
163
|
-
guidance: "Keep cards uniform in structure. Use consistent image ratios. Ensure equal heights in each row."
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
name: "Bento Grid",
|
|
167
|
-
description: "Asymmetrical grid with varied card sizes for visual interest",
|
|
168
|
-
bestFor: ["Modern portfolios", "Feature showcases", "Dashboard layouts", "Creative agencies"],
|
|
169
|
-
structure: {
|
|
170
|
-
grid: "Mix of 1x1, 2x1, 1x2, and 2x2 cards",
|
|
171
|
-
featured: "Larger cards for important items",
|
|
172
|
-
balance: "Distribute sizes for visual balance"
|
|
173
|
-
},
|
|
174
|
-
guidance: "Feature most important content in larger cards. Create visual rhythm with size variation. Maintain consistent gaps."
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
name: "Hero + Sections",
|
|
178
|
-
description: "Large hero section followed by stacked content sections",
|
|
179
|
-
bestFor: ["Landing pages", "Marketing sites", "Product pages", "Company websites"],
|
|
180
|
-
structure: {
|
|
181
|
-
hero: "60-100vh, full-width, single focused message",
|
|
182
|
-
sections: "Alternating content blocks, each with clear purpose",
|
|
183
|
-
flow: "Natural scroll progression telling a story"
|
|
184
|
-
},
|
|
185
|
-
guidance: "Hero should have one clear message and CTA. Each section should have distinct purpose. Use visual variety to maintain interest."
|
|
186
|
-
}
|
|
187
|
-
];
|
|
188
|
-
// Color Psychology and Schemes
|
|
189
|
-
const colorGuidance = {
|
|
190
|
-
psychology: {
|
|
191
|
-
blue: {
|
|
192
|
-
associations: ["Trust", "Stability", "Professionalism", "Calm", "Security"],
|
|
193
|
-
bestFor: ["Finance", "Healthcare", "Technology", "Corporate", "SaaS"],
|
|
194
|
-
avoid: ["Food (suppresses appetite)", "Urgency-based messaging"]
|
|
195
|
-
},
|
|
196
|
-
green: {
|
|
197
|
-
associations: ["Growth", "Nature", "Health", "Wealth", "Sustainability"],
|
|
198
|
-
bestFor: ["Environmental", "Health/Wellness", "Finance", "Organic products"],
|
|
199
|
-
avoid: ["Luxury brands", "High-energy products"]
|
|
200
|
-
},
|
|
201
|
-
red: {
|
|
202
|
-
associations: ["Energy", "Urgency", "Passion", "Excitement", "Power"],
|
|
203
|
-
bestFor: ["Sales/Clearance", "Food", "Entertainment", "Sports"],
|
|
204
|
-
avoid: ["Healthcare", "Financial (except warnings)", "Relaxation"]
|
|
205
|
-
},
|
|
206
|
-
orange: {
|
|
207
|
-
associations: ["Creativity", "Enthusiasm", "Fun", "Confidence", "Adventure"],
|
|
208
|
-
bestFor: ["Youth brands", "Creative agencies", "Food", "Fitness"],
|
|
209
|
-
avoid: ["Luxury", "Corporate/formal", "Healthcare"]
|
|
210
|
-
},
|
|
211
|
-
purple: {
|
|
212
|
-
associations: ["Luxury", "Creativity", "Wisdom", "Royalty", "Mystery"],
|
|
213
|
-
bestFor: ["Beauty", "Luxury goods", "Creative services", "Spirituality"],
|
|
214
|
-
avoid: ["Budget brands", "Masculine products", "Agriculture"]
|
|
215
|
-
},
|
|
216
|
-
black: {
|
|
217
|
-
associations: ["Elegance", "Power", "Sophistication", "Luxury", "Mystery"],
|
|
218
|
-
bestFor: ["Luxury brands", "Fashion", "Tech", "Premium products"],
|
|
219
|
-
avoid: ["Children's products", "Healthcare", "Budget brands"]
|
|
220
|
-
},
|
|
221
|
-
white: {
|
|
222
|
-
associations: ["Purity", "Simplicity", "Cleanliness", "Modern", "Minimal"],
|
|
223
|
-
bestFor: ["Healthcare", "Tech", "Minimalist brands", "Weddings"],
|
|
224
|
-
avoid: ["Over-reliance can feel sterile or empty"]
|
|
225
|
-
}
|
|
226
|
-
},
|
|
227
|
-
modernPalettes: [
|
|
228
|
-
{
|
|
229
|
-
name: "Professional Trust",
|
|
230
|
-
primary: "Deep blue (#1E40AF to #2563EB)",
|
|
231
|
-
accent: "Amber or teal for CTAs",
|
|
232
|
-
neutrals: "Slate grays",
|
|
233
|
-
mood: "Trustworthy, established, reliable"
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
name: "Modern Minimal",
|
|
237
|
-
primary: "Near-black (#0F172A)",
|
|
238
|
-
accent: "Single vibrant color for emphasis",
|
|
239
|
-
neutrals: "Cool grays on white",
|
|
240
|
-
mood: "Clean, sophisticated, focused"
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
name: "Warm & Approachable",
|
|
244
|
-
primary: "Coral or warm orange (#F97316)",
|
|
245
|
-
accent: "Complementary teal",
|
|
246
|
-
neutrals: "Warm grays",
|
|
247
|
-
mood: "Friendly, energetic, inviting"
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
name: "Nature & Growth",
|
|
251
|
-
primary: "Forest green (#15803D)",
|
|
252
|
-
accent: "Earth tones or gold",
|
|
253
|
-
neutrals: "Warm off-whites",
|
|
254
|
-
mood: "Organic, sustainable, healthy"
|
|
255
|
-
},
|
|
256
|
-
{
|
|
257
|
-
name: "Dark Mode Elegant",
|
|
258
|
-
primary: "Dark gray (#18181B) background",
|
|
259
|
-
accent: "Vibrant purple, blue, or green",
|
|
260
|
-
neutrals: "Gray scale for hierarchy",
|
|
261
|
-
mood: "Modern, tech-forward, sophisticated"
|
|
262
|
-
}
|
|
263
|
-
],
|
|
264
|
-
applicationRules: {
|
|
265
|
-
sixtyThirtyTen: "60% dominant color (usually background), 30% secondary, 10% accent",
|
|
266
|
-
ctaColors: "CTAs should be the most visually distinct color on the page",
|
|
267
|
-
textColors: "Dark text on light backgrounds, light text on dark. Never pure black (#000) on pure white (#FFF) - too harsh",
|
|
268
|
-
backgrounds: "Slight tints are softer than pure white. #FAFAFA or #F8FAFC feel more refined"
|
|
269
|
-
}
|
|
270
|
-
};
|
|
271
|
-
// Typography Guidance
|
|
272
|
-
const typographyGuidance = {
|
|
273
|
-
hierarchy: {
|
|
274
|
-
h1: {
|
|
275
|
-
usage: "Page title only - one per page",
|
|
276
|
-
sizing: "2.5-4rem (40-64px) on desktop",
|
|
277
|
-
weight: "Bold (700) or Extra Bold (800)",
|
|
278
|
-
lineHeight: "1.1-1.2 (tight)"
|
|
279
|
-
},
|
|
280
|
-
h2: {
|
|
281
|
-
usage: "Major section headings",
|
|
282
|
-
sizing: "1.75-2.5rem (28-40px)",
|
|
283
|
-
weight: "Semi-bold (600) or Bold (700)",
|
|
284
|
-
lineHeight: "1.2-1.3"
|
|
285
|
-
},
|
|
286
|
-
body: {
|
|
287
|
-
usage: "Main content text",
|
|
288
|
-
sizing: "1rem-1.125rem (16-18px) - never below 16px",
|
|
289
|
-
weight: "Regular (400)",
|
|
290
|
-
lineHeight: "1.5-1.7 for readability"
|
|
291
|
-
},
|
|
292
|
-
small: {
|
|
293
|
-
usage: "Captions, labels, secondary info",
|
|
294
|
-
sizing: "0.875rem (14px) minimum",
|
|
295
|
-
weight: "Regular or Medium (400-500)",
|
|
296
|
-
lineHeight: "1.4-1.5"
|
|
297
|
-
}
|
|
298
|
-
},
|
|
299
|
-
fontPairings: {
|
|
300
|
-
modern: {
|
|
301
|
-
heading: "Inter, SF Pro Display, Outfit, or Satoshi",
|
|
302
|
-
body: "Inter, System UI, or DM Sans",
|
|
303
|
-
character: "Clean, geometric, tech-forward"
|
|
304
|
-
},
|
|
305
|
-
classic: {
|
|
306
|
-
heading: "Playfair Display, Merriweather, or Lora",
|
|
307
|
-
body: "Source Serif Pro, Georgia, or Charter",
|
|
308
|
-
character: "Elegant, editorial, traditional"
|
|
309
|
-
},
|
|
310
|
-
friendly: {
|
|
311
|
-
heading: "Poppins, Nunito, or Quicksand",
|
|
312
|
-
body: "Open Sans, Lato, or Nunito Sans",
|
|
313
|
-
character: "Approachable, warm, rounded"
|
|
314
|
-
}
|
|
315
|
-
},
|
|
316
|
-
bestPractices: [
|
|
317
|
-
"Limit to 2 font families maximum (one for headings, one for body)",
|
|
318
|
-
"Use weight variations for hierarchy instead of many fonts",
|
|
319
|
-
"Keep line length 45-75 characters for optimal readability",
|
|
320
|
-
"Tighten letter-spacing on large headlines (-0.02 to -0.04em)",
|
|
321
|
-
"Left-align body text - centered text is harder to read"
|
|
322
|
-
]
|
|
323
|
-
};
|
|
324
|
-
// Component Design Guidance (NEW - Enhanced)
|
|
325
|
-
const componentGuidance = {
|
|
326
|
-
buttons: {
|
|
327
|
-
primary: {
|
|
328
|
-
sizing: "px-6 py-3 (24px horizontal, 12px vertical) minimum",
|
|
329
|
-
fontSize: "16-18px, never below 16px",
|
|
330
|
-
borderRadius: "8-12px for modern feel (or fully rounded with rounded-full)",
|
|
331
|
-
fontWeight: "600 (semi-bold)",
|
|
332
|
-
colors: "High contrast - if bg is blue-600, text should be white",
|
|
333
|
-
hoverEffect: "Darken by 10% or add subtle shadow: shadow-lg",
|
|
334
|
-
example: "bg-blue-600 hover:bg-blue-700 text-white px-8 py-4 rounded-lg font-semibold text-lg"
|
|
335
|
-
},
|
|
336
|
-
secondary: {
|
|
337
|
-
style: "Border style with transparent background",
|
|
338
|
-
example: "border-2 border-gray-300 hover:border-gray-400 text-gray-700 px-6 py-3 rounded-lg"
|
|
339
|
-
},
|
|
340
|
-
modernVariants: [
|
|
341
|
-
"Gradient buttons: from-purple-600 to-blue-600",
|
|
342
|
-
"Glassmorphic: backdrop-blur-md bg-white/10 border border-white/20",
|
|
343
|
-
"Neumorphic: Subtle shadows for depth"
|
|
344
|
-
]
|
|
345
|
-
},
|
|
346
|
-
cards: {
|
|
347
|
-
modern: {
|
|
348
|
-
background: "White with subtle shadow OR gradient backgrounds",
|
|
349
|
-
shadow: "shadow-lg hover:shadow-xl transition-shadow",
|
|
350
|
-
borderRadius: "12-16px (very rounded corners)",
|
|
351
|
-
padding: "p-6 to p-8 (24-32px)",
|
|
352
|
-
border: "Either no border OR subtle 1px border-gray-200",
|
|
353
|
-
hover: "Transform scale-105 or lift with shadow"
|
|
354
|
-
},
|
|
355
|
-
layout: {
|
|
356
|
-
image: "Rounded corners matching card, aspect-ratio 16:9 or 1:1",
|
|
357
|
-
spacing: "gap-4 between image and content",
|
|
358
|
-
cta: "Place at bottom with mt-auto in flex column"
|
|
359
|
-
}
|
|
360
|
-
},
|
|
361
|
-
forms: {
|
|
362
|
-
inputs: {
|
|
363
|
-
sizing: "h-12 to h-14 (48-56px height) for comfortable interaction",
|
|
364
|
-
padding: "px-4 py-3",
|
|
365
|
-
borderRadius: "8-10px",
|
|
366
|
-
border: "2px solid - gray-300 default, blue-500 on focus",
|
|
367
|
-
fontSize: "16px minimum (prevents zoom on mobile)",
|
|
368
|
-
background: "White or very light gray (gray-50)"
|
|
369
|
-
},
|
|
370
|
-
labels: {
|
|
371
|
-
position: "Above input with mb-2",
|
|
372
|
-
fontSize: "14px",
|
|
373
|
-
fontWeight: "500-600",
|
|
374
|
-
color: "gray-700"
|
|
375
|
-
},
|
|
376
|
-
validation: {
|
|
377
|
-
success: "Green border + checkmark icon",
|
|
378
|
-
error: "Red border + error message below in red text"
|
|
379
|
-
}
|
|
380
|
-
},
|
|
381
|
-
navigation: {
|
|
382
|
-
modern: {
|
|
383
|
-
style: "Clean, minimal, with clear active states",
|
|
384
|
-
linkSpacing: "gap-8 between nav items",
|
|
385
|
-
fontSize: "15-16px",
|
|
386
|
-
fontWeight: "500",
|
|
387
|
-
activeState: "Underline or colored background pill",
|
|
388
|
-
hoverState: "Color change or subtle underline"
|
|
389
|
-
},
|
|
390
|
-
mobile: {
|
|
391
|
-
pattern: "Slide-in drawer OR full-screen overlay",
|
|
392
|
-
animation: "Smooth transition 300ms",
|
|
393
|
-
closeButton: "Clear X icon top-right"
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
};
|
|
397
|
-
// Section-Specific Guidance (Enhanced)
|
|
398
|
-
const sectionGuidance = {
|
|
399
|
-
header: {
|
|
400
|
-
purpose: "Navigation, brand identity, and primary actions",
|
|
401
|
-
modern2026Style: {
|
|
402
|
-
background: "backdrop-blur-lg bg-white/80 with subtle border-bottom",
|
|
403
|
-
height: "72px desktop (more breathing room), 64px mobile",
|
|
404
|
-
padding: "px-6 lg:px-12 (responsive horizontal padding)",
|
|
405
|
-
layout: "Flex with justify-between and items-center",
|
|
406
|
-
sticky: "sticky top-0 z-50 with smooth transition"
|
|
407
|
-
},
|
|
408
|
-
structure: [
|
|
409
|
-
"Logo: Left side, h-8 to h-10 (32-40px), links to homepage",
|
|
410
|
-
"Navigation: Center or right, max-w-2xl, gap-8 between items",
|
|
411
|
-
"CTA: Right side, contrasting primary button with px-6 py-2.5"
|
|
412
|
-
],
|
|
413
|
-
bestPractices: [
|
|
414
|
-
"Use subtle shadow on scroll: shadow-sm",
|
|
415
|
-
"Keep nav items to 4-6 maximum",
|
|
416
|
-
"Mobile: Hamburger menu with smooth slide-in drawer",
|
|
417
|
-
"Logo should be clickable and return to home"
|
|
418
|
-
]
|
|
419
|
-
},
|
|
420
|
-
hero: {
|
|
421
|
-
purpose: "Capture attention, communicate value proposition, drive action",
|
|
422
|
-
modern2026Style: {
|
|
423
|
-
background: "Gradient backgrounds OR high-quality imagery with overlay",
|
|
424
|
-
gradientExample: "bg-gradient-to-br from-purple-600 via-blue-600 to-cyan-500",
|
|
425
|
-
overlayExample: "Darkened image with backdrop-brightness-75",
|
|
426
|
-
height: "min-h-screen or min-h-[600px] for full impact",
|
|
427
|
-
padding: "py-20 lg:py-32 for vertical breathing room"
|
|
428
|
-
},
|
|
429
|
-
structure: [
|
|
430
|
-
"Headline: 3-4rem lg:5-6rem (48-96px), font-bold, leading-tight",
|
|
431
|
-
"Subheadline: text-xl lg:text-2xl, text-gray-600, max-w-2xl, leading-relaxed",
|
|
432
|
-
"CTA Group: Primary + Secondary buttons side-by-side with gap-4",
|
|
433
|
-
"Visual: High-quality mockup, illustration, or animated element"
|
|
434
|
-
],
|
|
435
|
-
contentLayout: {
|
|
436
|
-
centered: "max-w-4xl mx-auto text-center - best for simple message",
|
|
437
|
-
split: "Grid lg:grid-cols-2 gap-12 items-center - best for showing product",
|
|
438
|
-
visual: "Content takes 60% left, visual 40% right OR reversed"
|
|
439
|
-
},
|
|
440
|
-
typography: {
|
|
441
|
-
headline: "Use gradient text: bg-gradient-to-r from-purple-600 to-blue-600 bg-clip-text text-transparent",
|
|
442
|
-
subheadline: "text-gray-600 dark:text-gray-300",
|
|
443
|
-
emphasis: "Highlight key words with different color or font-weight-700"
|
|
444
|
-
},
|
|
445
|
-
ctaBestPractices: [
|
|
446
|
-
"Primary CTA: Large (px-8 py-4), bold color, clear action verb",
|
|
447
|
-
"Secondary CTA: Ghost button or subtle link with arrow →",
|
|
448
|
-
"Add micro-copy under CTAs: 'No credit card required' builds trust",
|
|
449
|
-
"Space between buttons: gap-3 or gap-4"
|
|
450
|
-
],
|
|
451
|
-
avoid: [
|
|
452
|
-
"Generic stock photos - use custom illustrations or real product shots",
|
|
453
|
-
"Walls of text - keep it concise",
|
|
454
|
-
"Weak CTAs like 'Learn More' - use 'Start Building', 'Get Started'"
|
|
455
|
-
]
|
|
456
|
-
},
|
|
457
|
-
features: {
|
|
458
|
-
purpose: "Showcase capabilities and benefits",
|
|
459
|
-
modern2026Style: {
|
|
460
|
-
layout: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8",
|
|
461
|
-
background: "Gray-50 or gradient section to differentiate from hero",
|
|
462
|
-
padding: "py-20 lg:py-32",
|
|
463
|
-
maxWidth: "max-w-7xl mx-auto"
|
|
464
|
-
},
|
|
465
|
-
sectionHeader: {
|
|
466
|
-
headline: "text-3xl lg:text-5xl font-bold text-center mb-4",
|
|
467
|
-
subheadline: "text-xl text-gray-600 text-center mb-16 max-w-3xl mx-auto",
|
|
468
|
-
alignment: "Centered for visual impact"
|
|
469
|
-
},
|
|
470
|
-
featureCard: {
|
|
471
|
-
structure: "Icon → Title → Description → Optional Link",
|
|
472
|
-
spacing: "flex flex-col gap-4 p-6 lg:p-8",
|
|
473
|
-
icon: {
|
|
474
|
-
size: "48-64px (h-12 to h-16)",
|
|
475
|
-
style: "Colorful gradient background OR simple colored icon",
|
|
476
|
-
example: "bg-gradient-to-br from-purple-500 to-blue-500 p-3 rounded-lg"
|
|
477
|
-
},
|
|
478
|
-
title: "text-xl lg:text-2xl font-semibold mb-2",
|
|
479
|
-
description: "text-gray-600 leading-relaxed"
|
|
480
|
-
},
|
|
481
|
-
modernVariants: [
|
|
482
|
-
"Bento Grid: Asymmetrical layout with featured items larger",
|
|
483
|
-
"Alternating: Content left, image right, then reversed",
|
|
484
|
-
"Icon Grid: Large icons with minimal text for clarity",
|
|
485
|
-
"Card Hover: Scale or lift cards on hover with shadow-xl"
|
|
486
|
-
],
|
|
487
|
-
bestPractices: [
|
|
488
|
-
"Limit to 6-9 features - more overwhelms users",
|
|
489
|
-
"Use benefit-focused titles, not feature names",
|
|
490
|
-
"Icons should be consistent style (all line OR all solid)",
|
|
491
|
-
"Add subtle hover effects for interactivity"
|
|
492
|
-
]
|
|
493
|
-
},
|
|
494
|
-
pricing: {
|
|
495
|
-
purpose: "Present pricing options clearly and drive conversions",
|
|
496
|
-
modern2026Style: {
|
|
497
|
-
layout: "grid md:grid-cols-2 lg:grid-cols-3 gap-8 max-w-7xl mx-auto",
|
|
498
|
-
background: "Clean white OR subtle gradient background",
|
|
499
|
-
padding: "py-20 lg:py-32",
|
|
500
|
-
cardSpacing: "gap-8 allows cards to breathe"
|
|
501
|
-
},
|
|
502
|
-
pricingCard: {
|
|
503
|
-
structure: "Name → Price → Features List → CTA",
|
|
504
|
-
styling: "bg-white rounded-2xl shadow-lg p-8 flex flex-col",
|
|
505
|
-
featured: "Transform scale-105 + colored border-2 border-purple-500 + shadow-2xl",
|
|
506
|
-
badge: "Popular tier gets 'Most Popular' badge at top"
|
|
507
|
-
},
|
|
508
|
-
priceDisplay: {
|
|
509
|
-
format: "Large number + small period + currency",
|
|
510
|
-
example: "text-6xl font-bold + /month in text-xl text-gray-600",
|
|
511
|
-
emphasis: "Make monthly price prominent, annual savings secondary"
|
|
512
|
-
},
|
|
513
|
-
features: {
|
|
514
|
-
list: "space-y-3 my-8",
|
|
515
|
-
item: "flex items-start gap-3",
|
|
516
|
-
icon: "Checkmark icon (✓) in brand color, h-5 w-5",
|
|
517
|
-
text: "text-gray-700",
|
|
518
|
-
negativeFeatures: "Show with X icon and text-gray-400 for transparency"
|
|
519
|
-
},
|
|
520
|
-
bestPractices: [
|
|
521
|
-
"Highlight recommended tier with visual emphasis",
|
|
522
|
-
"Include annual pricing toggle to show savings",
|
|
523
|
-
"Use clear tier names: Starter, Pro, Enterprise",
|
|
524
|
-
"Add 'Contact Us' for enterprise instead of price",
|
|
525
|
-
"Include trust signals: 'Cancel anytime', 'Money-back guarantee'"
|
|
526
|
-
]
|
|
527
|
-
},
|
|
528
|
-
faq: {
|
|
529
|
-
purpose: "Answer common questions and reduce friction",
|
|
530
|
-
modern2026Style: {
|
|
531
|
-
layout: "max-w-4xl mx-auto - narrow for readability",
|
|
532
|
-
background: "Clean white or very subtle gray",
|
|
533
|
-
padding: "py-20",
|
|
534
|
-
accordion: "Expandable items with smooth animation"
|
|
535
|
-
},
|
|
536
|
-
structure: {
|
|
537
|
-
header: "text-3xl lg:text-4xl font-bold text-center mb-12",
|
|
538
|
-
item: "border-b border-gray-200 py-6",
|
|
539
|
-
question: "text-lg font-semibold text-gray-900 cursor-pointer hover:text-purple-600",
|
|
540
|
-
answer: "text-gray-600 leading-relaxed mt-3 pr-12",
|
|
541
|
-
icon: "Chevron or + icon that rotates on expand"
|
|
542
|
-
},
|
|
543
|
-
contentStrategy: [
|
|
544
|
-
"Start with most common questions (pricing, trial, cancellation)",
|
|
545
|
-
"Keep answers concise - 2-3 sentences max",
|
|
546
|
-
"Use conversational tone, avoid jargon",
|
|
547
|
-
"Link to detailed docs for complex topics",
|
|
548
|
-
"Include 6-10 questions maximum"
|
|
549
|
-
],
|
|
550
|
-
commonQuestions: [
|
|
551
|
-
"How does the free trial work?",
|
|
552
|
-
"Can I cancel anytime?",
|
|
553
|
-
"What payment methods do you accept?",
|
|
554
|
-
"Do you offer refunds?",
|
|
555
|
-
"How do I get support?",
|
|
556
|
-
"Is my data secure?"
|
|
557
|
-
]
|
|
558
|
-
},
|
|
559
|
-
testimonials: {
|
|
560
|
-
purpose: "Build trust through social proof",
|
|
561
|
-
modern2026Style: {
|
|
562
|
-
layout: "grid md:grid-cols-2 lg:grid-cols-3 gap-8",
|
|
563
|
-
background: "White or subtle gradient",
|
|
564
|
-
padding: "py-20 lg:py-32"
|
|
565
|
-
},
|
|
566
|
-
cardDesign: {
|
|
567
|
-
style: "bg-white rounded-xl shadow-md p-8 flex flex-col",
|
|
568
|
-
quote: "text-lg text-gray-700 leading-relaxed mb-6",
|
|
569
|
-
rating: "Stars (⭐) or custom icon, mb-4",
|
|
570
|
-
avatar: "h-12 w-12 rounded-full",
|
|
571
|
-
name: "font-semibold text-gray-900",
|
|
572
|
-
title: "text-sm text-gray-600",
|
|
573
|
-
logo: "Company logo, h-6, grayscale with opacity-50"
|
|
574
|
-
},
|
|
575
|
-
contentGuidelines: [
|
|
576
|
-
"Use specific, results-focused quotes",
|
|
577
|
-
"Include real names, photos, and companies",
|
|
578
|
-
"Vary lengths - some short, some detailed",
|
|
579
|
-
"Show diverse range of customers",
|
|
580
|
-
"Add video testimonials for premium feel"
|
|
581
|
-
],
|
|
582
|
-
layouts: [
|
|
583
|
-
"Masonry Grid: Staggered heights for visual interest",
|
|
584
|
-
"Scrolling Marquee: Auto-scrolling horizontal strip",
|
|
585
|
-
"Featured + Grid: One large testimonial + smaller grid"
|
|
586
|
-
]
|
|
587
|
-
},
|
|
588
|
-
footer: {
|
|
589
|
-
purpose: "Secondary navigation, legal info, final touchpoint",
|
|
590
|
-
modern2026Style: {
|
|
591
|
-
background: "bg-gray-900 text-gray-300 OR bg-gray-50 text-gray-700",
|
|
592
|
-
padding: "pt-16 pb-8",
|
|
593
|
-
layout: "grid gap-8 md:grid-cols-2 lg:grid-cols-4",
|
|
594
|
-
maxWidth: "max-w-7xl mx-auto px-6"
|
|
595
|
-
},
|
|
596
|
-
structure: {
|
|
597
|
-
companySection: {
|
|
598
|
-
logo: "mb-4 - same as header but adapt color",
|
|
599
|
-
description: "text-sm leading-relaxed mb-6 max-w-xs",
|
|
600
|
-
social: "flex gap-4 - h-6 w-6 icons with hover effects"
|
|
601
|
-
},
|
|
602
|
-
linkColumns: {
|
|
603
|
-
title: "font-semibold mb-4 text-white (or dark on light bg)",
|
|
604
|
-
links: "space-y-3 text-sm",
|
|
605
|
-
hover: "hover:text-white transition-colors"
|
|
606
|
-
},
|
|
607
|
-
newsletter: {
|
|
608
|
-
title: "font-semibold mb-4",
|
|
609
|
-
input: "flex gap-2 - email input + submit button",
|
|
610
|
-
privacy: "text-xs text-gray-500 mt-2"
|
|
611
|
-
}
|
|
612
|
-
},
|
|
613
|
-
bottom: {
|
|
614
|
-
divider: "border-t border-gray-800 mt-12 pt-8",
|
|
615
|
-
layout: "flex flex-col md:flex-row justify-between items-center gap-4",
|
|
616
|
-
copyright: "text-sm text-gray-500",
|
|
617
|
-
legal: "flex gap-6 text-sm - Privacy, Terms, Cookies links"
|
|
618
|
-
},
|
|
619
|
-
bestPractices: [
|
|
620
|
-
"Keep link categories logical: Product, Company, Resources, Legal",
|
|
621
|
-
"Include contact email and location if relevant",
|
|
622
|
-
"Social icons should match brand style",
|
|
623
|
-
"Mobile: Stack columns vertically with clear spacing",
|
|
624
|
-
"Add newsletter signup for lead generation"
|
|
625
|
-
]
|
|
626
|
-
}
|
|
627
|
-
};
|
|
628
|
-
// Modern Color Palettes for 2026 (Enhanced)
|
|
629
|
-
const modern2026Palettes = {
|
|
630
|
-
trendingCombinations: [
|
|
631
|
-
{
|
|
632
|
-
name: "Purple + Cyan (Tech/SaaS)",
|
|
633
|
-
gradient: "from-purple-600 via-purple-700 to-cyan-600",
|
|
634
|
-
primary: "#9333EA (purple-600)",
|
|
635
|
-
secondary: "#0891B2 (cyan-600)",
|
|
636
|
-
accent: "#F59E0B (amber-500)",
|
|
637
|
-
neutrals: "Slate grays (slate-50 to slate-900)",
|
|
638
|
-
usage: "Modern SaaS, AI products, tech platforms",
|
|
639
|
-
example: "Backgrounds in gradients, CTAs in solid purple, accents in cyan"
|
|
640
|
-
},
|
|
641
|
-
{
|
|
642
|
-
name: "Emerald + Indigo (Professional)",
|
|
643
|
-
gradient: "from-emerald-600 to-indigo-600",
|
|
644
|
-
primary: "#059669 (emerald-600)",
|
|
645
|
-
secondary: "#4F46E5 (indigo-600)",
|
|
646
|
-
accent: "#EAB308 (yellow-500)",
|
|
647
|
-
neutrals: "Warm grays (gray-50 to gray-900)",
|
|
648
|
-
usage: "Finance, healthcare, B2B services",
|
|
649
|
-
example: "Trust-building with green, authority with indigo"
|
|
650
|
-
},
|
|
651
|
-
{
|
|
652
|
-
name: "Orange + Pink (Creative/Bold)",
|
|
653
|
-
gradient: "from-orange-500 via-red-500 to-pink-500",
|
|
654
|
-
primary: "#F97316 (orange-500)",
|
|
655
|
-
secondary: "#EC4899 (pink-500)",
|
|
656
|
-
accent: "#8B5CF6 (violet-500)",
|
|
657
|
-
neutrals: "Warm off-whites and grays",
|
|
658
|
-
usage: "Creative agencies, entertainment, youth brands",
|
|
659
|
-
example: "Energetic, attention-grabbing, playful feel"
|
|
660
|
-
},
|
|
661
|
-
{
|
|
662
|
-
name: "Monochrome + Accent (Minimal)",
|
|
663
|
-
base: "from-gray-900 to-gray-800 (dark) OR gray-50 (light)",
|
|
664
|
-
primary: "#0F172A (slate-900) or #F8FAFC (slate-50)",
|
|
665
|
-
accent: "One vibrant: #3B82F6 (blue-500) OR #10B981 (emerald-500)",
|
|
666
|
-
neutrals: "Full gray scale",
|
|
667
|
-
usage: "Premium brands, minimalist design, luxury",
|
|
668
|
-
example: "Mostly grayscale with strategic pops of color"
|
|
669
|
-
},
|
|
670
|
-
{
|
|
671
|
-
name: "Nature Earth Tones (Organic)",
|
|
672
|
-
palette: "Olive, terracotta, sage, cream",
|
|
673
|
-
primary: "#78716C (stone-500)",
|
|
674
|
-
secondary: "#84CC16 (lime-500)",
|
|
675
|
-
accent: "#EA580C (orange-600)",
|
|
676
|
-
neutrals: "Warm beiges and browns",
|
|
677
|
-
usage: "Sustainable brands, wellness, organic products",
|
|
678
|
-
example: "Calming, natural, trustworthy feel"
|
|
679
|
-
}
|
|
680
|
-
],
|
|
681
|
-
implementation: {
|
|
682
|
-
backgrounds: [
|
|
683
|
-
"Gradient backgrounds: bg-gradient-to-br from-[color1] to-[color2]",
|
|
684
|
-
"Mesh gradients: Blurred colored orbs for modern feel",
|
|
685
|
-
"Subtle patterns: Dots, grids, or noise texture at low opacity"
|
|
686
|
-
],
|
|
687
|
-
textOnColor: [
|
|
688
|
-
"Dark backgrounds: Use white or very light text (gray-50)",
|
|
689
|
-
"Light backgrounds: Use dark text (gray-900 or slate-900)",
|
|
690
|
-
"Colored backgrounds: Check contrast ratio - aim for 4.5:1 minimum"
|
|
691
|
-
],
|
|
692
|
-
buttons: [
|
|
693
|
-
"Primary: Solid brand color with hover darken",
|
|
694
|
-
"Secondary: Outline or ghost style",
|
|
695
|
-
"Gradient buttons: Apply gradient to background, white text"
|
|
696
|
-
]
|
|
697
|
-
}
|
|
698
|
-
};
|
|
699
|
-
// Responsive Design Guidance
|
|
700
|
-
const responsiveGuidance = {
|
|
701
|
-
breakpoints: {
|
|
702
|
-
mobile: "< 640px - Single column, stacked content",
|
|
703
|
-
tablet: "640px - 1024px - 2 columns, adapted spacing",
|
|
704
|
-
desktop: "1024px - 1280px - Full layout",
|
|
705
|
-
wide: "> 1280px - Contained width, extra whitespace"
|
|
706
|
-
},
|
|
707
|
-
mobileFirst: {
|
|
708
|
-
principle: "Design for mobile first, enhance for larger screens",
|
|
709
|
-
reasoning: "60%+ of traffic is mobile. Easier to add than remove."
|
|
710
|
-
},
|
|
711
|
-
adaptations: {
|
|
712
|
-
navigation: "Hamburger menu below 768px, full menu above",
|
|
713
|
-
grids: "1 column mobile, 2 tablet, 3-4 desktop",
|
|
714
|
-
typography: "Reduce heading sizes 25-35% on mobile",
|
|
715
|
-
spacing: "Reduce section padding 30-50% on mobile"
|
|
716
|
-
},
|
|
717
|
-
touchTargets: {
|
|
718
|
-
minimum: "44x44px for all interactive elements",
|
|
719
|
-
spacing: "At least 8px between touch targets"
|
|
720
|
-
}
|
|
721
|
-
};
|
|
722
|
-
// Modern Design Trends (2026 Edition)
|
|
723
|
-
const modernTrends = {
|
|
724
|
-
currentTrends2026: [
|
|
725
|
-
{
|
|
726
|
-
name: "Bento Grids",
|
|
727
|
-
description: "Asymmetrical grid layouts with varied card sizes, inspired by Japanese bento boxes",
|
|
728
|
-
implementation: "Use CSS Grid with grid-template-columns and span classes",
|
|
729
|
-
example: "Some cards span 2 columns (col-span-2), others 1, creates visual rhythm",
|
|
730
|
-
whenToUse: "Portfolios, feature showcases, modern dashboards, landing pages",
|
|
731
|
-
avoid: "On mobile (stack to single column instead)"
|
|
732
|
-
},
|
|
733
|
-
{
|
|
734
|
-
name: "Glassmorphism",
|
|
735
|
-
description: "Frosted glass effect with backdrop blur, transparency, and subtle borders",
|
|
736
|
-
implementation: "backdrop-blur-lg bg-white/10 border border-white/20",
|
|
737
|
-
whenToUse: "Cards over images/gradients, nav bars, modals, floating elements",
|
|
738
|
-
avoid: "Overuse - use for accent elements, not everything",
|
|
739
|
-
accessibility: "Ensure text contrast is still strong"
|
|
740
|
-
},
|
|
741
|
-
{
|
|
742
|
-
name: "Dark Mode First",
|
|
743
|
-
description: "Design for dark mode as primary, with light mode as alternative",
|
|
744
|
-
implementation: "Use dark:class-name for light mode alternatives",
|
|
745
|
-
colors: "Dark gray (not pure black) backgrounds, vibrant accent colors pop more",
|
|
746
|
-
whenToUse: "Tech products, developer tools, creative apps, evening-use products",
|
|
747
|
-
userControl: "Always offer toggle - respect user preference"
|
|
748
|
-
},
|
|
749
|
-
{
|
|
750
|
-
name: "3D Elements & Depth",
|
|
751
|
-
description: "Subtle 3D illustrations, layered cards, shadow depth for hierarchy",
|
|
752
|
-
implementation: "shadow-2xl, transform utilities, perspective in CSS",
|
|
753
|
-
examples: "Floating mockups, isometric illustrations, layered UI cards",
|
|
754
|
-
whenToUse: "Hero sections, feature visuals, product showcases",
|
|
755
|
-
avoid: "Heavy 3D that slows performance"
|
|
756
|
-
},
|
|
757
|
-
{
|
|
758
|
-
name: "Micro-interactions",
|
|
759
|
-
description: "Small animations that respond to user actions for delight and feedback",
|
|
760
|
-
examples: [
|
|
761
|
-
"Button hover: Subtle scale or color change",
|
|
762
|
-
"Form success: Checkmark animation",
|
|
763
|
-
"Loading: Skeleton screens or progress indicators",
|
|
764
|
-
"Scroll: Parallax or fade-in effects"
|
|
765
|
-
],
|
|
766
|
-
timing: "Keep under 300ms for responsive feel",
|
|
767
|
-
whenToUse: "Everywhere - it's about polish and feedback"
|
|
768
|
-
},
|
|
769
|
-
{
|
|
770
|
-
name: "Oversized Typography",
|
|
771
|
-
description: "Giant headlines (80-120px+) as primary design elements",
|
|
772
|
-
implementation: "text-6xl lg:text-8xl font-bold",
|
|
773
|
-
effect: "Creates immediate impact and hierarchy",
|
|
774
|
-
whenToUse: "Hero sections, landing pages, editorial content",
|
|
775
|
-
balance: "Pair with plenty of whitespace"
|
|
776
|
-
},
|
|
777
|
-
{
|
|
778
|
-
name: "Gradient Mesh Backgrounds",
|
|
779
|
-
description: "Soft, blurred gradient orbs that create depth and modern aesthetic",
|
|
780
|
-
implementation: "Multiple absolutely positioned divs with blur-3xl and gradient-to-br",
|
|
781
|
-
colors: "Use 2-3 brand colors with low opacity (20-30%)",
|
|
782
|
-
whenToUse: "Hero backgrounds, section backgrounds, full-page backgrounds",
|
|
783
|
-
performance: "Use CSS, not images, for better performance"
|
|
784
|
-
},
|
|
785
|
-
{
|
|
786
|
-
name: "Brutalism Revival (Selective)",
|
|
787
|
-
description: "Bold, raw, unconventional layouts for statement brands",
|
|
788
|
-
characteristics: "Sharp edges, bold colors, overlapping elements, raw typography",
|
|
789
|
-
whenToUse: "Creative agencies, art portfolios, fashion brands",
|
|
790
|
-
avoid: "B2B, traditional industries, unless intentionally edgy"
|
|
791
|
-
}
|
|
792
|
-
],
|
|
793
|
-
avoidTheseOutdated: [
|
|
794
|
-
"Flat design without depth - add subtle shadows",
|
|
795
|
-
"Skeuomorphism - overly realistic textures",
|
|
796
|
-
"Automatic carousels - users ignore them",
|
|
797
|
-
"Hamburger menu on desktop - show navigation",
|
|
798
|
-
"Pop-ups on page load - use exit-intent or delayed",
|
|
799
|
-
"Auto-playing video with sound - mute by default",
|
|
800
|
-
"Stock photos of people in office - use custom illustrations",
|
|
801
|
-
"Social media icon walls - focus on 2-3 platforms"
|
|
802
|
-
],
|
|
803
|
-
balancingAct: [
|
|
804
|
-
"Trend: Use modern techniques but don't sacrifice usability",
|
|
805
|
-
"Brand: Align trends with brand personality",
|
|
806
|
-
"Audience: Consider if your users expect cutting-edge or traditional",
|
|
807
|
-
"Performance: Fancy effects shouldn't slow down the site",
|
|
808
|
-
"Accessibility: Never compromise contrast or navigation for aesthetics"
|
|
809
|
-
]
|
|
810
|
-
};
|
|
811
|
-
// Accessibility Guidance
|
|
812
|
-
const accessibilityGuidance = {
|
|
813
|
-
colorContrast: {
|
|
814
|
-
normalText: "4.5:1 minimum ratio",
|
|
815
|
-
largeText: "3:1 minimum (18px+ or 14px bold)",
|
|
816
|
-
uiComponents: "3:1 for interactive elements"
|
|
817
|
-
},
|
|
818
|
-
focusStates: {
|
|
819
|
-
requirement: "All interactive elements must have visible focus",
|
|
820
|
-
implementation: "Outline or ring, 2-3px, contrasting color"
|
|
821
|
-
},
|
|
822
|
-
semanticHTML: {
|
|
823
|
-
landmarks: "Use header, main, nav, footer, section, article",
|
|
824
|
-
headings: "Proper hierarchy (h1 > h2 > h3), no skipping levels"
|
|
825
|
-
},
|
|
826
|
-
bestPractices: [
|
|
827
|
-
"Test with keyboard navigation",
|
|
828
|
-
"Don't rely on color alone to convey information",
|
|
829
|
-
"Provide alt text for informative images"
|
|
830
|
-
]
|
|
831
|
-
};
|
|
832
|
-
// Animation Guidance (Repaired and Completed)
|
|
833
|
-
const animationGuidance = {
|
|
834
|
-
purposes: {
|
|
835
|
-
feedback: "Confirm user actions (button press, form submit)",
|
|
836
|
-
continuity: "Smooth transitions between states/pages",
|
|
837
|
-
attention: "Draw focus to important elements",
|
|
838
|
-
hierarchy: "Show relationships and depth",
|
|
839
|
-
delight: "Add personality and polish (use sparingly)"
|
|
840
|
-
},
|
|
841
|
-
timingPrinciples: {
|
|
842
|
-
microInteractions: "100-200ms (instant feel)",
|
|
843
|
-
smallTransitions: "200-300ms (noticeable but quick)",
|
|
844
|
-
mediumTransitions: "300-500ms (deliberate movement)",
|
|
845
|
-
largeTransitions: "500-800ms (page loads, complex reveals)"
|
|
846
|
-
},
|
|
847
|
-
easings: {
|
|
848
|
-
standard: "ease-in-out (natural acceleration/deceleration)",
|
|
849
|
-
enter: "ease-out (fast in, slow stop)",
|
|
850
|
-
exit: "ease-in (slow start, fast out)"
|
|
851
|
-
},
|
|
852
|
-
bestPractices: [
|
|
853
|
-
"Respect 'prefers-reduced-motion' media query",
|
|
854
|
-
"Don't animate just for the sake of it",
|
|
855
|
-
"Keep animations fast to avoid feeling sluggish"
|
|
856
|
-
]
|
|
857
|
-
};
|
|
5
|
+
import { designPrinciples } from "./data/designPrinciples.js";
|
|
6
|
+
import { layoutPatterns } from "./data/layoutPatterns.js";
|
|
7
|
+
import { colorGuidance } from "./data/colorGuidance.js";
|
|
8
|
+
import { typographyGuidance } from "./data/typographyGuidance.js";
|
|
9
|
+
import { componentGuidance } from "./data/componentGuidance.js";
|
|
10
|
+
import { sectionGuidance } from "./data/sectionGuidance.js";
|
|
11
|
+
import { modern2026Palettes } from "./data/modernPalettes.js";
|
|
12
|
+
import { responsiveGuidance } from "./data/responsiveGuidance.js";
|
|
13
|
+
import { modernTrends } from "./data/modernTrends.js";
|
|
14
|
+
import { accessibilityGuidance } from "./data/accessibilityGuidance.js";
|
|
15
|
+
import { animationGuidance } from "./data/animationGuidance.js";
|
|
16
|
+
import { liveInspirationSources } from "./data/inspiration.js";
|
|
858
17
|
// ==========================================
|
|
859
18
|
// MCP SERVER IMPLEMENTATION
|
|
860
19
|
// ==========================================
|
|
861
20
|
const server = new Server({
|
|
862
21
|
name: "design-guidance-server",
|
|
863
|
-
version: "1.0.
|
|
22
|
+
version: "1.0.7",
|
|
864
23
|
}, {
|
|
865
24
|
capabilities: {
|
|
866
25
|
tools: {},
|
|
@@ -977,6 +136,19 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
977
136
|
type: "object",
|
|
978
137
|
properties: {},
|
|
979
138
|
},
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
name: "get_inspiration_by_mood",
|
|
142
|
+
description: "Returns curated inspiration sources (websites, component libraries) based on desired mood or style.",
|
|
143
|
+
inputSchema: {
|
|
144
|
+
type: "object",
|
|
145
|
+
properties: {
|
|
146
|
+
mood: {
|
|
147
|
+
type: "string",
|
|
148
|
+
description: "The mood or style to search for (e.g., 'minimal', 'dark', 'animated'). Returns all if empty."
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
},
|
|
980
152
|
}
|
|
981
153
|
],
|
|
982
154
|
};
|
|
@@ -1064,6 +236,28 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1064
236
|
return {
|
|
1065
237
|
content: [{ type: "text", text: JSON.stringify(checklist, null, 2) }],
|
|
1066
238
|
};
|
|
239
|
+
case "get_inspiration_by_mood":
|
|
240
|
+
const mood = args?.mood?.toLowerCase();
|
|
241
|
+
if (!mood) {
|
|
242
|
+
return {
|
|
243
|
+
content: [{ type: "text", text: JSON.stringify(liveInspirationSources, null, 2) }],
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
// Filter logic for inspirations
|
|
247
|
+
const filtered = {
|
|
248
|
+
portfolios: liveInspirationSources.portfolios.filter(p => p.categories.some(c => c.includes(mood)) ||
|
|
249
|
+
p.bestFor.toLowerCase().includes(mood) ||
|
|
250
|
+
p.name.toLowerCase().includes(mood)),
|
|
251
|
+
componentLibraries: Object.entries(liveInspirationSources.componentLibraries)
|
|
252
|
+
.filter(([_, lib]) => lib.style.toLowerCase().includes(mood) || lib.components.some(c => c.includes(mood)))
|
|
253
|
+
.reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {}),
|
|
254
|
+
realSiteExamples: Object.entries(liveInspirationSources.realSiteExamples)
|
|
255
|
+
.filter(([_, site]) => site.inspireFrom.some(i => i.includes(mood)))
|
|
256
|
+
.reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {})
|
|
257
|
+
};
|
|
258
|
+
return {
|
|
259
|
+
content: [{ type: "text", text: JSON.stringify(filtered, null, 2) }],
|
|
260
|
+
};
|
|
1067
261
|
default:
|
|
1068
262
|
throw new Error(`Unknown tool: ${name}`);
|
|
1069
263
|
}
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "page-design-guide-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "MCP server providing modern web design guidance, color psychology, typography, layout patterns, and UI best practices for AI assistants",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "build/index.js",
|
|
@@ -30,6 +30,9 @@
|
|
|
30
30
|
"design-system"
|
|
31
31
|
],
|
|
32
32
|
"author": "Chiheb Nabil",
|
|
33
|
+
"repository": {
|
|
34
|
+
"url": "https://github.com/chihebnabil/page-design-guide-mcp"
|
|
35
|
+
},
|
|
33
36
|
"dependencies": {
|
|
34
37
|
"@modelcontextprotocol/sdk": "^1.25.2"
|
|
35
38
|
},
|