This file shows where TermUI is, what is in progress, and what comes next. Use it to find work that fits your skill level.
Full version with details: Roadmap wiki page.
TermUI ships a working core today:
- Layout engine with flexbox and constraint rules
- Differential renderer. Only changed cells redraw.
- JSX runtime and React-style hooks
- 14 packages, 600+ tests passing
- Theming, animations, routing, hot-reload dev server
- 40+ widgets and a headless test harness
| Wave | Focus | Status |
|---|---|---|
| Wave 1 | Core widgets | Merging now |
| Waves 2 to 4 | Capabilities, adapters, prompts, registry, templates | All assigned |
| Wave 5 | Coverage and polish | Open and claimable |
| Wave 6 | New widgets | Open and claimable |
| Wave 7 | Hooks and core depth | Open and claimable |
| Wave 8 | Subsystem depth | Open and claimable |
| Waves 9 to 10 | DX and differentiators | Planned |
Waves 5 to 8 are open right now with 55 unassigned issues across all skill levels. Browse open good first issues or the project board. Comment "I would like to work on this" to claim one. You hold at most 2 open issues at a time.
- Tests for untested code:
dev-serverandtestinghave zero tests;uihas 9 untested components;widgetshas 12. - Examples not built yet: forms-and-validation, multi-screen-router, ai-streaming, auth-flow, cli-wrapper-live.
- Docs: "Choosing your API" guide,
DEVELOPMENT.md, expanded thin READMEs.
DatePicker, TimePicker, ColorPicker, Slider, RangeInput, Autocomplete, SearchableSelect, TreeTable, MultilineTextInput, SegmentedControl, Carousel, ContextMenu.
useReducer, useLayoutEffect, useId, useImperativeHandle, Suspense, lazy(), Portal, clipboard read and paste, wide-character fallback.
- Store: middleware, persist, computed selectors, immutable helpers
- Motion: keyframes, custom easing, chained sequences, 2D vectors
- Router: lazy routes, guards, nested routes, query strings, param validation
- TSS: nesting, mixins, color functions, pseudo-class states, imports
- Data: WebSocket, REST client, caching, time-series history
Error overlay, theme hot reload, devtools inspector UI, snapshot testing, accessibility test queries, VS Code snippets, scaffold improvements.
Command palette v2, web serving, plugin architecture, full styling system, demo recording tool, interactive playground and gallery. Each starts as an RFC.
- Open the project board.
- Filter by difficulty label.
- Read the issue. Comment "I would like to work on this".
- Wait for assignment, then open your PR within 7 days.
You hold at most 2 open issues at a time. Open and merge a PR from one before you claim a third.
Found a gap not on this roadmap? Open a new issue. New ideas are welcome.