Hangar
Plan specs. Track dependencies. Run agents. Review changes. Ship.
What is Hangar?
Hangar is a visual control surface for Beads + OpenSpec workflows. Instead of managing specs and task graphs through CLI commands, you get a real-time dashboard that covers the full development lifecycle — from initial idea to shipped feature.
The interface is split into three zones:
- Left sidebar — Ready queue (unblocked tasks) and completed epics
- Main content — Switchable between Specs (browse/manage OpenSpec changes) and Tasks (dependency DAG)
- Bottom panel — Terminal, Review, Timeline, Stats
Everything updates live. When an agent closes a task in the terminal, the DAG redraws, the timeline gains an entry, and stats recalculate — no manual refresh needed.
Install
Prerequisites
| Requirement | Version | Notes |
|---|---|---|
| Python | 3.12+ | Runtime |
| Beads | latest | Installed automatically by the agent skill on first use |
| OpenSpec | latest | Installed automatically by the agent skill on first use |
You typically don't need to install Beads or OpenSpec yourself — the bundled agent skills guide Claude Code through installing and configuring them when you start your first workflow.
Quick Start
# Install from PyPI
pip install hangar-ide
# Or with uv
uv tool install hangar-ide
# Or with pipx
pipx install hangar-ide
Then navigate to your project and run:
cd ~/projects/my-app
hangar
Initialize a new project
Open your browser to http://localhost:8000 and use hangar's included terminal to start your agent
Try a simple prompt to get a feel
create a web based snake game. use openspec and beads.
Check out the specs as they are generated
Check out the tasks and how they depend on each other
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | SvelteKit (Svelte 5) |
| Terminal | xterm.js with fit + web-links addons |
| Backend | FastAPI (Python 3.12) |
| PTY | Python pty + asyncio for terminal sessions |
| File Watcher | watchfiles (Rust notify crate) |
| Graph Layout | ELK.js |
| Task Management | Beads (bd CLI) |
| Spec Management | OpenSpec |
| Package Manager | uv (Python), npm (Node) |
| Testing | pytest (~260 tests), vitest (57 tests), svelte-check |
Known Limitations
- Single-user — Designed for single-developer use. No authentication or concurrent access handling.
- No rate limiting — For local development this is fine; for shared deployments, add a reverse proxy.
License
MIT
Metadata
Release files for hangar-ide 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hangar_ide-0.1.4.tar.gz | 713.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hangar_ide-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.4 MB
Release files / hangar_ide-0.1.4.tar.gz
| Download URL | hangar_ide-0.1.4.tar.gz |
|---|---|
| Size | 713.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
98a1133de7a08850624acd499e4da19b81822fbe456e4482852261ebdb518d42
|
|
BLAKE2b-256 checksum How to use checksums |
1260694906110b8162cd55d0fea23b470580f2ab5125324e9ab80a53dcb3df7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.
Transparency logRelease files / hangar_ide-0.1.4-py3-none-any.whl
| Download URL | hangar_ide-0.1.4-py3-none-any.whl |
|---|---|
| Size | 679.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d7990a17da4eab259ee4b1adb1c4042c45d2841125835216939a803a9df12d41
|
|
BLAKE2b-256 checksum How to use checksums |
01d6981f6b00e6f79c07fb7ce072635d018ffe158dcdc20fcab24c0b2ce8c845
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.
Transparency log