Raycastfor the terminal.

The fastest way to build terminal apps. React components, Raycast-compatible API, compile to a single binary. Already have a Raycast extension? Port it.

Powered by
React
Bun
TypeScript
esbuild
Raycast
SQLite
React Query
React Hook Form
React
Bun
TypeScript
esbuild
Raycast
SQLite
React Query
React Hook Form
Learn more

lists · search

Searchable lists with sections, accessories, detail panels, and full keyboard navigation. Built-in fuzzy search, dropdown filters, pagination, and action shortcuts.

Termcast list with sections, search, and graph detail panel

forms · inputs

Text fields, dropdowns, checkboxes, tag pickers, date pickers, file pickers. Tab to navigate, ctrl+enter to submit. Validation with react-hook-form.

Termcast form with text fields, password, checkboxes, and dropdowns

graphs · charts

Line charts rendered with braille characters at 2x4 sub-pixel resolution per cell. Stacked bar charts, multiple series, color themes. All inside terminal cells.

Termcast bar chart and line graph with colored segments and metadata

heatmaps · data

Calendar heatmaps, progress bars, tables, and data visualization components. GitHub-style contribution grids with customizable color palettes and date ranges.

Termcast calendar heatmap with purple color gradients and month labels

familiar API. zero learning curve.

Same components as Raycast -- List, Form, Detail, ActionPanel. Import from termcast instead of @raycast/api.

deploy-tool.tsx
1import { List, Action, ActionPanel } from 'termcast'
2
3function DeployTool() {
4 return (
5 <List>
6 <List.Section title="Production">
7 <List.Item
8 title="Deploy v2.4.1"
9 subtitle="us-east-1"
10 accessories={[{ tag: { value: "ready", color: Color.Green } }]}
11 actions={
12 <ActionPanel>
13 <Action title="Deploy" onAction={() => deploy()} />
14 <Action title="View Logs" onAction={() => viewLogs()} />
15 </ActionPanel>
16 }
17 />
18 </List.Section>
19 </List>
20 )
21}

why termcast?

Raycast-compatible

Same List, Form, Detail, ActionPanel components. Port existing Raycast extensions or start fresh -- either way, the API is the same.

AI-friendly API

The Raycast API has thousands of open-source extensions. LLMs and coding agents already know it. They can generate termcast code out of the box.

Single binary

termcast compile produces one portable executable. termcast release publishes to GitHub Releases for macOS, Linux, and Windows.

Cross-platform

Raycast is macOS-only. Termcast runs on Linux, Docker, CI, remote servers -- anywhere with a terminal.

Built on OpenTUI

Terminal rendering powered by OpenTUI -- a layout engine with Yoga flexbox, braille graphics, and sub-pixel resolution.

Terminal-native

Things Raycast can't do: read CWD, accept stdin, parse CLI args, access env vars. Your TUI integrates with terminal workflows.

start building.

New project or existing Raycast extension -- up and running in seconds:
$ termcast new my-tool
$ cd my-tool && termcast dev