Design System

[reference]

// REFERENCE

Design System

Color tokens, typography, spacing, and components. A reference for AI tools and developers building on Kommit's visual language.

The Kommit logo is a pixelated “K” made from rounded rectangles on a blue square. Available as SVG.

Kommit logo on dark
Kommit
On dark backgrounds
Kommit logo on light
Kommit
On light backgrounds

Mark: Pixelated “K” — 8 rounded rectangles (4 vertical bar + 2 upper arm + 2 lower arm) on a #2563EB square background.

Wordmark: “Kommit” in Geist Mono, font-weight 600, tracking -0.02em.

Clear space: Minimum 50% of mark width on all sides.

Minimum size: 16px (mark only), 80px (mark + wordmark).

Files: /logo-mark.svg (vector), /logo-mark.svg (512×512 vector).

Do not: Rotate, stretch, recolor, add drop shadows, or place on busy backgrounds without sufficient contrast.

Colors[02]

Surfaces

--ds-surface-app#FAFAFA
--ds-surface-card#FFFFFF
--ds-surface-elevated#FFFFFF
--ds-surface-subtlergba(0,0,0,0.02)
--ds-surface-mutedrgba(0,0,0,0.04)

Borders

--ds-border-subtlergba(0,0,0,0.06)
--ds-border-defaultrgba(0,0,0,0.10)
--ds-border-strongrgba(0,0,0,0.16)

Text

--ds-text-primary#000000
--ds-text-secondary#555555
--ds-text-muted#666666
--ds-text-disabled#AAAAAA

Brand & Status

--ds-primary#2563EB (blue)
--ds-primary-hover#1D4ED8 (blue (darker))
--ds-success#22C55E (green)
--ds-warning#F59E0B (amber)
--ds-destructive#EF4444 (red)
--ds-info#3B82F6 (blue)

Node Type Colors

Project#60A5FA
Target Audience#6EE7B7
Competitors#FDBA74
Tech Stack#C4B5FD
Features#F9A8D4
Assets#FDE047
Repository#94A3B8
Typography[03]
28pxPage headingDesign System
20pxSection headingTypography
17pxSubsectionFont Families
15pxLarge bodyA complete toolkit
14pxBody textPer-node AI conversations
13pxDefault UIManage all registered users.
12pxCaptionLast updated 3m ago
11pxLabelBEFORE
10pxTag/BadgePromoted

Font Families

Geist SansPrimary UI font — --font-geist-sans
Geist MonoHeadings, labels, UI chrome — --font-geist-mono
CaveatHandwriting accent (Google Fonts, landing page only)
Spacing[04]
4px
8px
12px
16px
20px
24px
32px
Border Radius[05]

// We don't use border radius.

All elements are sharp rectangles. border-radius: 0 is the default everywhere — inputs, buttons, cards, dialogs, dropdowns, and modals. The only exception is rounded-full for actual circles (avatar indicators, status dots).

If you find yourself reaching for rounded-md or rounded-lg, stop. The answer is no.

Shadows[06]

// We rarely use shadows.

The primary visual tools are borders and background tints. Shadows add softness and depth we deliberately don't want. Use border border-neutral-200 dark:border-neutral-800 to define containers. Use bg-neutral-50/50 dark:bg-white/[0.02] for subtle surface differentiation.

If a component absolutely needs a shadow (e.g. a floating dropdown or popover), keep it minimal: 0 2px 8px rgba(0,0,0,0.08).

Icons[07]
Librarylucide-react
Default size16px (size-4)
BackgroundsNo colored backgrounds on icons — ever.
FormatAlways SVG from Lucide. No emoji icons.
Design Principles[08]
01Brutalist precision

Sharp corners, no decoration, every element earns its space. If it doesn't serve the user it gets removed.

02Monospace-first

font-mono for all headings, labels, and UI chrome. Body text can use sans. The terminal aesthetic is intentional.

03Dark-first design

Design for dark mode first, then verify in light. Dark is the primary experience. Light must hold up too.

04Dense but breathable

Pack information tightly, but use whitespace strategically so nothing feels cramped. Density with intent.

05ASCII heritage

Terminal aesthetics, box-drawing characters, `//` comments as labels. We embrace the command-line lineage.

Anti-patterns[09]
×No rounded corners on any interactive element (inputs, buttons, cards, dialogs)
×No colored icon containers
×No gradient accent lines
×No hover:scale transforms
×No shadcn/ui Button/Input/Label on public pages — use native HTML with Tailwind
×No generic AI aesthetics — no blurry gradients, no floating orbs
Component Reference[10]

shadcn/ui components (Base UI adapter, not Radix). Import from @/components/ui/*. On public-facing pages use native HTML + Tailwind — do not import shadcn components into landing pages.

ComponentVariants
Buttondefault, outline, secondary, ghost, destructive, link
Badgedefault, secondary, outline, destructive
Carddefault
Inputdefault
Dialogdefault
Sheetdefault
Tooltipdefault
Dropdown Menudefault
Avatardefault
Separatordefault
Skeletondefault
Tabledefault
Sonner (toast)default