Build terminal applications in TypeScript, from a small CLI to a full-screen workbench.
Read the teaching book · Design Archive · Read the complete Bijou documentation book
DOGFOOD is built with Bijou: a component explorer, live documentation, and a place to try layouts and themes. These are real Ghostty screenshots; see Theme Lab and settings.
Use Node.js 22.12 or newer and npm, then run the application shown above:
git clone https://github.com/flyingrobots/bijou.git
cd bijou
npm ci
npm run build
npm run dogfoodPress Enter at the title screen. Explore with the arrow keys and Tab, open settings with F2, and quit with q or Ctrl-C.
For a smaller first example, run npm run hello or npm run counter.
Create a starter project with the published scaffolder:
npm create bijou-tui-app@latest my-app
cd my-app
npm install
npm run devFollow the Job Monitor tutorial to build, test, and ship a complete application alongside the teaching book. For a tiny app and package guidance, see Build your first Bijou app.
- Components: prompts, forms, tables, trees, charts, and reusable Blocks.
- Application layouts: panes, tabs, drawers, overlays, and command palettes.
- Typed application state: model, update, and view, with commands for effects.
- Motion and typography: springs, transitions, gradients, and raster fonts.
- Themes and localization: semantic colour tokens, dark and light themes, and translation tooling.
- Output for different environments: interactive terminals, pipes, and accessible text.
Configurable Markdown fonts, an animated DOGFOOD title, book-inspired dark and light themes, broader theme overrides, and corrected NO_COLOR behaviour. Try the typography demo with:
npm run markdown-font -- examples/markdown-font/sample.md --configureSee the changelog for release details and compatibility changes.
Documentation · Application guide · Contributor guide · Issues · License

