Build terminal apps that run in the browser (and the terminal) with React. The Gridland website is built with Gridland.
Gridland is built on the OpenTUI rendering engine.
Create a new project:
bunx create-gridland my-appNote: Terminal apps require Bun to run in development. However, you can compile to a standalone binary that requires no runtime at all — users don't need Bun, Node, or npm installed.
Run interactive demos in your terminal:
bunx @gridland/demo landing
bunx @gridland/demo gradient
bunx @gridland/demo chatbun add @gridland/web// vite.config.ts
import { gridlandWebPlugin } from "@gridland/web/vite-plugin";
export default defineConfig({
plugins: [gridlandWebPlugin()],
});bun add @gridland/web// next.config.ts
import { withGridland } from "@gridland/web/next-plugin";
export default withGridland({});UI components are distributed via a shadcn registry. Install them individually so you own the code:
bunx shadcn@latest add @gridland/chat
bunx shadcn@latest add @gridland/spinner
bunx shadcn@latest add @gridland/tableRun any app in an isolated Docker container:
bunx @gridland/container @gridland/demo -- landingSupports npm packages, GitHub repos, and local directories as sources.
Build a standalone executable with no runtime required:
bun build --compile src/cli.tsx --outfile my-app| Package | Description |
|---|---|
@gridland/web |
Core canvas renderer and React integration |
@gridland/utils |
Portable hooks (useKeyboard, useTerminalDimensions) |
@gridland/bun |
Bun-native runtime for CLI apps |
@gridland/ui |
Pre-built UI components via shadcn registry |
@gridland/testing |
Test utilities for TUI components |
@gridland/demo |
Interactive demo runner |
@gridland/container |
Docker sandbox runner |
Full docs at gridland.io/docs
Made with ❤️ by Chris Roth and Jessica Cheng
