@equal-experts/kuat-react 0.13.0 → 0.14.0-beta.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/agent-docs/AGENTS.md +10 -0
- package/agent-docs/README.md +17 -0
- package/agent-docs/bundle-manifest.json +55 -0
- package/agent-docs/components/_template.md +21 -0
- package/agent-docs/components/button-group.md +27 -0
- package/agent-docs/components/button.md +50 -0
- package/agent-docs/components/components.manifest.json +23 -0
- package/agent-docs/components/kuat-header.md +27 -0
- package/agent-docs/external/kuat-agent-rules/reference/accessibility/README.md +7 -0
- package/agent-docs/external/kuat-agent-rules/reference/accessibility/accessibility.md +446 -0
- package/agent-docs/external/kuat-agent-rules/reference/brand/README.md +9 -0
- package/agent-docs/external/kuat-agent-rules/reference/brand/brand.md +109 -0
- package/agent-docs/external/kuat-agent-rules/reference/brand/logo.md +152 -0
- package/agent-docs/external/kuat-agent-rules/reference/brand/voice-and-tone.md +166 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/README.md +12 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/formatting.md +120 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/numbers.md +87 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/punctuation.md +94 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/writing-style.md +96 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/README.md +11 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/borders.md +160 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/colours.md +201 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/design-language.md +117 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/spacing.md +131 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/tokens/README.md +29 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/tokens/colors.tokens.json +84 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/typography.md +156 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/README.md +10 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/README.md +26 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/blog-posts.md +29 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/marketing-content.md +61 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/seo.md +40 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/emails.md +68 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/patterns/README.md +7 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/patterns/marketing-pages.md +368 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/website.md +154 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/README.md +16 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/accessibility.md +392 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/component-decision-tree.md +248 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/component-registry.md +49 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/README.md +29 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/actions.md +45 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/confirmations.md +51 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/empty-states.md +37 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/errors.md +48 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/forms.md +68 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/product-content.md +128 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/design.md +177 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/emails.md +65 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/README.md +10 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/authentication.md +303 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/dashboards.md +313 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/documentation.md +333 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/forms.md +361 -0
- package/agent-docs/kuat-docs/rules/README.md +155 -0
- package/agent-docs/kuat-docs/rules/design/layouts.md +394 -0
- package/agent-docs/kuat-docs/rules/scenarios/README.md +83 -0
- package/agent-docs/kuat-docs/rules/scenarios/authentication.md +301 -0
- package/agent-docs/kuat-docs/rules/scenarios/dashboards.md +314 -0
- package/agent-docs/kuat-docs/rules/scenarios/documentation.md +333 -0
- package/agent-docs/kuat-docs/rules/scenarios/forms.md +359 -0
- package/agent-docs/kuat-docs/rules/scenarios/marketing-pages.md +367 -0
- package/agent-docs/manifest.json +9 -0
- package/agent-docs/rules/LOADING-consumer.md +27 -0
- package/dist/accordion.d.ts +2 -0
- package/dist/alert-dialog.d.ts +2 -0
- package/dist/badge.d.ts +3 -0
- package/dist/button-group.d.ts +2 -0
- package/dist/button.d.ts +3 -0
- package/dist/carousel.d.ts +2 -0
- package/dist/checkbox.d.ts +3 -0
- package/dist/components/ui/accordion/accordion.d.ts +7 -0
- package/dist/components/ui/accordion/index.d.ts +1 -0
- package/dist/components/ui/alert-dialog/alert-dialog.d.ts +20 -0
- package/dist/components/ui/alert-dialog/index.d.ts +1 -0
- package/dist/components/ui/badge/badge.d.ts +16 -0
- package/dist/components/ui/badge/index.d.ts +2 -0
- package/dist/components/ui/breadcrumb/Breadcrumb.d.ts +29 -0
- package/dist/components/ui/breadcrumb/breadcrumb-primitives.d.ts +19 -0
- package/dist/components/ui/breadcrumb/index.d.ts +4 -0
- package/dist/components/ui/button/button.d.ts +27 -0
- package/dist/components/ui/button/index.d.ts +2 -0
- package/dist/components/ui/button-group/button-group.d.ts +23 -0
- package/dist/components/ui/button-group/index.d.ts +2 -0
- package/dist/components/ui/carousel/carousel.d.ts +50 -0
- package/dist/components/ui/carousel/index.d.ts +2 -0
- package/dist/components/ui/checkbox/checkbox-field.d.ts +23 -0
- package/dist/components/ui/checkbox/checkbox.d.ts +5 -0
- package/dist/components/ui/checkbox/index.d.ts +4 -0
- package/dist/components/ui/content-card/content-card.d.ts +29 -0
- package/dist/components/ui/content-card/index.d.ts +2 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +27 -0
- package/dist/components/ui/dropdown-menu/index.d.ts +1 -0
- package/dist/components/ui/ee-logo-icon/ee-logo-icon.d.ts +11 -0
- package/dist/components/ui/ee-logo-icon/index.d.ts +2 -0
- package/dist/components/ui/field/field.d.ts +28 -0
- package/dist/components/ui/field/index.d.ts +2 -0
- package/dist/components/ui/icon-button/icon-button.d.ts +27 -0
- package/dist/components/ui/icon-button/index.d.ts +2 -0
- package/dist/components/ui/input/index.d.ts +2 -0
- package/dist/components/ui/input/input.d.ts +20 -0
- package/dist/components/ui/kuat-carousel/index.d.ts +2 -0
- package/dist/components/ui/kuat-carousel/kuat-carousel.d.ts +16 -0
- package/dist/components/ui/kuat-header/index.d.ts +4 -0
- package/dist/components/ui/kuat-header/kuat-header.d.ts +16 -0
- package/dist/components/ui/kuat-header/kuat-header.logic.d.ts +32 -0
- package/dist/components/ui/kuat-header/kuat-header.types.d.ts +91 -0
- package/dist/components/ui/kuat-logo-lockup/index.d.ts +2 -0
- package/dist/components/ui/kuat-logo-lockup/kuat-logo-lockup.d.ts +17 -0
- package/dist/components/ui/kuat-radial-progress/index.d.ts +2 -0
- package/dist/components/ui/kuat-radial-progress/kuat-radial-progress.d.ts +16 -0
- package/dist/components/ui/radio/index.d.ts +4 -0
- package/dist/components/ui/radio/radio-field.d.ts +25 -0
- package/dist/components/ui/radio/radio.d.ts +7 -0
- package/dist/components/ui/select/constants.d.ts +19 -0
- package/dist/components/ui/select/index.d.ts +3 -0
- package/dist/components/ui/select/select.d.ts +53 -0
- package/dist/components/ui/separator/index.d.ts +2 -0
- package/dist/components/ui/separator/separator.d.ts +9 -0
- package/dist/components/ui/sonner/index.d.ts +4 -0
- package/dist/components/ui/sonner/sonner-content.d.ts +15 -0
- package/dist/components/ui/sonner/sonner.d.ts +21 -0
- package/dist/components/ui/switch/index.d.ts +4 -0
- package/dist/components/ui/switch/switch-field.d.ts +23 -0
- package/dist/components/ui/switch/switch.d.ts +5 -0
- package/dist/components/ui/textarea/index.d.ts +2 -0
- package/dist/components/ui/textarea/textarea.d.ts +9 -0
- package/dist/components/ui/toggle/constants.d.ts +4 -0
- package/dist/components/ui/toggle/index.d.ts +6 -0
- package/dist/components/ui/toggle/toggle-group.d.ts +11 -0
- package/dist/components/ui/toggle/toggle.d.ts +9 -0
- package/dist/field.d.ts +3 -0
- package/dist/icon-button.d.ts +3 -0
- package/dist/index.d.ts +47 -0
- package/dist/input.d.ts +3 -0
- package/dist/kuat-carousel.d.ts +2 -0
- package/dist/kuat-radial-progress.d.ts +7 -0
- package/dist/lib/react-node-compat.d.ts +7 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/radio.d.ts +3 -0
- package/dist/select.d.ts +3 -0
- package/dist/sonner.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/style.css.d.ts +2 -0
- package/dist/switch.d.ts +1 -0
- package/dist/test/setup.d.ts +1 -0
- package/dist/textarea.d.ts +3 -0
- package/dist/toggle-group.d.ts +3 -0
- package/dist/toggle.d.ts +3 -0
- package/package.json +4 -2
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Spacing Rules
|
|
2
|
+
|
|
3
|
+
Spacing specifications for Equal Experts. This document defines the spacing scale, patterns, and usage guidelines.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
The design system uses a **4px base unit** for consistent, predictable spacing.
|
|
10
|
+
|
|
11
|
+
**Key Principle:** Use spacing as the primary tool for visual hierarchy and separation. Prefer spacing over borders when possible.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Spacing Scale
|
|
16
|
+
|
|
17
|
+
Each unit = 4px:
|
|
18
|
+
|
|
19
|
+
| Unit | Pixels | Usage |
|
|
20
|
+
|------|--------|-------|
|
|
21
|
+
| 0 | 0px | No spacing |
|
|
22
|
+
| 0.5 | 2px | Tight spacing, fine adjustments |
|
|
23
|
+
| 1 | 4px | Minimal spacing, tight groups |
|
|
24
|
+
| 1.5 | 6px | Small spacing |
|
|
25
|
+
| 2 | 8px | Small spacing, compact layouts |
|
|
26
|
+
| 3 | 12px | Medium spacing |
|
|
27
|
+
| 4 | 16px | Standard spacing (default) |
|
|
28
|
+
| 5 | 20px | Medium-large spacing |
|
|
29
|
+
| 6 | 24px | Large spacing, section separation |
|
|
30
|
+
| 8 | 32px | Extra large, major sections |
|
|
31
|
+
| 10 | 40px | Very large spacing |
|
|
32
|
+
| 12 | 48px | Maximum spacing, page sections |
|
|
33
|
+
| 16 | 64px | Hero spacing, large sections |
|
|
34
|
+
| 20 | 80px | Maximum hero spacing |
|
|
35
|
+
| 24 | 96px | Ultra large spacing |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Common Spacing Patterns
|
|
40
|
+
|
|
41
|
+
### Content Padding
|
|
42
|
+
|
|
43
|
+
| Context | Spacing | Pixels |
|
|
44
|
+
|---------|---------|--------|
|
|
45
|
+
| Tight padding | 4 | 16px |
|
|
46
|
+
| Standard padding | 6 | 24px |
|
|
47
|
+
| Large padding | 8 | 32px |
|
|
48
|
+
| Hero/feature areas | 12-16 | 48-64px |
|
|
49
|
+
|
|
50
|
+
### Section Spacing
|
|
51
|
+
|
|
52
|
+
| Type | Spacing | Pixels |
|
|
53
|
+
|------|---------|--------|
|
|
54
|
+
| Tight (related content) | 4 | 16px |
|
|
55
|
+
| Standard sections | 6 | 24px |
|
|
56
|
+
| Large sections | 8 | 32px |
|
|
57
|
+
| Major page sections | 12 | 48px |
|
|
58
|
+
|
|
59
|
+
### Element Spacing
|
|
60
|
+
|
|
61
|
+
| Relationship | Spacing | Pixels |
|
|
62
|
+
|--------------|---------|--------|
|
|
63
|
+
| Tightly related elements | 2-4 | 8-16px |
|
|
64
|
+
| Related groups | 6-8 | 24-32px |
|
|
65
|
+
| Distinct sections | 12-16 | 48-64px |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Spacing Relationships
|
|
70
|
+
|
|
71
|
+
Use consistent spacing relationships:
|
|
72
|
+
|
|
73
|
+
| Relationship | Spacing |
|
|
74
|
+
|--------------|---------|
|
|
75
|
+
| Tightly related elements | 8-16px |
|
|
76
|
+
| Component groups | 24-32px |
|
|
77
|
+
| Major sections | 48-64px |
|
|
78
|
+
|
|
79
|
+
**Rule of thumb:** Related items have smaller spacing; distinct sections have larger spacing.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Usage Guidelines
|
|
84
|
+
|
|
85
|
+
### Do's
|
|
86
|
+
|
|
87
|
+
1. **Use the spacing scale** - Stick to defined values (4, 8, 12, 16, 24, 32, 48)
|
|
88
|
+
2. **Prefer spacing over borders** - Create separation with space first
|
|
89
|
+
3. **Maintain relationships** - Smaller spacing for related items, larger for sections
|
|
90
|
+
4. **Be consistent** - Same spacing patterns for similar content
|
|
91
|
+
5. **Use white space intentionally** - It creates visual breathing room
|
|
92
|
+
|
|
93
|
+
### Don'ts
|
|
94
|
+
|
|
95
|
+
1. **Don't use arbitrary values** - Never use random pixel values
|
|
96
|
+
2. **Don't mix spacing systems** - Use only the defined scale
|
|
97
|
+
3. **Don't overuse spacing** - Excessive spacing breaks visual flow
|
|
98
|
+
4. **Don't ignore hierarchy** - Spacing communicates relationships
|
|
99
|
+
5. **Don't be afraid of white space** - It improves readability
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Spacing vs Borders
|
|
104
|
+
|
|
105
|
+
**Prefer spacing when:**
|
|
106
|
+
- Creating separation between related content
|
|
107
|
+
- Establishing visual hierarchy
|
|
108
|
+
- Adding breathing room
|
|
109
|
+
|
|
110
|
+
**Use borders when:**
|
|
111
|
+
- Spacing alone is insufficient
|
|
112
|
+
- Defining interactive element boundaries
|
|
113
|
+
- Indicating state changes
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Platform-Specific Spacing
|
|
118
|
+
|
|
119
|
+
For platform-specific spacing guidance:
|
|
120
|
+
|
|
121
|
+
- **Web product** - See [media-types/web-product/](../media-types/web-product/)
|
|
122
|
+
- **Web marketing** - See [media-types/web-marketing/](../media-types/web-marketing/)
|
|
123
|
+
- **Slides** - See [media-types/slides/](../media-types/slides/)
|
|
124
|
+
- **Graphics** - See [media-types/imagery/patterns/graphics/](../media-types/imagery/patterns/graphics/)
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Related Documentation
|
|
129
|
+
|
|
130
|
+
- [Borders](./borders.md) - Border philosophy and specifications
|
|
131
|
+
- [Typography](./typography.md) - Text spacing
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Design tokens — source of truth
|
|
2
|
+
|
|
3
|
+
This folder holds the **canonical design tokens** for the Equal Experts design system, **upstream** in `kuat-agent-rules`. It is the single source of truth; everything else is generated from it.
|
|
4
|
+
|
|
5
|
+
- **`colors.tokens.json`** — brand colour palettes (EE Blue, Tech Blue, Transform Teal, Equal Ember) + aliases, in [W3C Design Tokens](https://tr.designtokens.org/format/) format. `$value` is hex; OKLCH is preserved in `$extensions`.
|
|
6
|
+
|
|
7
|
+
## Generated artifacts (do not hand-edit — regenerate from here)
|
|
8
|
+
|
|
9
|
+
| Artifact | Repo | Note |
|
|
10
|
+
|----------|------|------|
|
|
11
|
+
| `reference/design-language/colours.md` | kuat-agent-rules | human-readable mirror |
|
|
12
|
+
| `@equal-experts/kuat-core` `src/variables.css` | kuat-mono (**downstream**) | CSS implementation; consumes these tokens via the upstream→mono sync |
|
|
13
|
+
|
|
14
|
+
## Rules
|
|
15
|
+
|
|
16
|
+
- **Change colours here, then regenerate.** Never hand-edit `colours.md` or `variables.css` — they drift (that's how EE Blue became `#0066CC`). The drift check fails if a generated artifact diverges from these tokens.
|
|
17
|
+
- **Direction is one-way:** tokens (upstream) → `colours.md` + kuat-core (downstream). Never generate these tokens *from* kuat-core.
|
|
18
|
+
- **Support scales** (slate/red/indigo) are not brand colours and live only in kuat-core.
|
|
19
|
+
|
|
20
|
+
## How to regenerate (Phase 7)
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm run tokens:generate # rewrite reference/design-language/colours.md from this token file
|
|
24
|
+
npm run tokens:check # CI drift gate — exits 1 if colours.md diverges from the tokens
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
- The generator is `skills/scripts/generate-tokens.mjs`; `colours.md` carries a `GENERATED FILE — DO NOT EDIT BY HAND` banner. Prose lives in the generator template — change it there and regenerate.
|
|
28
|
+
- `tokens:check` runs in `.github/workflows/drift-check.yml` and inside the reference review gate (`npm run reference:check`).
|
|
29
|
+
- The **downstream** `@equal-experts/kuat-core` `variables.css` half is generated in **kuat-mono** from the synced tokens (Phase 7 Run B — see `docs/migration/phase-7-kuat-mono-handoff.md`). The contributor workflow for colour changes is the repo-local `generate-tokens` skill (`.claude/skills/generate-tokens/`).
|
package/agent-docs/external/kuat-agent-rules/reference/design-language/tokens/colors.tokens.json
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://tr.designtokens.org/format/",
|
|
3
|
+
"$description": "Equal Experts brand COLOUR tokens — the SINGLE SOURCE OF TRUTH (upstream, in kuat-agent-rules). Downstream artifacts are GENERATED from this file: reference/design-language/colours.md (human-readable) and @equal-experts/kuat-core src/variables.css (CSS). Never hand-edit those; change colours HERE. kuat-core is downstream — do not invert. Support scales (slate/red/indigo) are NOT brand colours and live only in kuat-core. Format: W3C Design Tokens; $value is hex, oklch preserved in $extensions.",
|
|
4
|
+
"color": {
|
|
5
|
+
"ee-blue": {
|
|
6
|
+
"$description": "EE Blue — primary brand colour (trust, technology). Scale 50 (light) → 950 (dark).",
|
|
7
|
+
"50": { "$type": "color", "$value": "#e6f5fc", "$extensions": { "oklch": "oklch(0.945 0.028 237.5)" } },
|
|
8
|
+
"100": { "$type": "color", "$value": "#b3e2f7", "$extensions": { "oklch": "oklch(0.885 0.055 237.5)" } },
|
|
9
|
+
"200": { "$type": "color", "$value": "#80cff2", "$extensions": { "oklch": "oklch(0.825 0.082 237.5)" } },
|
|
10
|
+
"300": { "$type": "color", "$value": "#4dbced", "$extensions": { "oklch": "oklch(0.765 0.109 237.5)" } },
|
|
11
|
+
"400": { "$type": "color", "$value": "#26a8e3", "$extensions": { "oklch": "oklch(0.705 0.136 237.5)" } },
|
|
12
|
+
"500": { "$type": "color", "$value": "#1795d4", "$extensions": { "oklch": "oklch(0.645 0.163 237.5)" } },
|
|
13
|
+
"600": { "$type": "color", "$value": "#1378ae", "$extensions": { "oklch": "oklch(0.585 0.145 237.5)" } },
|
|
14
|
+
"700": { "$type": "color", "$value": "#105c88", "$extensions": { "oklch": "oklch(0.525 0.127 237.5)" } },
|
|
15
|
+
"800": { "$type": "color", "$value": "#0c4062", "$extensions": { "oklch": "oklch(0.365 0.109 237.5)" } },
|
|
16
|
+
"900": { "$type": "color", "$value": "#08243c", "$extensions": { "oklch": "oklch(0.245 0.082 237.5)" } },
|
|
17
|
+
"950": { "$type": "color", "$value": "#04121e", "$extensions": { "oklch": "oklch(0.145 0.055 237.5)" } }
|
|
18
|
+
},
|
|
19
|
+
"tech-blue": {
|
|
20
|
+
"$description": "Tech Blue — dark/structural (navigation, sidebar, depth).",
|
|
21
|
+
"50": { "$type": "color", "$value": "#e8eef3", "$extensions": { "oklch": "oklch(0.935 0.015 240.0)" } },
|
|
22
|
+
"100": { "$type": "color", "$value": "#bdcfdc", "$extensions": { "oklch": "oklch(0.835 0.030 240.0)" } },
|
|
23
|
+
"200": { "$type": "color", "$value": "#92b0c5", "$extensions": { "oklch": "oklch(0.735 0.045 240.0)" } },
|
|
24
|
+
"300": { "$type": "color", "$value": "#6791ae", "$extensions": { "oklch": "oklch(0.635 0.060 240.0)" } },
|
|
25
|
+
"400": { "$type": "color", "$value": "#447496", "$extensions": { "oklch": "oklch(0.535 0.075 240.0)" } },
|
|
26
|
+
"500": { "$type": "color", "$value": "#22567c", "$extensions": { "oklch": "oklch(0.435 0.090 240.0)" } },
|
|
27
|
+
"600": { "$type": "color", "$value": "#1b4563", "$extensions": { "oklch": "oklch(0.365 0.080 240.0)" } },
|
|
28
|
+
"700": { "$type": "color", "$value": "#15354a", "$extensions": { "oklch": "oklch(0.295 0.070 240.0)" } },
|
|
29
|
+
"800": { "$type": "color", "$value": "#0e2431", "$extensions": { "oklch": "oklch(0.205 0.060 240.0)" } },
|
|
30
|
+
"900": { "$type": "color", "$value": "#071218", "$extensions": { "oklch": "oklch(0.125 0.040 240.0)" } },
|
|
31
|
+
"950": { "$type": "color", "$value": "#03090c", "$extensions": { "oklch": "oklch(0.075 0.025 240.0)" } }
|
|
32
|
+
},
|
|
33
|
+
"transform-teal": {
|
|
34
|
+
"$description": "Transform Teal — secondary (transformation, growth).",
|
|
35
|
+
"50": { "$type": "color", "$value": "#e9f6f6", "$extensions": { "oklch": "oklch(0.945 0.020 185.0)" } },
|
|
36
|
+
"100": { "$type": "color", "$value": "#bfe7e7", "$extensions": { "oklch": "oklch(0.885 0.040 185.0)" } },
|
|
37
|
+
"200": { "$type": "color", "$value": "#95d8d9", "$extensions": { "oklch": "oklch(0.825 0.060 185.0)" } },
|
|
38
|
+
"300": { "$type": "color", "$value": "#6bc9ca", "$extensions": { "oklch": "oklch(0.765 0.080 185.0)" } },
|
|
39
|
+
"400": { "$type": "color", "$value": "#48b8b9", "$extensions": { "oklch": "oklch(0.705 0.100 185.0)" } },
|
|
40
|
+
"500": { "$type": "color", "$value": "#269c9e", "$extensions": { "oklch": "oklch(0.645 0.120 185.0)" } },
|
|
41
|
+
"600": { "$type": "color", "$value": "#1f7d7e", "$extensions": { "oklch": "oklch(0.545 0.105 185.0)" } },
|
|
42
|
+
"700": { "$type": "color", "$value": "#175e5f", "$extensions": { "oklch": "oklch(0.445 0.090 185.0)" } },
|
|
43
|
+
"800": { "$type": "color", "$value": "#103f3f", "$extensions": { "oklch": "oklch(0.305 0.075 185.0)" } },
|
|
44
|
+
"900": { "$type": "color", "$value": "#081f20", "$extensions": { "oklch": "oklch(0.185 0.055 185.0)" } },
|
|
45
|
+
"950": { "$type": "color", "$value": "#040f10", "$extensions": { "oklch": "oklch(0.105 0.035 185.0)" } }
|
|
46
|
+
},
|
|
47
|
+
"equal-ember": {
|
|
48
|
+
"$description": "Equal Ember — warm accent (energy, attention; use sparingly).",
|
|
49
|
+
"50": { "$type": "color", "$value": "#fff3e6", "$extensions": { "oklch": "oklch(0.975 0.035 65.0)" } },
|
|
50
|
+
"100": { "$type": "color", "$value": "#ffdbb3", "$extensions": { "oklch": "oklch(0.925 0.070 65.0)" } },
|
|
51
|
+
"200": { "$type": "color", "$value": "#ffc380", "$extensions": { "oklch": "oklch(0.875 0.105 65.0)" } },
|
|
52
|
+
"300": { "$type": "color", "$value": "#ffab4d", "$extensions": { "oklch": "oklch(0.825 0.140 65.0)" } },
|
|
53
|
+
"400": { "$type": "color", "$value": "#ff941a", "$extensions": { "oklch": "oklch(0.775 0.175 65.0)" } },
|
|
54
|
+
"500": { "$type": "color", "$value": "#f07c00", "$extensions": { "oklch": "oklch(0.625 0.200 65.0)" } },
|
|
55
|
+
"600": { "$type": "color", "$value": "#c06300", "$extensions": { "oklch": "oklch(0.525 0.180 65.0)" } },
|
|
56
|
+
"700": { "$type": "color", "$value": "#904a00", "$extensions": { "oklch": "oklch(0.425 0.160 65.0)" } },
|
|
57
|
+
"800": { "$type": "color", "$value": "#603100", "$extensions": { "oklch": "oklch(0.325 0.140 65.0)" } },
|
|
58
|
+
"900": { "$type": "color", "$value": "#301900", "$extensions": { "oklch": "oklch(0.225 0.120 65.0)" } },
|
|
59
|
+
"950": { "$type": "color", "$value": "#180c00", "$extensions": { "oklch": "oklch(0.125 0.100 65.0)" } }
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"brand": {
|
|
63
|
+
"$description": "Named brand aliases — the canonical reference points. Use these, not raw scale steps.",
|
|
64
|
+
"ee-blue": { "$type": "color", "$value": "{color.ee-blue.500}" },
|
|
65
|
+
"tech-blue": { "$type": "color", "$value": "{color.tech-blue.500}" },
|
|
66
|
+
"transform-teal": { "$type": "color", "$value": "{color.transform-teal.500}" },
|
|
67
|
+
"equal-ember": { "$type": "color", "$value": "{color.equal-ember.500}" },
|
|
68
|
+
"ee-blue-accent": { "$type": "color", "$value": "{color.ee-blue.50}" },
|
|
69
|
+
"dark-data": { "$type": "color", "$value": "#212526", "$description": "Primary text dark." },
|
|
70
|
+
"the-cloud": { "$type": "color", "$value": "#f5f5f5", "$description": "Light surface." },
|
|
71
|
+
"byte-white": { "$type": "color", "$value": "#ffffff" }
|
|
72
|
+
},
|
|
73
|
+
"alias": {
|
|
74
|
+
"$description": "Semantic role → brand mapping (mirrors kuat-core ee-light). Support-scale-backed roles (muted/border/ring/destructive) resolve to non-brand scales in kuat-core and are intentionally omitted here except destructive.",
|
|
75
|
+
"primary": { "$type": "color", "$value": "{brand.ee-blue}" },
|
|
76
|
+
"secondary": { "$type": "color", "$value": "{brand.transform-teal}" },
|
|
77
|
+
"sidebar": { "$type": "color", "$value": "{brand.tech-blue}", "$description": "Dark navigation." },
|
|
78
|
+
"accent": { "$type": "color", "$value": "{brand.ee-blue-accent}" },
|
|
79
|
+
"foreground": { "$type": "color", "$value": "{brand.dark-data}" },
|
|
80
|
+
"background": { "$type": "color", "$value": "{brand.byte-white}" },
|
|
81
|
+
"muted": { "$type": "color", "$value": "{brand.the-cloud}" },
|
|
82
|
+
"destructive": { "$type": "color", "$value": "#dc2626", "$description": "Red 600 (support scale, not brand)." }
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Typography Rules
|
|
2
|
+
|
|
3
|
+
Typography specifications for Equal Experts. This document defines font families, type scale, and usage guidelines.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Font Families
|
|
8
|
+
|
|
9
|
+
### Sans Serif (Default)
|
|
10
|
+
|
|
11
|
+
**Font:** Lexend
|
|
12
|
+
**Fallback:** `Lexend, ui-sans-serif, sans-serif, system-ui`
|
|
13
|
+
|
|
14
|
+
**Use for:** All primary content - body text, headings, interface copy, presentations
|
|
15
|
+
|
|
16
|
+
### Serif
|
|
17
|
+
|
|
18
|
+
**Font:** Lora
|
|
19
|
+
**Fallback:** `Lora, ui-serif, Georgia, serif`
|
|
20
|
+
|
|
21
|
+
**Use for:** Decorative text, special emphasis, editorial content (use sparingly)
|
|
22
|
+
|
|
23
|
+
### Monospace
|
|
24
|
+
|
|
25
|
+
**Font:** JetBrains Mono
|
|
26
|
+
**Fallback:** `JetBrains Mono, ui-monospace, monospace`
|
|
27
|
+
|
|
28
|
+
**Use for:** Code blocks, technical content, data display
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Type Scale
|
|
33
|
+
|
|
34
|
+
| Name | Size | Line Height | Usage |
|
|
35
|
+
|------|------|-------------|-------|
|
|
36
|
+
| xs | 12px | 16px | Labels, captions, metadata |
|
|
37
|
+
| sm | 14px | 20px | Secondary text, small body |
|
|
38
|
+
| base | 16px | 24px | Body text (default) |
|
|
39
|
+
| lg | 18px | 28px | Large body, subheadings |
|
|
40
|
+
| xl | 20px | 28px | Section headings |
|
|
41
|
+
| 2xl | 24px | 32px | Page headings |
|
|
42
|
+
| 3xl | 30px | 36px | Large headings |
|
|
43
|
+
| 4xl | 36px | 40px | Display text |
|
|
44
|
+
| 5xl | 48px | 1 | Hero headings |
|
|
45
|
+
| 6xl | 60px | 1 | Large hero text |
|
|
46
|
+
| 7xl | 72px | 1 | Extra large display |
|
|
47
|
+
| 8xl | 96px | 1 | Maximum display |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Font Weights
|
|
52
|
+
|
|
53
|
+
| Weight | Value | Usage |
|
|
54
|
+
|--------|-------|-------|
|
|
55
|
+
| light | 300 | Large display text, subtle emphasis |
|
|
56
|
+
| normal | 400 | Default body text |
|
|
57
|
+
| medium | 500 | Form inputs, UI labels, subtle emphasis |
|
|
58
|
+
| semibold | 600 | Headings, important labels |
|
|
59
|
+
| bold | 700 | Strong emphasis, primary headings |
|
|
60
|
+
| extrabold | 800 | Maximum emphasis (use sparingly) |
|
|
61
|
+
|
|
62
|
+
### Recommended Weight Usage
|
|
63
|
+
|
|
64
|
+
- **Body Text:** 400 (normal)
|
|
65
|
+
- **Headings:** 600 (semibold) or 700 (bold)
|
|
66
|
+
- **Labels:** 500 (medium)
|
|
67
|
+
- **Display Text:** 300 (light) for large sizes, 700 (bold) for impact
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Typography Hierarchy
|
|
72
|
+
|
|
73
|
+
Establish clear visual hierarchy:
|
|
74
|
+
|
|
75
|
+
| Level | Size | Weight | Usage |
|
|
76
|
+
|-------|------|--------|-------|
|
|
77
|
+
| H1 | 4xl-5xl | bold | Main page/slide title |
|
|
78
|
+
| H2 | 2xl-3xl | semibold/bold | Section heading |
|
|
79
|
+
| H3 | xl-2xl | semibold | Subsection heading |
|
|
80
|
+
| Body | base | normal | Primary content |
|
|
81
|
+
| Supporting | sm | normal/medium | Secondary information |
|
|
82
|
+
| Labels/Captions | xs-sm | medium | Metadata, captions |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Letter Spacing
|
|
87
|
+
|
|
88
|
+
| Name | Value | Usage |
|
|
89
|
+
|------|-------|-------|
|
|
90
|
+
| tighter | -0.05em | Tighter spacing |
|
|
91
|
+
| tight | -0.025em | Slightly tighter |
|
|
92
|
+
| normal | 0.01em | Default spacing |
|
|
93
|
+
| wide | +0.025em | Slightly wider |
|
|
94
|
+
| wider | +0.05em | Wider spacing |
|
|
95
|
+
| widest | +0.1em | Maximum spacing (all caps) |
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Line Height
|
|
100
|
+
|
|
101
|
+
| Name | Value | Usage |
|
|
102
|
+
|------|-------|-------|
|
|
103
|
+
| none | 1 | Tight spacing (large headings) |
|
|
104
|
+
| tight | 1.25 | Compact text |
|
|
105
|
+
| snug | 1.375 | Slightly tight |
|
|
106
|
+
| normal | 1.5 | Default body text |
|
|
107
|
+
| relaxed | 1.625 | Comfortable reading |
|
|
108
|
+
| loose | 2 | Generous spacing |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Accessibility Requirements
|
|
113
|
+
|
|
114
|
+
- **Normal text:** Minimum 4.5:1 contrast ratio
|
|
115
|
+
- **Large text (18px+ or 14px+ bold):** Minimum 3:1 contrast ratio
|
|
116
|
+
- **Proper heading hierarchy:** H1 → H2 → H3 (no skipping levels)
|
|
117
|
+
- **Minimum body text size:** 12px
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Usage Guidelines
|
|
122
|
+
|
|
123
|
+
### Do's
|
|
124
|
+
|
|
125
|
+
1. **Use Lexend for primary content** - It's the brand font
|
|
126
|
+
2. **Maintain hierarchy** - Visual styling matches content structure
|
|
127
|
+
3. **Stick to the scale** - Use defined sizes, not arbitrary values
|
|
128
|
+
4. **Ensure readability** - Sufficient contrast and line height
|
|
129
|
+
5. **Be consistent** - Same styles for same content types
|
|
130
|
+
|
|
131
|
+
### Don'ts
|
|
132
|
+
|
|
133
|
+
1. **Don't use arbitrary sizes** - Stick to the type scale
|
|
134
|
+
2. **Don't skip heading levels** - H1 → H3 is invalid
|
|
135
|
+
3. **Don't use low-contrast colors** - Verify accessibility
|
|
136
|
+
4. **Don't mix too many weights** - Keep it simple
|
|
137
|
+
5. **Don't use sizes smaller than 12px** - Maintain readability
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Platform-Specific Typography
|
|
142
|
+
|
|
143
|
+
For platform-specific typography guidance:
|
|
144
|
+
|
|
145
|
+
- **Web product** - See [media-types/web-product/](../media-types/web-product/)
|
|
146
|
+
- **Web marketing** - See [media-types/web-marketing/](../media-types/web-marketing/)
|
|
147
|
+
- **Slides** - See [media-types/slides/](../media-types/slides/)
|
|
148
|
+
- **Graphics** - See [media-types/imagery/patterns/graphics/](../media-types/imagery/patterns/graphics/)
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Related Documentation
|
|
153
|
+
|
|
154
|
+
- [Brand Guidelines](../brand/brand.md) - Brand principles
|
|
155
|
+
- [Colours](./colours.md) - Text colors
|
|
156
|
+
- [Spacing](./spacing.md) - Text spacing patterns
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Web Marketing
|
|
2
|
+
|
|
3
|
+
Reference for Equal Experts public-facing marketing websites, landing pages, and marketing emails.
|
|
4
|
+
|
|
5
|
+
| File | Scope |
|
|
6
|
+
|------|-------|
|
|
7
|
+
| [website.md](./website.md) | Marketing website layout and visual patterns |
|
|
8
|
+
| [emails.md](./emails.md) | Marketing email patterns |
|
|
9
|
+
| [content/](./content/) | Marketing copy, blog posts, SEO |
|
|
10
|
+
| [patterns/](./patterns/) | Marketing page-type patterns |
|
package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/README.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Marketing Content Rules
|
|
2
|
+
|
|
3
|
+
Content guidance for Equal Experts marketing websites, landing pages, and blog posts.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
Marketing content informs, engages, and supports conversion. See [voice and tone](../../../brand/voice-and-tone.md) and [marketing-content.md](./marketing-content.md) for principles and content types.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Files
|
|
14
|
+
|
|
15
|
+
| File | Description |
|
|
16
|
+
|------|-------------|
|
|
17
|
+
| [marketing-content.md](./marketing-content.md) | Principles, tone, case studies, content types |
|
|
18
|
+
| [blog-posts.md](./blog-posts.md) | Blog structure and style |
|
|
19
|
+
| [seo.md](./seo.md) | SEO content and meta guidelines |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Related
|
|
24
|
+
|
|
25
|
+
- [Content](../../../content/)
|
|
26
|
+
- [Marketing website](../website.md)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Blog Posts
|
|
2
|
+
|
|
3
|
+
Structure and style for Equal Experts blog content.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Structure
|
|
8
|
+
|
|
9
|
+
1. **Introduction** – Hook the reader: story, question, or clear insight. Get to the point quickly.
|
|
10
|
+
2. **Problem or question** – What you're addressing. Set expectations.
|
|
11
|
+
3. **Main content** – Evidence-based insights with examples. Use headings and short paragraphs.
|
|
12
|
+
4. **Takeaways** – Actionable guidance the reader can use.
|
|
13
|
+
5. **Call to action** – Invite further engagement (e.g. contact, subscribe, read more).
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Voice and Format
|
|
18
|
+
|
|
19
|
+
- Use [writing style](../../../content/writing-style.md): active voice, plain language, "you" and "we".
|
|
20
|
+
- Keep paragraphs short (3–4 sentences). Use lists and headings so content is scannable.
|
|
21
|
+
- Support claims with evidence and examples. Avoid generic or unsupported statements.
|
|
22
|
+
- Typical length: enough to cover the topic clearly; avoid padding. For many posts, a few hundred to ~1,500 words works well.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Related
|
|
27
|
+
|
|
28
|
+
- [Marketing content](./marketing-content.md)
|
|
29
|
+
- [SEO](./seo.md)
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Marketing Content
|
|
2
|
+
|
|
3
|
+
Writing principles and content types for Equal Experts marketing websites and landing pages.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
Marketing content is written to build awareness, demonstrate expertise, and support leads and opportunities. It can be more expansive than product UI copy but should still be clear and evidence-based.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## What Marketing Content Should Do
|
|
14
|
+
|
|
15
|
+
- Build awareness and reputation
|
|
16
|
+
- Demonstrate expertise through evidence
|
|
17
|
+
- Generate leads and opportunities
|
|
18
|
+
- Educate external audiences
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Tone
|
|
23
|
+
|
|
24
|
+
**Tone range:** Confident to conversational (depends on content type)
|
|
25
|
+
**Key balance:** Expertise + Clarity = Credibility
|
|
26
|
+
|
|
27
|
+
Stay true to [voice and tone](../../../brand/voice-and-tone.md): clear, direct, helpful. Avoid hype or vague claims.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Content Types
|
|
32
|
+
|
|
33
|
+
| Type | Guidance |
|
|
34
|
+
|------|----------|
|
|
35
|
+
| Case studies | Context → Challenge → Approach → Solution → Results. Start with business problem; use specific numbers. |
|
|
36
|
+
| Blog posts | See [blog-posts.md](./blog-posts.md) |
|
|
37
|
+
| Landing pages | Clear value proposition above the fold; scannable headings; clear CTAs; trust indicators |
|
|
38
|
+
| SEO | See [seo.md](./seo.md) |
|
|
39
|
+
|
|
40
|
+
### Case Studies
|
|
41
|
+
|
|
42
|
+
**Structure:**
|
|
43
|
+
1. Context – What was the situation?
|
|
44
|
+
2. Challenge – What problems needed solving?
|
|
45
|
+
3. Our approach – How did we help?
|
|
46
|
+
4. Solution and implementation – What was built or changed?
|
|
47
|
+
5. Results – Measurable business impact
|
|
48
|
+
|
|
49
|
+
**Tips:**
|
|
50
|
+
- Start with the business problem, not technology
|
|
51
|
+
- Use specific numbers and evidence
|
|
52
|
+
- Make it understandable by a broad audience
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Related
|
|
57
|
+
|
|
58
|
+
- [Content](../../../content/)
|
|
59
|
+
- [Blog posts](./blog-posts.md)
|
|
60
|
+
- [SEO](./seo.md)
|
|
61
|
+
- [Marketing website](../website.md)
|
package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/seo.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# SEO Content
|
|
2
|
+
|
|
3
|
+
Guidance for findable, readable, and helpful marketing content.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Principles
|
|
8
|
+
|
|
9
|
+
- **Findable** – Use language people search for; structure and meta data support discovery.
|
|
10
|
+
- **Readable** – Clear headings, short paragraphs, plain language (see [writing style](../../../content/writing-style.md)).
|
|
11
|
+
- **Helpful** – Content should answer a real question or need. Don't optimise for search at the expense of the reader.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Page Titles and Meta Descriptions
|
|
16
|
+
|
|
17
|
+
- **Title:** Clear, descriptive, and relevant to the page. Include key terms where natural. Keep within typical display length (e.g. ~50–60 characters) for important pages.
|
|
18
|
+
- **Meta description:** Summarise the page and encourage a click. Match the page content; avoid generic or duplicate copy.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Headings
|
|
23
|
+
|
|
24
|
+
- Use a logical hierarchy (H1 → H2 → H3). One H1 per page.
|
|
25
|
+
- Make headings descriptive so they work for both scanning and search. Use key phrases where they fit naturally; don't stuff keywords.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Links
|
|
30
|
+
|
|
31
|
+
- Use descriptive link text that states the destination or topic (good for accessibility and context).
|
|
32
|
+
- Internal links help users and crawlers discover related content.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Related
|
|
37
|
+
|
|
38
|
+
- [Formatting](../../../content/formatting.md) – Headings, links
|
|
39
|
+
- [Marketing content](./marketing-content.md)
|
|
40
|
+
- [Blog posts](./blog-posts.md)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Marketing Email Rules
|
|
2
|
+
|
|
3
|
+
Guidelines for Equal Experts marketing emails and campaigns.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
Marketing emails are external communications designed to engage, inform, and convert prospects and customers.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Key Principles
|
|
14
|
+
|
|
15
|
+
1. **Value-first** - Every email should provide value to the recipient
|
|
16
|
+
2. **Clear purpose** - One primary goal per email
|
|
17
|
+
3. **Scannable** - Easy to read on mobile devices
|
|
18
|
+
4. **Brand-consistent** - Use Equal Experts visual identity
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Email Types
|
|
23
|
+
|
|
24
|
+
- **Newsletter** - Regular updates and insights
|
|
25
|
+
- **Product announcements** - New features and releases
|
|
26
|
+
- **Event invitations** - Webinars, conferences, meetups
|
|
27
|
+
- **Nurture sequences** - Educational content series
|
|
28
|
+
- **Transactional** - Confirmations, receipts (see product emails)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## To Be Defined
|
|
33
|
+
|
|
34
|
+
- Email template designs
|
|
35
|
+
- Header and footer specifications
|
|
36
|
+
- Logo placement and sizing
|
|
37
|
+
- Color usage in emails
|
|
38
|
+
- Typography for email clients
|
|
39
|
+
- CTA button styling
|
|
40
|
+
- Mobile-first design requirements
|
|
41
|
+
- Accessibility requirements (alt text, etc.)
|
|
42
|
+
- Subject line guidelines
|
|
43
|
+
- Preview text best practices
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Content Guidelines
|
|
48
|
+
|
|
49
|
+
Follow [content](../../content/) for writing style.
|
|
50
|
+
|
|
51
|
+
### Subject Lines
|
|
52
|
+
- Keep under 50 characters for mobile
|
|
53
|
+
- Be specific about content
|
|
54
|
+
- Avoid spam triggers
|
|
55
|
+
|
|
56
|
+
### Body Content
|
|
57
|
+
- Lead with the most important information
|
|
58
|
+
- Use short paragraphs
|
|
59
|
+
- Include clear CTA
|
|
60
|
+
- Provide value before asking
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Related Documentation
|
|
65
|
+
|
|
66
|
+
- [Reference home](../../README.md) - Brand and design language
|
|
67
|
+
- [Marketing Website](./website.md) - Website guidelines
|
|
68
|
+
- [Content](../../content/) - Writing style
|
package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/patterns/README.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Web Marketing Patterns
|
|
2
|
+
|
|
3
|
+
Applied layout and design patterns for marketing website page types.
|
|
4
|
+
|
|
5
|
+
| Pattern | For | Base layout |
|
|
6
|
+
|---------|-----|-------------|
|
|
7
|
+
| [marketing-pages.md](./marketing-pages.md) | Landing pages, pricing, features, case studies | Horizontal navigation |
|