GithubX

Introduction

ascii is a shadcn/ui-style component library whose entire chrome is text: monospace type, borders drawn from characters, one grid for everything.

## what it is

The shadcn/ui components — buttons, dialogs, menus, tables, forms — rebuilt to look like they were typed into a terminal. No CSS borders, rounded corners or shadows: a frame is a row of +----+ above and below and a column of | down each side, drawn with real characters on the same grid as the text inside.

Behavior stays ordinary and accessible: every component wraps a Base UI primitive, so keyboard navigation, focus, portals and ARIA come for free. ascii only decides what it looks like.

## how it's built

one gridEverything is measured in characters and lines — ch across, lh down — so borders and text always line up.
frames are textBorders are strings or repeated glyphs clipped to width. They inherit color like text.
glyphs are a themeThe frame characters come from one context — swap + - | for = ‖ # or ~ ( ) and every component redraws.
palettesFourteen color schemes (seven dark, seven light), each an installable registry item on the usual shadcn tokens.
registryComponents and themes ship from a self-hosted shadcn registry. shadcn add copies the source into your project.

## what's inside

  • 60 components — the full shadcn/ui catalogue plus a few extras (Bubble, Marker, Message, Questionnaire, Attachment).
  • Frame primitives (AsciiBox, AsciiRule, AsciiSide…) for drawing your own panels on the grid.
  • Themes: palettes, any Google mono font and the glyph set — previewed on the styling page.