An unofficial, community-built interactive TUI for visualizing and managing OpenSpec changes and specs. Not affiliated with Fission-AI/OpenSpec.
Project description
openspec-ui
Unofficial.
openspec-uiis a community-built tool and is not affiliated with, endorsed by, or sponsored by Fission-AI/OpenSpec. It consumes theopenspecCLI over subprocess as a third-party client.
An interactive, keyboard-driven terminal UI for visualizing and managing your OpenSpec changes and specs.
openspec view dumps a static dashboard and exits. openspec-ui is the
interactive version: browse changes and specs, glance at progress, see a kanban
pipeline of your changes, open artifacts, edit them in $EDITOR, and create new
changes — all from one terminal command.
Install & run
uvx openspec-ui
Run it from inside any directory containing an openspec/ root (or a
subdirectory of one). Requires the openspec CLI on PATH.
Requires Python 3.10+ and Textual 1.0 or newer (installed automatically).
What it does
- Dashboard — an aligned table of changes (stage, name, progress, tasks, last modified) over headline counts of specs and of changes per stage. Specs are listed with their requirement counts.
- Kanban — a pipeline view of changes by stage, each column and card carrying that stage's colour, for at-a-glance status.
- Change detail — renders a change's artifacts (
proposal.md,design.md,specs/**) as scrollable markdown with a navigable table of contents; ASCII diagrams and code blocks stay aligned in monospace. When an artifact resolves to several files, each gets its own tab. - Tasks — a change's
tasks.mdrendered as its checklist, one section per heading with a done/total count. Read-only; edits go through$EDITOR. - Spec browser — open a spec to read its overview and requirements, each expandable to reveal its scenarios.
- Filter — press
/to narrow the changes and specs by name. - Edit — press
eto open the current artifact in$EDITOR; the view reloads from disk when the editor exits. - New change — press
nto create a change viaopenspec new change. - Command palette —
Ctrl+Pfor fuzzy-searchable actions, including jumping straight to any change or spec by name, and switching theme. - Live refresh — open views re-read from disk as things change on disk;
press
pto pause.
Press ? at any time for the key bindings available on the current screen.
Screenshots
Screenshots show an example project, not this repository.
Dashboard — changes in an aligned table with stage, progress and task counts, over headline counts per stage.
Kanban — k. Every column heading and card border carries its stage's
colour, so the shape of the pipeline reads before any of the text does.
Change detail — enter on a change. Artifacts render as scrollable
markdown with a table of contents; code blocks and ASCII diagrams keep their
monospace alignment.
Tasks — the tasks.md checklist, one section per heading with its
done/total count. Finished sections start collapsed so the eye lands on what is
left. Read-only: edits go through $EDITOR.
Spec browser — enter on a spec. Requirements expand to reveal their
scenarios, which is the only way a spec with thirty of them stays readable.
Command palette — Ctrl+P. Fuzzy-matched actions, plus every change and
spec by name.
Filter — /. Narrows the changes and specs by name; escape clears it.
Light theme — all colour comes from the active Textual theme, so it follows your terminal.
Contributing
This project follows the OpenSpec spec-driven workflow (openspec/).
Git history uses Conventional Commits and conventional branch names:
- Branches:
feat/<scope>,fix/<scope>,refactor/<scope>,chore/<scope>, … - Commits:
feat:,fix:,docs:,refactor:,chore:, … (with a scope when helpful, e.g.feat: add kanban view). - Never commit directly to
main. Work on a dedicated branch and open a pull request with the GitHub CLI (gh pr create), referencing the OpenSpec change name in the PR description.
For changes managed through OpenSpec, see openspec/config.yaml for the
project context and per-operation guidance that the openspec skills follow.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openspec_ui-0.5.0.tar.gz.
File metadata
- Download URL: openspec_ui-0.5.0.tar.gz
- Upload date:
- Size: 688.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d5d7a8a93683f34de5b4c4bf9187ead5982045dbd4f0c500990d561145b1fee
|
|
| MD5 |
beb5777ad01a32c94076753ce71eed45
|
|
| BLAKE2b-256 |
c3008bb3a6889c1da673ab89efdfab4dc93008a215edd8037f1d1bed31921a96
|
File details
Details for the file openspec_ui-0.5.0-py3-none-any.whl.
File metadata
- Download URL: openspec_ui-0.5.0-py3-none-any.whl
- Upload date:
- Size: 37.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
744c00777f6d2b69eac896bc03441d80bf87c583349cfd21b7883d36cda6c301
|
|
| MD5 |
5f75c1df529567f50d0d2586ce56b6d1
|
|
| BLAKE2b-256 |
be4ab2e99a9d01c752519ccefaa7baaf1bde839b28b905dc24d255e22b78df11
|