mirror of
https://github.com/VoltAgent/awesome-design-md.git
synced 2026-05-14 13:06:57 +08:00
507 lines
20 KiB
Markdown
507 lines
20 KiB
Markdown
---
|
||
version: alpha
|
||
name: Composio
|
||
description: A developer-tools brand for AI-agent tool integration whose marketing surfaces lean into a dark, technical aesthetic with a single deep-electric-blue voltage (`#0007cd`). The page floor is near-black (`#0f0f0f`); cards float above on subtle gray-tinted surfaces. abcDiatype carries display and body in a single sans family with weights 400-600. The brand's strongest visual signature is a four-pane terminal-style mockup (a 2×2 grid of dark code/output panels) with a central blue spotlight glow — used as the homepage hero anchor.
|
||
|
||
colors:
|
||
primary: "#0007cd"
|
||
primary-active: "#0005a3"
|
||
primary-glow: "#1a26ff"
|
||
ink: "#ffffff"
|
||
body: "#a8a8a8"
|
||
body-strong: "#ffffff"
|
||
muted: "#888888"
|
||
muted-soft: "#666666"
|
||
hairline: "#222222"
|
||
hairline-soft: "#1a1a1a"
|
||
hairline-strong: "#333333"
|
||
canvas: "#0f0f0f"
|
||
canvas-deep: "#000000"
|
||
surface-card: "#181818"
|
||
surface-card-elevated: "#222222"
|
||
surface-strong: "#2a2a2a"
|
||
on-primary: "#ffffff"
|
||
on-dark: "#ffffff"
|
||
accent-cyan: "#00d4ff"
|
||
accent-violet: "#7b3aed"
|
||
semantic-error: "#ff4d4d"
|
||
semantic-success: "#33d17a"
|
||
|
||
typography:
|
||
display-mega:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 72px
|
||
fontWeight: 500
|
||
lineHeight: 1.05
|
||
letterSpacing: -2.16px
|
||
display-xl:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 56px
|
||
fontWeight: 500
|
||
lineHeight: 1.05
|
||
letterSpacing: -1.68px
|
||
display-lg:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 44px
|
||
fontWeight: 500
|
||
lineHeight: 1.1
|
||
letterSpacing: -1.32px
|
||
display-md:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 32px
|
||
fontWeight: 500
|
||
lineHeight: 1.15
|
||
letterSpacing: -0.96px
|
||
display-sm:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 24px
|
||
fontWeight: 500
|
||
lineHeight: 1.25
|
||
letterSpacing: -0.5px
|
||
title-md:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 18px
|
||
fontWeight: 600
|
||
lineHeight: 1.4
|
||
letterSpacing: 0
|
||
title-sm:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 16px
|
||
fontWeight: 600
|
||
lineHeight: 1.4
|
||
letterSpacing: 0
|
||
body-md:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 16px
|
||
fontWeight: 400
|
||
lineHeight: 1.5
|
||
letterSpacing: 0
|
||
body-sm:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 14px
|
||
fontWeight: 400
|
||
lineHeight: 1.5
|
||
letterSpacing: 0
|
||
caption:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 13px
|
||
fontWeight: 400
|
||
lineHeight: 1.4
|
||
letterSpacing: 0
|
||
caption-uppercase:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 11px
|
||
fontWeight: 600
|
||
lineHeight: 1.4
|
||
letterSpacing: 0.88px
|
||
textTransform: uppercase
|
||
code:
|
||
fontFamily: "'JetBrains Mono', 'Fira Code', monospace"
|
||
fontSize: 13px
|
||
fontWeight: 400
|
||
lineHeight: 1.5
|
||
letterSpacing: 0
|
||
button:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 14px
|
||
fontWeight: 500
|
||
lineHeight: 1.0
|
||
letterSpacing: 0
|
||
nav-link:
|
||
fontFamily: "'abcDiatype', ui-sans-serif, system-ui, sans-serif"
|
||
fontSize: 14px
|
||
fontWeight: 500
|
||
lineHeight: 1.4
|
||
letterSpacing: 0
|
||
|
||
rounded:
|
||
none: 0px
|
||
xs: 4px
|
||
sm: 6px
|
||
md: 8px
|
||
lg: 12px
|
||
xl: 16px
|
||
pill: 9999px
|
||
full: 9999px
|
||
|
||
spacing:
|
||
xxs: 4px
|
||
xs: 8px
|
||
sm: 12px
|
||
base: 16px
|
||
md: 20px
|
||
lg: 24px
|
||
xl: 32px
|
||
xxl: 48px
|
||
section: 96px
|
||
|
||
components:
|
||
top-nav-dark:
|
||
backgroundColor: "{colors.canvas}"
|
||
textColor: "{colors.body-strong}"
|
||
typography: "{typography.nav-link}"
|
||
height: 64px
|
||
button-primary:
|
||
backgroundColor: "{colors.primary}"
|
||
textColor: "{colors.on-primary}"
|
||
typography: "{typography.button}"
|
||
rounded: "{rounded.md}"
|
||
padding: 10px 18px
|
||
height: 40px
|
||
button-primary-active:
|
||
backgroundColor: "{colors.primary-active}"
|
||
textColor: "{colors.on-primary}"
|
||
rounded: "{rounded.md}"
|
||
button-secondary-dark:
|
||
backgroundColor: "{colors.surface-card-elevated}"
|
||
textColor: "{colors.body-strong}"
|
||
typography: "{typography.button}"
|
||
rounded: "{rounded.md}"
|
||
padding: 10px 18px
|
||
height: 40px
|
||
button-outline:
|
||
backgroundColor: transparent
|
||
textColor: "{colors.body-strong}"
|
||
typography: "{typography.button}"
|
||
rounded: "{rounded.md}"
|
||
padding: 9px 17px
|
||
height: 40px
|
||
button-tertiary-text:
|
||
backgroundColor: transparent
|
||
textColor: "{colors.body}"
|
||
typography: "{typography.button}"
|
||
hero-band:
|
||
backgroundColor: "{colors.canvas}"
|
||
textColor: "{colors.body-strong}"
|
||
typography: "{typography.display-mega}"
|
||
padding: 96px
|
||
terminal-mockup-grid:
|
||
backgroundColor: "{colors.canvas-deep}"
|
||
textColor: "{colors.body-strong}"
|
||
typography: "{typography.code}"
|
||
rounded: "{rounded.xl}"
|
||
padding: 32px
|
||
terminal-pane:
|
||
backgroundColor: "{colors.surface-card}"
|
||
textColor: "{colors.body}"
|
||
typography: "{typography.code}"
|
||
rounded: "{rounded.lg}"
|
||
padding: 20px
|
||
feature-card:
|
||
backgroundColor: "{colors.surface-card}"
|
||
textColor: "{colors.body}"
|
||
typography: "{typography.title-md}"
|
||
rounded: "{rounded.xl}"
|
||
padding: 28px
|
||
toolkit-card:
|
||
backgroundColor: "{colors.surface-card}"
|
||
textColor: "{colors.body-strong}"
|
||
typography: "{typography.title-sm}"
|
||
rounded: "{rounded.lg}"
|
||
padding: 20px
|
||
toolkit-icon:
|
||
backgroundColor: "{colors.surface-card-elevated}"
|
||
rounded: "{rounded.md}"
|
||
size: 40px
|
||
spotlight-glow-card:
|
||
backgroundColor: "{colors.surface-card}"
|
||
textColor: "{colors.body-strong}"
|
||
typography: "{typography.display-md}"
|
||
rounded: "{rounded.xl}"
|
||
padding: 48px
|
||
code-block:
|
||
backgroundColor: "{colors.canvas-deep}"
|
||
textColor: "{colors.body}"
|
||
typography: "{typography.code}"
|
||
rounded: "{rounded.lg}"
|
||
padding: 20px
|
||
badge-pill:
|
||
backgroundColor: "{colors.surface-card-elevated}"
|
||
textColor: "{colors.body-strong}"
|
||
typography: "{typography.caption-uppercase}"
|
||
rounded: "{rounded.pill}"
|
||
padding: 4px 10px
|
||
text-input:
|
||
backgroundColor: "{colors.surface-card}"
|
||
textColor: "{colors.body-strong}"
|
||
typography: "{typography.body-md}"
|
||
rounded: "{rounded.md}"
|
||
padding: 12px 16px
|
||
height: 44px
|
||
search-input:
|
||
backgroundColor: "{colors.surface-card}"
|
||
textColor: "{colors.body-strong}"
|
||
typography: "{typography.body-md}"
|
||
rounded: "{rounded.md}"
|
||
padding: 10px 16px
|
||
height: 40px
|
||
cta-band-spotlight:
|
||
backgroundColor: "{colors.canvas}"
|
||
textColor: "{colors.body-strong}"
|
||
typography: "{typography.display-lg}"
|
||
padding: 96px
|
||
testimonial-card:
|
||
backgroundColor: "{colors.surface-card}"
|
||
textColor: "{colors.body}"
|
||
typography: "{typography.body-md}"
|
||
rounded: "{rounded.lg}"
|
||
padding: 24px
|
||
footer-dark:
|
||
backgroundColor: "{colors.canvas}"
|
||
textColor: "{colors.body}"
|
||
typography: "{typography.body-sm}"
|
||
padding: 64px 48px
|
||
footer-link:
|
||
backgroundColor: transparent
|
||
textColor: "{colors.body}"
|
||
typography: "{typography.body-sm}"
|
||
---
|
||
|
||
## Overview
|
||
|
||
Composio's marketing site reads like a serious developer-infrastructure brand — closer to Vercel or Stripe Docs in atmosphere than to a typical AI-tools startup. The base canvas is a near-black `{colors.canvas}` (#0f0f0f) holding white type and a single voltage of **deep electric blue** (`{colors.primary}` — #0007cd) carrying every primary CTA, brand wordmark, and atmospheric spotlight glow that backs the homepage hero.
|
||
|
||
Type runs **abcDiatype** as the single sans family across display, body, navigation, and captions. Display sits at weight 500 — confident but not bombastic. Code blocks and terminal mockups switch to JetBrains Mono.
|
||
|
||
The page rhythm is monolithic: dark canvas top to bottom with subtle elevation steps via card surfaces. The brand's strongest visual signature is a **four-pane terminal-style mockup** — a 2×2 grid of dark code/output panels with a central blue spotlight glow behind them.
|
||
|
||
**Key Characteristics:**
|
||
- Single accent: `{colors.primary}` (#0007cd) for primary CTAs, wordmark, spotlight glows.
|
||
- Single sans family: abcDiatype carries everything except code (JetBrains Mono).
|
||
- Dark monolithic canvas: `{colors.canvas}` runs top to bottom; depth from `{colors.surface-card}` and `{colors.surface-card-elevated}` brightness steps.
|
||
- Terminal-mockup hero: 2×2 grid of code/output panes is the brand signature.
|
||
- Compact pill geometry: CTAs sit at `{rounded.md}` (8px), not full pills — developer-tool dialect.
|
||
- Spotlight-glow atmospheric backdrop: a radial blue glow centered behind hero content.
|
||
- 96px section rhythm.
|
||
|
||
## Colors
|
||
|
||
### Brand & Accent
|
||
- **Composio Blue** (`{colors.primary}` — #0007cd): Primary CTAs, wordmark, spotlight glow center.
|
||
- **Composio Blue Active** (`{colors.primary-active}` — #0005a3): Press state.
|
||
- **Spotlight Glow Tone** (`{colors.primary-glow}` — #1a26ff): Brighter blue used inside radial atmospheric glows.
|
||
- **Accent Cyan** (`{colors.accent-cyan}` — #00d4ff): Sparingly on data-flow visualizations.
|
||
- **Accent Violet** (`{colors.accent-violet}` — #7b3aed): Inside specific product illustrations only.
|
||
|
||
### Surface
|
||
- **Canvas** (`{colors.canvas}` — #0f0f0f): Page floor — near-black.
|
||
- **Canvas Deep** (`{colors.canvas-deep}` — #000000): Pure black for terminal mockup grids and code blocks.
|
||
- **Surface Card** (`{colors.surface-card}` — #181818): Default content card.
|
||
- **Surface Card Elevated** (`{colors.surface-card-elevated}` — #222222): Terminal panes, secondary buttons.
|
||
- **Surface Strong** (`{colors.surface-strong}` — #2a2a2a): Dropdown menus.
|
||
|
||
### Hairlines
|
||
- **Hairline** (`{colors.hairline}` — #222222): Default 1px divider.
|
||
- **Hairline Soft** (`{colors.hairline-soft}` — #1a1a1a): Lighter divider.
|
||
- **Hairline Strong** (`{colors.hairline-strong}` — #333333): Stronger panel outline.
|
||
|
||
### Text
|
||
- **Ink** (`{colors.ink}` — #ffffff): Display headlines.
|
||
- **Body** (`{colors.body}` — #a8a8a8): Default running-text — soft gray.
|
||
- **Body Strong** (`{colors.body-strong}` — #ffffff): Same as ink.
|
||
- **Muted** (`{colors.muted}` — #888888): Sub-titles, breadcrumbs.
|
||
- **Muted Soft** (`{colors.muted-soft}` — #666666): Disabled text.
|
||
- **On Primary** (`{colors.on-primary}` — #ffffff): White text on blue CTAs.
|
||
|
||
### Semantic
|
||
- **Success** (`{colors.semantic-success}` — #33d17a): "Online", "active" indicators.
|
||
- **Error** (`{colors.semantic-error}` — #ff4d4d): Validation errors.
|
||
|
||
## Typography
|
||
|
||
### Font Family
|
||
The system runs **abcDiatype** (Lineto) across every text role. Code blocks switch to **JetBrains Mono**. Fallback: `ui-sans-serif, system-ui, sans-serif`.
|
||
|
||
### Hierarchy
|
||
|
||
| Token | Size | Weight | Line Height | Letter Spacing | Use |
|
||
|---|---|---|---|---|---|
|
||
| `{typography.display-mega}` | 72px | 500 | 1.05 | -2.16px | Homepage hero h1 |
|
||
| `{typography.display-xl}` | 56px | 500 | 1.05 | -1.68px | Subsidiary heroes |
|
||
| `{typography.display-lg}` | 44px | 500 | 1.1 | -1.32px | Section heads |
|
||
| `{typography.display-md}` | 32px | 500 | 1.15 | -0.96px | Sub-section heads |
|
||
| `{typography.display-sm}` | 24px | 500 | 1.25 | -0.5px | Card group titles |
|
||
| `{typography.title-md}` | 18px | 600 | 1.4 | 0 | Component titles |
|
||
| `{typography.title-sm}` | 16px | 600 | 1.4 | 0 | Toolkit card titles |
|
||
| `{typography.body-md}` | 16px | 400 | 1.5 | 0 | Default body |
|
||
| `{typography.body-sm}` | 14px | 400 | 1.5 | 0 | Footer body |
|
||
| `{typography.caption}` | 13px | 400 | 1.4 | 0 | Photo captions |
|
||
| `{typography.caption-uppercase}` | 11px | 600 | 1.4 | 0.88px | Section labels, badge pills |
|
||
| `{typography.code}` | 13px | 400 | 1.5 | 0 | Code blocks — JetBrains Mono |
|
||
| `{typography.button}` | 14px | 500 | 1.0 | 0 | CTA pill labels |
|
||
| `{typography.nav-link}` | 14px | 500 | 1.4 | 0 | Top-nav menu |
|
||
|
||
### Principles
|
||
- **Display weight stays at 500.** Confident but not display-bold.
|
||
- **abcDiatype across every role.** No display/body family split.
|
||
- **JetBrains Mono on every code surface.**
|
||
|
||
### Note on Font Substitutes
|
||
abcDiatype is a Lineto licensed typeface. Open-source substitute: **Inter** at weight 500 with letter-spacing -1.5%.
|
||
|
||
## Layout
|
||
|
||
### Spacing System
|
||
- **Base unit:** 4px.
|
||
- **Tokens:** `{spacing.xxs}` 4px · `{spacing.xs}` 8px · `{spacing.sm}` 12px · `{spacing.base}` 16px · `{spacing.md}` 20px · `{spacing.lg}` 24px · `{spacing.xl}` 32px · `{spacing.xxl}` 48px · `{spacing.section}` 96px.
|
||
- **Section padding:** `{spacing.section}` (96px) for major bands.
|
||
|
||
### Grid & Container
|
||
- Max content width: ~1200px.
|
||
- Editorial body: 12-column grid.
|
||
- Terminal mockup grid: 2×2 equal-size panes.
|
||
- Toolkit grid: 4-up at desktop, 2-up tablet, 1-up mobile.
|
||
- Footer: 5-column at desktop.
|
||
|
||
### Whitespace Philosophy
|
||
The dark canvas creates its own depth — whitespace can stay tight without feeling crowded. 96px between bands; 24px between cards inside a band.
|
||
|
||
## Elevation & Depth
|
||
|
||
The system uses **brightness-step elevation**: surfaces step up in brightness instead of casting drop shadows. Combined with subtle radial blue glows, this creates a focused dark-mode atmosphere.
|
||
|
||
| Level | Treatment | Use |
|
||
|---|---|---|
|
||
| Flat (canvas) | `{colors.canvas}` (#0f0f0f) | Body bands, footer |
|
||
| Recessed | `{colors.canvas-deep}` (#000000) | Terminal mockup grid background, code blocks |
|
||
| Card | `{colors.surface-card}` (#181818) | Default content cards |
|
||
| Card elevated | `{colors.surface-card-elevated}` (#222222) | Terminal panes, secondary buttons |
|
||
| Atmospheric glow | Radial gradient using `{colors.primary-glow}` | Hero spotlight backdrop |
|
||
|
||
### Decorative Depth
|
||
- **Spotlight glow backdrops** — radial blue gradient centered behind hero content.
|
||
- **Terminal-pane brightness ladder** — 2×2 mockup uses canvas-deep outer + surface-card-elevated panes.
|
||
|
||
## Shapes
|
||
|
||
### Border Radius Scale
|
||
|
||
| Token | Value | Use |
|
||
|---|---|---|
|
||
| `{rounded.none}` | 0px | Reserved |
|
||
| `{rounded.xs}` | 4px | Inline tags |
|
||
| `{rounded.sm}` | 6px | Compact rows |
|
||
| `{rounded.md}` | 8px | CTA buttons, form inputs |
|
||
| `{rounded.lg}` | 12px | Toolkit cards, code blocks, terminal panes |
|
||
| `{rounded.xl}` | 16px | Feature cards, terminal mockup grids |
|
||
| `{rounded.pill}` | 9999px | Section-label badges |
|
||
| `{rounded.full}` | 9999px | Avatar plates (rare) |
|
||
|
||
Compact developer-ergonomic radii — 8px CTAs, 12-16px cards. Signals "developer tool" rather than "consumer brand."
|
||
|
||
## Components
|
||
|
||
### Top Navigation
|
||
|
||
**`top-nav-dark`** — Default top nav. Background `{colors.canvas}`, text `{colors.body-strong}`, height 64px. Layout: Composio wordmark left, primary horizontal menu (Product / Toolkits / Docs / Pricing / Customers / Blog), GitHub stars + Sign In + "Get started" right.
|
||
|
||
### Buttons
|
||
|
||
**`button-primary`** — The signature Composio Blue CTA. Background `{colors.primary}`, text `{colors.on-primary}`, type `{typography.button}` (14px / 500), padding 10px × 18px, height 40px, rounded `{rounded.md}` (8px).
|
||
|
||
**`button-primary-active`** — Press state. Background `{colors.primary-active}`.
|
||
|
||
**`button-secondary-dark`** — Surface-elevated secondary. Background `{colors.surface-card-elevated}`, text `{colors.body-strong}`.
|
||
|
||
**`button-outline`** — Transparent with 1px hairline-strong border.
|
||
|
||
**`button-tertiary-text`** — Inline text link.
|
||
|
||
### Hero & Atmospheric
|
||
|
||
**`hero-band`** — Homepage hero. Background `{colors.canvas}`, full-width display headline in `{typography.display-mega}` (72px / 500), subhead, two CTAs, and a spotlight-glow backdrop emanating from behind the centered terminal-mockup grid.
|
||
|
||
**`terminal-mockup-grid`** — The brand's strongest visual signature. 2×2 grid of dark code/output panels inside a `{rounded.xl}` (16px) container. Background `{colors.canvas-deep}`, padding 32px, gap 16px.
|
||
|
||
**`terminal-pane`** — Individual code/output panel inside the mockup grid. Background `{colors.surface-card}`, text `{colors.body}` in `{typography.code}`, rounded `{rounded.lg}` (12px), padding 20px.
|
||
|
||
**`spotlight-glow-card`** — Large feature card with centered display headline and a radial blue glow behind it. Background `{colors.surface-card}`, text `{colors.body-strong}` in `{typography.display-md}`, rounded `{rounded.xl}`, padding 48px.
|
||
|
||
### Cards
|
||
|
||
**`feature-card`** — 3-up benefit grid. Background `{colors.surface-card}`, text `{colors.body}`, type `{typography.title-md}`, rounded `{rounded.xl}`, padding 28px.
|
||
|
||
**`toolkit-card`** — 4-up toolkit grid (Slack, GitHub, Stripe, Notion, Linear, etc.). Background `{colors.surface-card}`, text `{colors.body-strong}`, type `{typography.title-sm}`, rounded `{rounded.lg}`, padding 20px. 40px square `{component.toolkit-icon}` top, toolkit name, one-line description.
|
||
|
||
**`toolkit-icon`** — Square icon plate. Background `{colors.surface-card-elevated}`, rounded `{rounded.md}`, 40px size.
|
||
|
||
**`testimonial-card`** — Quote card. Background `{colors.surface-card}`, text `{colors.body}`, rounded `{rounded.lg}`, padding 24px.
|
||
|
||
### Code
|
||
|
||
**`code-block`** — Inline code/terminal block. Background `{colors.canvas-deep}`, text `{colors.body}` in `{typography.code}`, rounded `{rounded.lg}`, padding 20px.
|
||
|
||
### Forms
|
||
|
||
**`text-input`** — Background `{colors.surface-card}`, text `{colors.body-strong}`, rounded `{rounded.md}` (8px), padding 12px × 16px, height 44px.
|
||
|
||
**`search-input`** — Compact search field. Same surface and radius, smaller padding, 40px height.
|
||
|
||
### Tags & Badges
|
||
|
||
**`badge-pill`** — Small uppercase pill. Background `{colors.surface-card-elevated}`, text `{colors.body-strong}`, type `{typography.caption-uppercase}`, rounded `{rounded.pill}`, padding 4px × 10px.
|
||
|
||
### CTA / Footer
|
||
|
||
**`cta-band-spotlight`** — Pre-footer band. Background `{colors.canvas}` with centered radial spotlight glow. Display headline + single primary CTA pill. 96px padding.
|
||
|
||
**`footer-dark`** — Closing footer. Background `{colors.canvas}`, text `{colors.body}`. 5-column link list. 64×48px padding.
|
||
|
||
**`footer-link`** — Background transparent, text `{colors.body}`, type `{typography.body-sm}`.
|
||
|
||
## Do's and Don'ts
|
||
|
||
### Do
|
||
- Reserve `{colors.primary}` for primary CTAs, wordmark, and spotlight glows.
|
||
- Use `{rounded.md}` (8px) for every CTA — not full pills.
|
||
- Use brightness-step ladder for elevation; avoid drop shadows.
|
||
- Pair every hero with a centered radial blue spotlight glow.
|
||
- Render code, CLI commands in JetBrains Mono via `{typography.code}`.
|
||
- Use the 2×2 terminal-mockup grid as the homepage hero anchor.
|
||
|
||
### Don't
|
||
- Don't introduce a secondary brand color. Cyan and violet are illustrative-only.
|
||
- Don't use full pills on CTAs.
|
||
- Don't drop display weight to 400.
|
||
- Don't add drop shadow tiers.
|
||
- Don't use canvas-deep (#000000) outside terminal/code surfaces.
|
||
- Don't extract a CTA color from a third-party widget (cookie consent, OneTrust). The brand's CTA color is what appears on actual page CTAs.
|
||
|
||
## Responsive Behavior
|
||
|
||
### Breakpoints
|
||
|
||
| Name | Width | Key Changes |
|
||
|---|---|---|
|
||
| Mobile | < 640px | Hero h1 72→36px; terminal mockup grid collapses to single pane; toolkit grid 1-up; nav hamburger. |
|
||
| Tablet | 640–1024px | Hero h1 56px; terminal mockup grid stays 2×2; toolkit grid 2-up. |
|
||
| Desktop | 1024–1280px | Full hero h1 72px; full 2×2 terminal mockup; toolkit grid 4-up. |
|
||
| Wide | > 1280px | Content caps at 1200px. |
|
||
|
||
### Touch Targets
|
||
- Primary CTA at 40px height — at WCAG AA, padded for AAA.
|
||
- Search input at 40px.
|
||
|
||
### Collapsing Strategy
|
||
- Top nav switches to hamburger below 768px.
|
||
- Terminal mockup 2×2 grid collapses to a single pane on mobile.
|
||
- Toolkit grid: 4-up → 2-up → 1-up.
|
||
- Hero spotlight glow stays at every breakpoint.
|
||
|
||
## Iteration Guide
|
||
|
||
1. Focus on a single component at a time.
|
||
2. CTAs default to `{rounded.md}` (8px). Cards use `{rounded.lg}` or `{rounded.xl}`.
|
||
3. Variants live as separate entries inside `components:`.
|
||
4. Use `{token.refs}` everywhere — never inline hex.
|
||
5. Hover state never documented.
|
||
6. abcDiatype 500 for display, 400/600 for body. JetBrains Mono on every code surface.
|
||
7. Composio Blue stays scarce.
|
||
|
||
## Known Gaps
|
||
|
||
- abcDiatype is licensed; Inter is the substitute.
|
||
- Animation timings out of scope.
|
||
- In-product surfaces (toolkit dashboards, agent playground) are behind login walls.
|
||
- Form validation states beyond focus not visible on captured surfaces.
|