@maestro-ai/cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -0
- package/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -0
- package/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -0
- package/content/guides/Checklist Mestre de Entrega.md +68 -0
- package/content/guides/Gates de Qualidade.md +209 -0
- package/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -0
- package/content/guides/Guia de Chaos Engineering.md +267 -0
- package/content/guides/Guia de Debugging com IA.md +135 -0
- package/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -0
- package/content/guides/Guia de Migrations Zero-Downtime.md +311 -0
- package/content/guides/Guia de Multi-tenancy.md +368 -0
- package/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -0
- package/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -0
- package/content/guides/Guia de SLOs e Error Budgets.md +315 -0
- package/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -0
- package/content/guides/Rules base.md +90 -0
- package/content/prompts/README.md +203 -0
- package/content/prompts/acessibilidade/analise-acessibilidade.md +257 -0
- package/content/prompts/apis/design-api-rest.md +303 -0
- package/content/prompts/apis/idempotencia.md +254 -0
- package/content/prompts/apis/versionamento.md +313 -0
- package/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -0
- package/content/prompts/arquitetura/clean-architecture.md +151 -0
- package/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -0
- package/content/prompts/arquitetura/ddd-cqrs.md +176 -0
- package/content/prompts/arquitetura/modelo-dominio.md +207 -0
- package/content/prompts/arquitetura/multi-tenancy.md +235 -0
- package/content/prompts/database/migrations-zero-downtime.md +192 -0
- package/content/prompts/database/otimizacao-queries.md +296 -0
- package/content/prompts/desenvolvimento/code-review.md +301 -0
- package/content/prompts/desenvolvimento/gerar-servico.md +271 -0
- package/content/prompts/devops/docker-compose.md +336 -0
- package/content/prompts/devops/feature-flags.md +374 -0
- package/content/prompts/devops/kubernetes-deploy.md +460 -0
- package/content/prompts/devops/pipeline-cicd.md +358 -0
- package/content/prompts/devops/terraform-iac.md +502 -0
- package/content/prompts/escalabilidade/analise-performance.md +240 -0
- package/content/prompts/escalabilidade/analise-performance.txt +94 -0
- package/content/prompts/escalabilidade/caching.md +255 -0
- package/content/prompts/observabilidade/chaos-testing.md +237 -0
- package/content/prompts/observabilidade/estrategia-observabilidade.md +263 -0
- package/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -0
- package/content/prompts/observabilidade/slos.md +215 -0
- package/content/prompts/produto/discovery-inicial.md +203 -0
- package/content/prompts/produto/discovery-inicial.txt +33 -0
- package/content/prompts/requisitos/refinar-requisitos.md +232 -0
- package/content/prompts/requisitos/refinar-requisitos.txt +40 -0
- package/content/prompts/seguranca/analise-seguranca.md +243 -0
- package/content/prompts/seguranca/pentest-checklist.md +333 -0
- package/content/prompts/seguranca/rate-limiting.md +356 -0
- package/content/prompts/seguranca/revisao-lgpd.md +227 -0
- package/content/prompts/seguranca/threat-modeling.md +224 -0
- package/content/prompts/testes/contract-testing.md +340 -0
- package/content/prompts/testes/gerar-testes-unitarios.md +474 -0
- package/content/prompts/testes/testes-e2e.md +460 -0
- package/content/prompts/testes/testes-integracao.md +418 -0
- package/content/prompts/testes/testes-performance.md +458 -0
- package/content/prompts/ux/gerar-ui-stitch.md +151 -0
- package/content/skills/api-patterns/SKILL.md +81 -0
- package/content/skills/api-patterns/api-style.md +42 -0
- package/content/skills/api-patterns/auth.md +24 -0
- package/content/skills/api-patterns/documentation.md +26 -0
- package/content/skills/api-patterns/graphql.md +41 -0
- package/content/skills/api-patterns/rate-limiting.md +31 -0
- package/content/skills/api-patterns/response.md +37 -0
- package/content/skills/api-patterns/rest.md +40 -0
- package/content/skills/api-patterns/scripts/api_validator.py +211 -0
- package/content/skills/api-patterns/security-testing.md +122 -0
- package/content/skills/api-patterns/trpc.md +41 -0
- package/content/skills/api-patterns/versioning.md +22 -0
- package/content/skills/app-builder/SKILL.md +75 -0
- package/content/skills/app-builder/agent-coordination.md +71 -0
- package/content/skills/app-builder/feature-building.md +53 -0
- package/content/skills/app-builder/project-detection.md +34 -0
- package/content/skills/app-builder/scaffolding.md +118 -0
- package/content/skills/app-builder/tech-stack.md +40 -0
- package/content/skills/app-builder/templates/SKILL.md +39 -0
- package/content/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/content/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/content/skills/architecture/SKILL.md +55 -0
- package/content/skills/architecture/context-discovery.md +43 -0
- package/content/skills/architecture/examples.md +94 -0
- package/content/skills/architecture/pattern-selection.md +68 -0
- package/content/skills/architecture/patterns-reference.md +50 -0
- package/content/skills/architecture/trade-off-analysis.md +77 -0
- package/content/skills/bash-linux/SKILL.md +199 -0
- package/content/skills/behavioral-modes/SKILL.md +242 -0
- package/content/skills/brainstorming/SKILL.md +163 -0
- package/content/skills/brainstorming/dynamic-questioning.md +350 -0
- package/content/skills/clean-code/SKILL.md +201 -0
- package/content/skills/code-review-checklist/SKILL.md +109 -0
- package/content/skills/database-design/SKILL.md +52 -0
- package/content/skills/database-design/database-selection.md +43 -0
- package/content/skills/database-design/indexing.md +39 -0
- package/content/skills/database-design/migrations.md +48 -0
- package/content/skills/database-design/optimization.md +36 -0
- package/content/skills/database-design/orm-selection.md +30 -0
- package/content/skills/database-design/schema-design.md +56 -0
- package/content/skills/database-design/scripts/schema_validator.py +172 -0
- package/content/skills/deployment-procedures/SKILL.md +241 -0
- package/content/skills/doc.md +177 -0
- package/content/skills/documentation-templates/SKILL.md +194 -0
- package/content/skills/frontend-design/SKILL.md +396 -0
- package/content/skills/frontend-design/animation-guide.md +331 -0
- package/content/skills/frontend-design/color-system.md +311 -0
- package/content/skills/frontend-design/decision-trees.md +418 -0
- package/content/skills/frontend-design/motion-graphics.md +306 -0
- package/content/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/content/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/content/skills/frontend-design/typography-system.md +345 -0
- package/content/skills/frontend-design/ux-psychology.md +541 -0
- package/content/skills/frontend-design/visual-effects.md +383 -0
- package/content/skills/game-development/2d-games/SKILL.md +119 -0
- package/content/skills/game-development/3d-games/SKILL.md +135 -0
- package/content/skills/game-development/SKILL.md +167 -0
- package/content/skills/game-development/game-art/SKILL.md +185 -0
- package/content/skills/game-development/game-audio/SKILL.md +190 -0
- package/content/skills/game-development/game-design/SKILL.md +129 -0
- package/content/skills/game-development/mobile-games/SKILL.md +108 -0
- package/content/skills/game-development/multiplayer/SKILL.md +132 -0
- package/content/skills/game-development/pc-games/SKILL.md +144 -0
- package/content/skills/game-development/vr-ar/SKILL.md +123 -0
- package/content/skills/game-development/web-games/SKILL.md +150 -0
- package/content/skills/geo-fundamentals/SKILL.md +156 -0
- package/content/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/content/skills/i18n-localization/SKILL.md +154 -0
- package/content/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/content/skills/intelligent-routing/SKILL.md +334 -0
- package/content/skills/lint-and-validate/SKILL.md +45 -0
- package/content/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/content/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/content/skills/mcp-builder/SKILL.md +176 -0
- package/content/skills/mobile-design/SKILL.md +394 -0
- package/content/skills/mobile-design/decision-trees.md +516 -0
- package/content/skills/mobile-design/mobile-backend.md +491 -0
- package/content/skills/mobile-design/mobile-color-system.md +420 -0
- package/content/skills/mobile-design/mobile-debugging.md +122 -0
- package/content/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/content/skills/mobile-design/mobile-navigation.md +458 -0
- package/content/skills/mobile-design/mobile-performance.md +767 -0
- package/content/skills/mobile-design/mobile-testing.md +356 -0
- package/content/skills/mobile-design/mobile-typography.md +433 -0
- package/content/skills/mobile-design/platform-android.md +666 -0
- package/content/skills/mobile-design/platform-ios.md +561 -0
- package/content/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/content/skills/mobile-design/touch-psychology.md +537 -0
- package/content/skills/nextjs-best-practices/SKILL.md +203 -0
- package/content/skills/nodejs-best-practices/SKILL.md +333 -0
- package/content/skills/parallel-agents/SKILL.md +175 -0
- package/content/skills/performance-profiling/SKILL.md +143 -0
- package/content/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/content/skills/plan-writing/SKILL.md +152 -0
- package/content/skills/powershell-windows/SKILL.md +167 -0
- package/content/skills/python-patterns/SKILL.md +441 -0
- package/content/skills/react-patterns/SKILL.md +198 -0
- package/content/skills/red-team-tactics/SKILL.md +199 -0
- package/content/skills/seo-fundamentals/SKILL.md +129 -0
- package/content/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/content/skills/server-management/SKILL.md +161 -0
- package/content/skills/systematic-debugging/SKILL.md +109 -0
- package/content/skills/tailwind-patterns/SKILL.md +269 -0
- package/content/skills/tdd-workflow/SKILL.md +149 -0
- package/content/skills/testing-patterns/SKILL.md +178 -0
- package/content/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/content/skills/vulnerability-scanner/SKILL.md +276 -0
- package/content/skills/vulnerability-scanner/checklists.md +121 -0
- package/content/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/content/skills/webapp-testing/SKILL.md +187 -0
- package/content/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/content/specialists/Especialista em Acessibilidade.md +266 -0
- package/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -0
- package/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -0
- package/content/specialists/Especialista em Arquitetura de Software.md +177 -0
- package/content/specialists/Especialista em Banco de Dados.md +260 -0
- package/content/specialists/Especialista em Contrato de API.md +172 -0
- package/content/specialists/Especialista em Dados e Analytics com IA.md +246 -0
- package/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -0
- package/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -0
- package/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -0
- package/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -0
- package/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -0
- package/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -0
- package/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -0
- package/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -0
- package/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -0
- package/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -0
- package/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -0
- package/content/specialists/Especialista em Observabilidade.md +415 -0
- package/content/specialists/Especialista em Performance e Escalabilidade.md +373 -0
- package/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -0
- package/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -0
- package/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -0
- package/content/specialists/Especialista em UX Design.md +453 -0
- package/content/specialists/INDEX.md +43 -0
- package/content/templates/PRD.md +165 -0
- package/content/templates/README.md +65 -0
- package/content/templates/adr.md +103 -0
- package/content/templates/arquitetura.md +279 -0
- package/content/templates/backlog.md +185 -0
- package/content/templates/checklist-seguranca.md +180 -0
- package/content/templates/contexto.md +120 -0
- package/content/templates/criterios-aceite.md +99 -0
- package/content/templates/design-banco.md +270 -0
- package/content/templates/design-doc.md +240 -0
- package/content/templates/feature.md +88 -0
- package/content/templates/historia-backend.md +84 -0
- package/content/templates/historia-frontend.md +75 -0
- package/content/templates/historia-usuario.md +125 -0
- package/content/templates/mapa-navegacao.md +133 -0
- package/content/templates/matriz-rastreabilidade.md +121 -0
- package/content/templates/modelo-dominio.md +219 -0
- package/content/templates/plano-testes.md +199 -0
- package/content/templates/prototipo-stitch.md +138 -0
- package/content/templates/requisitos.md +162 -0
- package/content/templates/slo-sli.md +197 -0
- package/content/workflows/README-MCP.md +363 -0
- package/content/workflows/brainstorm.md +113 -0
- package/content/workflows/create.md +59 -0
- package/content/workflows/debug.md +103 -0
- package/content/workflows/deploy.md +176 -0
- package/content/workflows/enhance.md +63 -0
- package/content/workflows/mcp-debug.md +506 -0
- package/content/workflows/mcp-feature.md +385 -0
- package/content/workflows/mcp-gate.md +413 -0
- package/content/workflows/mcp-next.md +388 -0
- package/content/workflows/mcp-refactor.md +600 -0
- package/content/workflows/mcp-start.md +304 -0
- package/content/workflows/mcp-status.md +400 -0
- package/content/workflows/orchestrate.md +237 -0
- package/content/workflows/plan.md +89 -0
- package/content/workflows/preview.md +81 -0
- package/content/workflows/status.md +86 -0
- package/content/workflows/test.md +144 -0
- package/content/workflows/ui-ux-pro-max.md +296 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.js +138 -0
- package/dist/commands/update.d.ts +5 -0
- package/dist/commands/update.js +50 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +21 -0
- package/package.json +48 -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.
|