Skip to content
v0.20.1 โ€” React Aria ยท Tailwind ยท 5 Themes ยท 36 Components

A DOS design system

For interfaces that invite focus.

Amber on black

My dad's 286. Amber phosphor on not-quite-black. The soft sound of floppy disks. A blinking cursor.

I played Commander Keen and Space War. I wrote story games in Turbo Pascal. The machine didn't notify me, didn't scroll infinitely, didn't fight for my attention. It just waited โ€” ready when I was.

That's what eiDotter is for. Interfaces that feel like that cursor: present, patient, yours to command.

Your attention belongs to you.

v0.20 ยท Keyboard-native

A command palette built for the keyboard.

โŒ˜K from anywhere. Type a verb, hit return. The fastest path between intention and result.

Conversational primitives

Conversations in phosphor.

A chat surface that reads like a session log. Static-safe. No streaming framework required.

Timeline-native

Built for time, not feed.

Version milestones and devlog entries on the same primitive that powers Timeline OS. Zoom, drill down, select. Read the full devlog.

April 2026
v0.20.1 sweep on eidotter.com plus a Timeline vignette that now surfaces real devlog entries alongside the version milestones.
CmdPalette, DosFigure, InlineLink. The system you can fully drive without lifting your hands off the keyboard.
React Aria + Tailwind composition. cn() utility. Tree-shakeable bundles.
Chat primitives, Separator, InlineExpand. The library starts to talk back.
March 2026
Replaced media queries with container queries so components respond to their container width, not the viewport.
RetroEffects shipped: scanlines, glow, flicker. CRT mode opt-in via BaseLayout.
Shipped v0.13.0 with Card variants, Nav component, TimelineList, TimelineItem, and Breadcrumb.
All typography tokens now use rem units for WCAG SC 1.4.4 compliance with browser font-size preferences.
January 2026
First public release. Buttons, Card, Terminal, Input, Badge. Tokens pipeline live.
Shipped eidotter.com with component demos from Storybook, five CGA themes, and npm/GitHub links.
Added Nav, DesktopNav, and MobileNav with linkComponent prop for framework router integration.
Shipped TimelineList, TimelineItem, and TimelineNode for vertical chronological feeds.
Feedback patterns

Feedback that doesn't beg for attention.

Inline alerts for context. Notifications for what shouldn't be missed. Both stay out of the way.

BUILD COMPLETE
eidotter.com built in 2.4s ยท 12 routes ยท 0 warnings.
Data display

Data you can read at a glance.

One headline number. Three bars below it. The same stack you'd see on a sysadmin's monitoring shell.

Components shippedโ–’โ–ˆ+3 in v0.20
โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ50%
โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ50%
โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ78%
Theme System

5 CGA Themes

One CSS import swaps the entire palette. Each theme matches a real CGA hardware mode.

Quick Start

Install
# Install the package
npm install eidotter

# Import components
import { CmdPalette, Terminal, Button } from 'eidotter'
import 'eidotter/themes/amber-mono.css'

# Use in your app
<Button variant="primary">
  Execute
</Button>
1

Install via npm

Run npm install eidotter (or yarn, pnpm โ€” your call).

2

Pick a theme

Import one theme CSS file โ€” say, eidotter/themes/amber-mono.css โ€” and the phosphor look kicks in.

3

Use components

Import individual components. Tree-shakeable โ€” bundle only what you use.

4

Tailwind? Covered.

Use our preset: require('eidotter/tailwind') in your config.

Ready to Boot Up?

Build interfaces with intention. Open source, ready now.