Skip to main content

Universal spec-driven development dashboard

Project description

spec-view

A dashboard for spec-driven development. Terminal and web UI for tracking specs, tasks, and progress across your project.

Works with spec-kit, Kiro, OpenSpec, Ralph Wiggum, and plain markdown — auto-detected, zero config.

pip install spec-view
spec-view

That's it. Point it at a project with markdown specs and you get a live dashboard.

Why

AI coding tools are converging on spec-driven workflows — requirements, design, and tasks as markdown files. But none of them ship a good way to see what's happening across all your specs at once.

spec-kit has no monitoring. Kiro locks you into their IDE. OpenSpec is just files.

spec-view reads all of them and gives you a single view of progress.

Quick Start

spec-view init       # Scaffold a specs/ directory with examples
spec-view            # Launch TUI dashboard
spec-view serve      # Start web dashboard at localhost:8080
spec-view watch      # TUI with live file watching
spec-view list       # Simple text table of specs + status
spec-view validate   # Check specs for format issues

What It Reads

Put specs in specs/ (or configure any path):

specs/
├── auth-system/
│   ├── spec.md       # Requirements + acceptance criteria
│   ├── design.md     # Technical design
│   └── tasks.md      # Implementation tasks
└── payment-flow/
    ├── spec.md
    └── tasks.md

Each file supports optional YAML frontmatter:

---
title: User Authentication
status: in-progress
priority: high
tags: [auth, backend]
---

## Requirements
- [ ] OAuth2 provider integration
- [x] JWT token generation

No frontmatter? That's fine — spec-view infers title from the first heading and treats everything as draft.

Format-Aware Parsing

spec-view auto-detects which tool produced your files:

Format How it's detected What's extracted
spec-kit ## Phase N: + T001 task IDs Phases, task IDs, parallel markers, story refs, checkpoints
Kiro .kiro/ in file path Indentation-based subtask trees
OpenSpec ## 1. numbered sections Section structure
Ralph Wiggum IMPLEMENTATION_PLAN.md at project root (auto-detected) Per-JTBD sections with status, tasks, progress
Generic Fallback Checkbox tasks with subtask hierarchy

Ralph Wiggum Loop Support

spec-view is built to work with the Ralph Wiggum loop — an iterative, autonomous spec-driven development workflow. The loop writes specs as requirements, tracks tasks in an IMPLEMENTATION_PLAN.md, and iterates with fresh context windows.

spec-view automatically detects IMPLEMENTATION_PLAN.md at the project root — no configuration needed. Loop progress is visible in the dashboard immediately, and the live watcher updates it in real time as each iteration completes.

spec-kit Support

spec-kit generates structured task files but has zero monitoring — no watch, no status dashboard, no progress view. spec-view fills that gap.

A spec-kit tasks.md:

## Phase 1: Setup
- [x] T001 [P] Configure project structure
- [x] T002 [P] Set up testing framework
- [x] T003 Install dependencies

**Checkpoint**: Foundation ready

## Phase 2: US1 - Login Flow
- [x] T004 [P] [US1] Create User model
- [ ] T005 [US1] Implement JWT validation
- [ ] T006 [P] [US1] Create login form

In the TUI:

Phase 1: Setup ✓ (3/3)
  ✓ T001 ⇄ Configure project structure
  ✓ T002 ⇄ Set up testing framework
  ✓ T003 Install dependencies
  ⏸ Checkpoint: Foundation ready

Phase 2: US1 - Login Flow (1/3)
  ✓ T004 ⇄ [US1] Create User model
  ○ T005 [US1] Implement JWT validation
  ○ T006 ⇄ [US1] Create login form

The web UI shows the same structure with collapsible phases, progress bars, and colored story tags.

Dashboard Sections

Both UIs organize specs into collapsible sections:

  • Active — ungrouped items
  • Specs — spec files from your spec_paths directories
  • Implementation Plan — per-JTBD sections parsed from IMPLEMENTATION_PLAN.md
  • Archive — completed specs and plan sections, sub-grouped by source

There's also a History view showing recent git commits with loop iteration detection and completed task extraction.

Live Updates

Both dashboards watch for file changes. Check off a task in your editor — the dashboard updates within a second.

Running in a Dev Container

Sandboxed environment for running claude --dangerously-skip-permissions. The container can only access this repo — no home directory, SSH keys, or other repos. Git push is scoped via a fine-grained GitHub token.

# Prerequisites
colima start                          # or Docker Desktop
npm install -g @devcontainers/cli

# Setup (one time)
cp .devcontainer/.env.example .devcontainer/.env
# Edit .devcontainer/.env with your GitHub token + git identity

# Build container
devcontainer up --workspace-folder .

# First time: login to Claude inside the container
devcontainer exec --workspace-folder . claude  # then /login

# Run the Wiggum loop
./run-container.sh ./loop.sh

# Run any command
./run-container.sh .venv/bin/pytest

Configuration

Optional .spec-view/config.yaml:

spec_paths:
  - specs/
  - docs/specs/
include:
  - "**/*.spec.md"
exclude:
  - "**/node_modules/**"
serve:
  port: 8080

License

MIT

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

spec_view-0.5.2.tar.gz (196.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spec_view-0.5.2-py3-none-any.whl (65.0 kB view details)

Uploaded Python 3

File details

Details for the file spec_view-0.5.2.tar.gz.

File metadata

  • Download URL: spec_view-0.5.2.tar.gz
  • Upload date:
  • Size: 196.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for spec_view-0.5.2.tar.gz
Algorithm Hash digest
SHA256 89f1b7c70fa92937776f31e343296f5a0e1b2556b7fcde29952a0799f269e16c
MD5 457a542c0c83e5f553f1767bde6b3cd5
BLAKE2b-256 0b3701bfe7a6c79271beb409029929b8a6e125ea98bd14fdd690ec3180f3c4a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for spec_view-0.5.2.tar.gz:

Publisher: release.yml on hjer/visual-wiggum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file spec_view-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: spec_view-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 65.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for spec_view-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 47dcfbab949400d290ad6af368e82277d0f0382d1251464533728aea5a9437ec
MD5 4348cd070c3c08e3553e28753b8304e5
BLAKE2b-256 331ff7a1e3ed97aa546892fed7c932d6371e0b0dacce816b761bd62a5ea25786

See more details on using hashes here.

Provenance

The following attestation bundles were made for spec_view-0.5.2-py3-none-any.whl:

Publisher: release.yml on hjer/visual-wiggum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page