RepoPilot

Design system

Neo-brutalist tokens inspired by GitDiagram — hard shadows, purple surfaces, and monospace data UI.

Design philosophy

RepoPilot uses a GitDiagram-inspired neo-brutalist system: high-contrast borders, offset hard shadows, bold typography, and a purple-tinted marketing shell. The dashboard shifts to a calmer canvas layer for dense data views.

Token layers

LayerCSSUsed for
A — Brandtokens.css, public-site.css, landing.cssMarketing header, landing, browse, docs
B — App chromepage-layout.css, shell.css, nav-item.cssDashboard sidebar, page headers, forms
C — Canvasneo-panels.css, overview-bento.cssBento panels, KPI tiles, data tables

Semantic colors live in web/styles/tokens.css. Light and dark themes swap HSL values on [data-theme="light"] / [data-theme="dark"]. ThemeToggle persists preference to localStorage; until then the OS preference is followed. Surfaces use semantic tokens; ink on primary chips uses --color-on-primary for contrast in both modes.

Typography

  • Display — Cabinet Grotesk via --font-display
  • UI / body — General Sans via --font-sans
  • Technical — JetBrains Mono via --font-mono for inputs, tables, KPI labels
  • Scale--text-display, --text-h1, --text-h2, --text-body, --text-ui, --text-micro

Core components

ComponentLocationPurpose
Button / IconButtoncomponents/ui/Button.tsxPrimary actions, neo shadow hover
NavItemcomponents/ui/NavItem.tsxDashboard sidebar links with icons
AppShellcomponents/AppShell.tsxDashboard layout + mobile nav
PublicSiteHeadercomponents/ui/PublicSiteHeader.tsxMarketing nav + auth
BentoPanel / KpiTilecomponents/ui/Overview metric cards
MermaidDiagramcomponents/ui/MermaidDiagram.tsxArchitecture graph rendering
DocsLayoutcomponents/ui/DocsLayout.tsxDocumentation sidebar shell

Motion

Page transitions use Motion (motion/react) with reducedMotion: "user". Enter animations are defined in web/lib/motion.ts. Index progress uses a floating pill with animated percentage.

Accessibility

  • Focus rings via --focus-ring token
  • ARIA labels on site nav, mobile menu, and icon-only buttons
  • prefers-reduced-motion respected in CSS transitions
  • Semantic heading hierarchy on docs and dashboard pages