@musashishao/agent-kit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @musashishao/agent-kit might be problematic. Click here for more details.
- package/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +487 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/search.py +76 -0
- package/.agent/ARCHITECTURE.md +225 -0
- package/.agent/CONTEXT.md +229 -0
- package/.agent/FEATURE_ROADMAP.md +435 -0
- package/.agent/PROMPT_TEMPLATES.md +261 -0
- package/.agent/agents/backend-specialist.md +263 -0
- package/.agent/agents/database-architect.md +226 -0
- package/.agent/agents/debugger.md +225 -0
- package/.agent/agents/devops-engineer.md +242 -0
- package/.agent/agents/documentation-writer.md +104 -0
- package/.agent/agents/explorer-agent.md +73 -0
- package/.agent/agents/frontend-specialist.md +556 -0
- package/.agent/agents/game-developer.md +162 -0
- package/.agent/agents/mobile-developer.md +377 -0
- package/.agent/agents/orchestrator.md +416 -0
- package/.agent/agents/penetration-tester.md +188 -0
- package/.agent/agents/performance-optimizer.md +187 -0
- package/.agent/agents/project-planner.md +403 -0
- package/.agent/agents/security-auditor.md +170 -0
- package/.agent/agents/seo-specialist.md +111 -0
- package/.agent/agents/test-engineer.md +158 -0
- package/.agent/rules/GEMINI.md +251 -0
- package/.agent/skills/api-patterns/SKILL.md +81 -0
- package/.agent/skills/api-patterns/api-style.md +42 -0
- package/.agent/skills/api-patterns/auth.md +24 -0
- package/.agent/skills/api-patterns/documentation.md +26 -0
- package/.agent/skills/api-patterns/graphql.md +41 -0
- package/.agent/skills/api-patterns/rate-limiting.md +31 -0
- package/.agent/skills/api-patterns/response.md +37 -0
- package/.agent/skills/api-patterns/rest.md +40 -0
- package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.agent/skills/api-patterns/security-testing.md +122 -0
- package/.agent/skills/api-patterns/trpc.md +41 -0
- package/.agent/skills/api-patterns/versioning.md +22 -0
- package/.agent/skills/app-builder/SKILL.md +75 -0
- package/.agent/skills/app-builder/agent-coordination.md +71 -0
- package/.agent/skills/app-builder/feature-building.md +53 -0
- package/.agent/skills/app-builder/project-detection.md +34 -0
- package/.agent/skills/app-builder/scaffolding.md +118 -0
- package/.agent/skills/app-builder/tech-stack.md +40 -0
- package/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/.agent/skills/architecture/SKILL.md +55 -0
- package/.agent/skills/architecture/context-discovery.md +43 -0
- package/.agent/skills/architecture/examples.md +94 -0
- package/.agent/skills/architecture/pattern-selection.md +68 -0
- package/.agent/skills/architecture/patterns-reference.md +50 -0
- package/.agent/skills/architecture/trade-off-analysis.md +77 -0
- package/.agent/skills/bash-linux/SKILL.md +199 -0
- package/.agent/skills/behavioral-modes/SKILL.md +242 -0
- package/.agent/skills/brainstorming/SKILL.md +163 -0
- package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
- package/.agent/skills/clean-code/SKILL.md +201 -0
- package/.agent/skills/code-review-checklist/SKILL.md +109 -0
- package/.agent/skills/database-design/SKILL.md +52 -0
- package/.agent/skills/database-design/database-selection.md +43 -0
- package/.agent/skills/database-design/indexing.md +39 -0
- package/.agent/skills/database-design/migrations.md +48 -0
- package/.agent/skills/database-design/optimization.md +36 -0
- package/.agent/skills/database-design/orm-selection.md +30 -0
- package/.agent/skills/database-design/schema-design.md +56 -0
- package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/.agent/skills/doc.md +177 -0
- package/.agent/skills/docker-expert/SKILL.md +409 -0
- package/.agent/skills/documentation-templates/SKILL.md +194 -0
- package/.agent/skills/frontend-design/SKILL.md +396 -0
- package/.agent/skills/frontend-design/animation-guide.md +331 -0
- package/.agent/skills/frontend-design/color-system.md +311 -0
- package/.agent/skills/frontend-design/decision-trees.md +418 -0
- package/.agent/skills/frontend-design/motion-graphics.md +306 -0
- package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/.agent/skills/frontend-design/typography-system.md +345 -0
- package/.agent/skills/frontend-design/ux-psychology.md +541 -0
- package/.agent/skills/frontend-design/visual-effects.md +383 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agent/skills/game-development/SKILL.md +167 -0
- package/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
- package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.agent/skills/i18n-localization/SKILL.md +154 -0
- package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.agent/skills/lint-and-validate/SKILL.md +45 -0
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.agent/skills/mcp-builder/SKILL.md +176 -0
- package/.agent/skills/mobile-design/SKILL.md +394 -0
- package/.agent/skills/mobile-design/decision-trees.md +516 -0
- package/.agent/skills/mobile-design/mobile-backend.md +491 -0
- package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
- package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
- package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
- package/.agent/skills/mobile-design/mobile-performance.md +767 -0
- package/.agent/skills/mobile-design/mobile-testing.md +356 -0
- package/.agent/skills/mobile-design/mobile-typography.md +433 -0
- package/.agent/skills/mobile-design/platform-android.md +666 -0
- package/.agent/skills/mobile-design/platform-ios.md +561 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.agent/skills/mobile-design/touch-psychology.md +537 -0
- package/.agent/skills/nestjs-expert/SKILL.md +552 -0
- package/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/.agent/skills/parallel-agents/SKILL.md +175 -0
- package/.agent/skills/performance-profiling/SKILL.md +143 -0
- package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/.agent/skills/plan-writing/SKILL.md +152 -0
- package/.agent/skills/powershell-windows/SKILL.md +167 -0
- package/.agent/skills/prisma-expert/SKILL.md +355 -0
- package/.agent/skills/python-patterns/SKILL.md +441 -0
- package/.agent/skills/react-patterns/SKILL.md +198 -0
- package/.agent/skills/red-team-tactics/SKILL.md +199 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/.agent/skills/server-management/SKILL.md +161 -0
- package/.agent/skills/systematic-debugging/SKILL.md +109 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
- package/.agent/skills/tdd-workflow/SKILL.md +149 -0
- package/.agent/skills/testing-patterns/SKILL.md +178 -0
- package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.agent/skills/typescript-expert/SKILL.md +429 -0
- package/.agent/skills/typescript-expert/references/tsconfig-strict.json +92 -0
- package/.agent/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
- package/.agent/skills/typescript-expert/references/utility-types.ts +335 -0
- package/.agent/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +351 -0
- package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/scripts/core.py +257 -0
- package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
- package/.agent/skills/ui-ux-pro-max/scripts/search.py +76 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/.agent/skills/webapp-testing/SKILL.md +187 -0
- package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.agent/workflows/brainstorm.md +113 -0
- package/.agent/workflows/create.md +59 -0
- package/.agent/workflows/debug.md +103 -0
- package/.agent/workflows/deploy.md +176 -0
- package/.agent/workflows/enhance.md +63 -0
- package/.agent/workflows/orchestrate.md +237 -0
- package/.agent/workflows/plan.md +89 -0
- package/.agent/workflows/preview.md +80 -0
- package/.agent/workflows/status.md +86 -0
- package/.agent/workflows/test.md +144 -0
- package/.agent/workflows/ui-ux-pro-max.md +231 -0
- package/LICENSE +21 -0
- package/README.md +101 -0
- package/bin/cli.js +235 -0
- package/index.js +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
# Typography System Reference
|
|
2
|
+
|
|
3
|
+
> Typography principles and decision-making - learn to think, not memorize.
|
|
4
|
+
> **No fixed font names or sizes - understand the system.**
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Modular Scale Principles
|
|
9
|
+
|
|
10
|
+
### What is a Modular Scale?
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
A mathematical relationship between font sizes:
|
|
14
|
+
├── Pick a BASE size (usually body text)
|
|
15
|
+
├── Pick a RATIO (multiplier)
|
|
16
|
+
└── Generate all sizes using: base × ratio^n
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Common Ratios and When to Use
|
|
20
|
+
|
|
21
|
+
| Ratio | Value | Feeling | Best For |
|
|
22
|
+
|-------|-------|---------|----------|
|
|
23
|
+
| Minor Second | 1.067 | Very subtle | Dense UI, small screens |
|
|
24
|
+
| Major Second | 1.125 | Subtle | Compact interfaces |
|
|
25
|
+
| Minor Third | 1.2 | Comfortable | Mobile apps, cards |
|
|
26
|
+
| Major Third | 1.25 | Balanced | General web (most common) |
|
|
27
|
+
| Perfect Fourth | 1.333 | Noticeable | Editorial, blogs |
|
|
28
|
+
| Perfect Fifth | 1.5 | Dramatic | Headlines, marketing |
|
|
29
|
+
| Golden Ratio | 1.618 | Maximum impact | Hero sections, display |
|
|
30
|
+
|
|
31
|
+
### Generate Your Scale
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
Given: base = YOUR_BASE_SIZE, ratio = YOUR_RATIO
|
|
35
|
+
|
|
36
|
+
Scale:
|
|
37
|
+
├── xs: base ÷ ratio²
|
|
38
|
+
├── sm: base ÷ ratio
|
|
39
|
+
├── base: YOUR_BASE_SIZE
|
|
40
|
+
├── lg: base × ratio
|
|
41
|
+
├── xl: base × ratio²
|
|
42
|
+
├── 2xl: base × ratio³
|
|
43
|
+
├── 3xl: base × ratio⁴
|
|
44
|
+
└── ... continue as needed
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Choosing Base Size
|
|
48
|
+
|
|
49
|
+
| Context | Base Size Range | Why |
|
|
50
|
+
|---------|-----------------|-----|
|
|
51
|
+
| Mobile-first | 16-18px | Readability on small screens |
|
|
52
|
+
| Desktop app | 14-16px | Information density |
|
|
53
|
+
| Editorial | 18-21px | Long-form reading comfort |
|
|
54
|
+
| Accessibility focus | 18px+ | Easier to read |
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 2. Font Pairing Principles
|
|
59
|
+
|
|
60
|
+
### What Makes Fonts Work Together
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
Contrast + Harmony:
|
|
64
|
+
├── Different ENOUGH to create hierarchy
|
|
65
|
+
├── Similar ENOUGH to feel cohesive
|
|
66
|
+
└── Usually: serif + sans, or display + neutral
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Pairing Strategies
|
|
70
|
+
|
|
71
|
+
| Strategy | How | Result |
|
|
72
|
+
|----------|-----|--------|
|
|
73
|
+
| **Contrast** | Serif heading + Sans body | Classic, editorial feel |
|
|
74
|
+
| **Same Family** | One variable font, different weights | Cohesive, modern |
|
|
75
|
+
| **Same Designer** | Fonts by same foundry | Often harmonious proportions |
|
|
76
|
+
| **Era Match** | Fonts from same time period | Historical consistency |
|
|
77
|
+
|
|
78
|
+
### What to Look For
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
When pairing, compare:
|
|
82
|
+
├── x-height (height of lowercase letters)
|
|
83
|
+
├── Letter width (narrow vs wide)
|
|
84
|
+
├── Stroke contrast (thin/thick variation)
|
|
85
|
+
└── Overall mood (formal vs casual)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Safe Pairing Patterns
|
|
89
|
+
|
|
90
|
+
| Heading Style | Body Style | Mood |
|
|
91
|
+
|---------------|------------|------|
|
|
92
|
+
| Geometric sans | Humanist sans | Modern, friendly |
|
|
93
|
+
| Display serif | Clean sans | Editorial, sophisticated |
|
|
94
|
+
| Neutral sans | Same sans | Minimal, tech |
|
|
95
|
+
| Bold geometric | Light geometric | Contemporary |
|
|
96
|
+
|
|
97
|
+
### Avoid
|
|
98
|
+
|
|
99
|
+
- ❌ Two decorative fonts together
|
|
100
|
+
- ❌ Similar fonts that conflict
|
|
101
|
+
- ❌ More than 2-3 font families
|
|
102
|
+
- ❌ Fonts with very different x-heights
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 3. Line Height Principles
|
|
107
|
+
|
|
108
|
+
### The Relationship
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
Line height depends on:
|
|
112
|
+
├── Font size (larger text = less line height needed)
|
|
113
|
+
├── Line length (longer lines = more line height)
|
|
114
|
+
├── Font design (some fonts need more space)
|
|
115
|
+
└── Content type (headings vs body)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Guidelines by Context
|
|
119
|
+
|
|
120
|
+
| Content Type | Line Height Range | Why |
|
|
121
|
+
|--------------|-------------------|-----|
|
|
122
|
+
| **Headings** | 1.1 - 1.3 | Short lines, want compact |
|
|
123
|
+
| **Body text** | 1.4 - 1.6 | Comfortable reading |
|
|
124
|
+
| **Long-form** | 1.6 - 1.8 | Maximum readability |
|
|
125
|
+
| **UI elements** | 1.2 - 1.4 | Space efficiency |
|
|
126
|
+
|
|
127
|
+
### Adjustment Factors
|
|
128
|
+
|
|
129
|
+
- **Longer line length** → Increase line height
|
|
130
|
+
- **Larger font size** → Decrease line height ratio
|
|
131
|
+
- **All caps** → May need more line height
|
|
132
|
+
- **Tight tracking** → May need more line height
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 4. Line Length Principles
|
|
137
|
+
|
|
138
|
+
### Optimal Reading Width
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
The sweet spot: 45-75 characters per line
|
|
142
|
+
├── < 45: Too choppy, breaks flow
|
|
143
|
+
├── 45-75: Comfortable reading
|
|
144
|
+
├── > 75: Eye tracking strain
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### How to Measure
|
|
148
|
+
|
|
149
|
+
```css
|
|
150
|
+
/* Character-based (recommended) */
|
|
151
|
+
max-width: 65ch; /* ch = width of "0" character */
|
|
152
|
+
|
|
153
|
+
/* This adapts to font size automatically */
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Context Adjustments
|
|
157
|
+
|
|
158
|
+
| Context | Character Range |
|
|
159
|
+
|---------|-----------------|
|
|
160
|
+
| Desktop article | 60-75 characters |
|
|
161
|
+
| Mobile | 35-50 characters |
|
|
162
|
+
| Sidebar text | 30-45 characters |
|
|
163
|
+
| Wide monitors | Still cap at ~75ch |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## 5. Responsive Typography Principles
|
|
168
|
+
|
|
169
|
+
### The Problem
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
Fixed sizes don't scale well:
|
|
173
|
+
├── Desktop size too big on mobile
|
|
174
|
+
├── Mobile size too small on desktop
|
|
175
|
+
└── Breakpoint jumps feel jarring
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Fluid Typography (clamp)
|
|
179
|
+
|
|
180
|
+
```css
|
|
181
|
+
/* Syntax: clamp(MIN, PREFERRED, MAX) */
|
|
182
|
+
font-size: clamp(
|
|
183
|
+
MINIMUM_SIZE,
|
|
184
|
+
FLUID_CALCULATION,
|
|
185
|
+
MAXIMUM_SIZE
|
|
186
|
+
);
|
|
187
|
+
|
|
188
|
+
/* FLUID_CALCULATION typically:
|
|
189
|
+
base + viewport-relative-unit */
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Scaling Strategy
|
|
193
|
+
|
|
194
|
+
| Element | Scaling Behavior |
|
|
195
|
+
|---------|-----------------|
|
|
196
|
+
| Body text | Slight scaling (1rem → 1.125rem) |
|
|
197
|
+
| Subheadings | Moderate scaling |
|
|
198
|
+
| Headings | More dramatic scaling |
|
|
199
|
+
| Display text | Most dramatic scaling |
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## 6. Weight and Emphasis Principles
|
|
204
|
+
|
|
205
|
+
### Semantic Weight Usage
|
|
206
|
+
|
|
207
|
+
| Weight Range | Name | Use For |
|
|
208
|
+
|--------------|------|---------|
|
|
209
|
+
| 300-400 | Light/Normal | Body text, paragraphs |
|
|
210
|
+
| 500 | Medium | Subtle emphasis |
|
|
211
|
+
| 600 | Semibold | Subheadings, labels |
|
|
212
|
+
| 700 | Bold | Headings, strong emphasis |
|
|
213
|
+
| 800-900 | Heavy/Black | Display, hero text |
|
|
214
|
+
|
|
215
|
+
### Creating Contrast
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
Good contrast = skip at least 2 weight levels
|
|
219
|
+
├── 400 body + 700 heading = good
|
|
220
|
+
├── 400 body + 500 emphasis = subtle
|
|
221
|
+
├── 600 heading + 700 subheading = too similar
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Avoid
|
|
225
|
+
|
|
226
|
+
- ❌ Too many weights (max 3-4 per page)
|
|
227
|
+
- ❌ Adjacent weights for hierarchy (400/500)
|
|
228
|
+
- ❌ Heavy weights for long text
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## 7. Letter Spacing (Tracking)
|
|
233
|
+
|
|
234
|
+
### Principles
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
Large text (headings): tighter tracking
|
|
238
|
+
├── Letters are big, gaps feel larger
|
|
239
|
+
└── Slight negative tracking looks better
|
|
240
|
+
|
|
241
|
+
Small text (body): normal or slightly wider
|
|
242
|
+
├── Improves readability at small sizes
|
|
243
|
+
└── Never negative for body text
|
|
244
|
+
|
|
245
|
+
ALL CAPS: always wider tracking
|
|
246
|
+
├── Uppercase lacks ascenders/descenders
|
|
247
|
+
└── Needs more space to feel right
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Adjustment Guidelines
|
|
251
|
+
|
|
252
|
+
| Context | Tracking Adjustment |
|
|
253
|
+
|---------|---------------------|
|
|
254
|
+
| Display/Hero | -2% to -4% |
|
|
255
|
+
| Headings | -1% to -2% |
|
|
256
|
+
| Body text | 0% (normal) |
|
|
257
|
+
| Small text | +1% to +2% |
|
|
258
|
+
| ALL CAPS | +5% to +10% |
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## 8. Hierarchy Principles
|
|
263
|
+
|
|
264
|
+
### Visual Hierarchy Through Type
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
Ways to create hierarchy:
|
|
268
|
+
├── SIZE (most obvious)
|
|
269
|
+
├── WEIGHT (bold stands out)
|
|
270
|
+
├── COLOR (contrast levels)
|
|
271
|
+
├── SPACING (margins separate sections)
|
|
272
|
+
└── POSITION (top = important)
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Typical Hierarchy
|
|
276
|
+
|
|
277
|
+
| Level | Characteristics |
|
|
278
|
+
|-------|-----------------|
|
|
279
|
+
| Primary (H1) | Largest, boldest, most distinct |
|
|
280
|
+
| Secondary (H2) | Noticeably smaller but still bold |
|
|
281
|
+
| Tertiary (H3) | Medium size, may use weight only |
|
|
282
|
+
| Body | Standard size and weight |
|
|
283
|
+
| Caption/Meta | Smaller, often lighter color |
|
|
284
|
+
|
|
285
|
+
### Testing Hierarchy
|
|
286
|
+
|
|
287
|
+
Ask: "Can I tell what's most important at a glance?"
|
|
288
|
+
|
|
289
|
+
If squinting at the page, the hierarchy should still be clear.
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## 9. Readability Psychology
|
|
294
|
+
|
|
295
|
+
### F-Pattern Reading
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
Users scan in F-pattern:
|
|
299
|
+
├── Across the top (first line)
|
|
300
|
+
├── Down the left side
|
|
301
|
+
├── Across again (subheading)
|
|
302
|
+
└── Continue down left
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
**Implication**: Key info on left and in headings
|
|
306
|
+
|
|
307
|
+
### Chunking for Comprehension
|
|
308
|
+
|
|
309
|
+
- Short paragraphs (3-4 lines max)
|
|
310
|
+
- Clear subheadings
|
|
311
|
+
- Bullet points for lists
|
|
312
|
+
- White space between sections
|
|
313
|
+
|
|
314
|
+
### Cognitive Ease
|
|
315
|
+
|
|
316
|
+
- Familiar fonts = easier reading
|
|
317
|
+
- High contrast = less strain
|
|
318
|
+
- Consistent patterns = predictable
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## 10. Typography Selection Checklist
|
|
323
|
+
|
|
324
|
+
Before finalizing typography:
|
|
325
|
+
|
|
326
|
+
- [ ] **Asked user for font preferences?**
|
|
327
|
+
- [ ] **Considered brand/context?**
|
|
328
|
+
- [ ] **Selected appropriate scale ratio?**
|
|
329
|
+
- [ ] **Limited to 2-3 font families?**
|
|
330
|
+
- [ ] **Tested readability at all sizes?**
|
|
331
|
+
- [ ] **Checked line length (45-75ch)?**
|
|
332
|
+
- [ ] **Verified contrast for accessibility?**
|
|
333
|
+
- [ ] **Different from your last project?**
|
|
334
|
+
|
|
335
|
+
### Anti-Patterns
|
|
336
|
+
|
|
337
|
+
- ❌ Same fonts every project
|
|
338
|
+
- ❌ Too many font families
|
|
339
|
+
- ❌ Ignoring readability for style
|
|
340
|
+
- ❌ Fixed sizes without responsiveness
|
|
341
|
+
- ❌ Decorative fonts for body text
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
> **Remember**: Typography is about communication clarity. Choose based on content needs and audience, not personal preference.
|