npm.io
14.0.1 • Published 2 weeks ago

openspecui

Licence
—
Version
14.0.1
Deps
0
Vulns
0
Weekly
0
Stars
125

OpenSpecUI

A visual interface for OpenSpec — the visual projection and operator for spec-driven development with AI agents.

OpenSpecUI 14 gives OpenSpec projects a reactive dashboard, an objective change workflow, a config workbench, real terminals, and static export — while the OpenSpec CLI stays the source of truth for every workflow fact.

Requirements

  • OpenSpec CLI: >=1.14.0 <1.15.0 — the stable 1.14 line is current and recommended (single-series window). Older lines (including the 1.13.x OpenSpecUI 13 window), prereleases, and >=1.15.0 are blocked by default.
  • Node.js: >= 20.19.0
npm install -g @fission-ai/openspec@1.14

Quick start

# Recommended: run without a global install
npx openspecui@latest
bunx openspecui@latest

# Optional: install globally
npm install -g openspecui
openspecui

The bare command is an alias for serve. It starts the project backend; if a local App daemon is already running, the project is attached to its Workspaces. Otherwise an interactive terminal asks Start OpenSpecUI App? [Y/n], and non-interactive execution opens Direct Project Web at http://localhost:3100.

Three surfaces

Native App — a user-level App daemon hosts the bundled same-version App shell in a retained OpenTray window with a tray icon. Workspaces keep multiple projects in one place (favorites, recents, a task manager for running backends) alongside environment-scoped Stores.

openspecui start        # start/activate the App daemon (native OpenTray host)
openspecui start --web  # same daemon, Browser host instead
openspecui stop
openspecui restart

Direct Web — one explicit browser surface for the current project, no daemon required.

openspecui --web

Static export — a deployable snapshot for docs hosting or offline review; search keeps working from a worker index, no backend needed.

openspecui export -o ./dist
openspecui export -o ./dist --base-path /docs --clean

Command reference

Command Description
openspecui [project-dir] Serve a project (alias of serve [project-dir])
openspecui serve [project-dir] Start the project backend and own its Server
openspecui --app Ensure the App daemon is running and attach the project as a Workspace
openspecui --web Open Direct Project Web; also attach when a daemon is already running
openspecui --no-open No prompt, no daemon start, no Workspace registration, no browser
openspecui --auth Generate a 256-bit Bearer credential for the whole access gate
openspecui --password <secret> Use an operator secret instead of a generated credential
openspecui --port <port> Project web port (default 3100)
openspecui start / stop / restart [--web] Manage only the user-level App daemon, never project Servers
openspecui export -o <dir> Static export; -f html|json, --base-path, --clean, --open, --references include|omit
openspecui --otel --otel-endpoint <url> Backend OpenTelemetry tracing

URL-valued App mode is not supported: the daemon always serves the App shell bundled with the same CLI release.

What's inside

  • OPSX change workflow — kanban lanes over tracked task phases with Continue / Fast-forward / Apply / Verify / Archive operators driven by live CLI evidence; admitted sessions load the whole change status list in one status --all spawn
  • Change evidence — MODIFIED deltas can present the CLI's own requirement diff and warning evidence (show --diff) beside the local delta projection, validation findings reports (validate --report findings) with informational merge-conflict findings, status advisory warnings as a collapsed direct-plane summary row, Apply task sourcePath/line source locations, spec requirement/scenario names from show --type spec, and per-entry archived inventory facts from list --archived/--all
  • Dashboard — active changes with CLI-owned applying progress and a curated Code Git snapshot
  • Config workbench — route-backed owners for project binding, active root, environment globals, and schemas, plus an adaptive setup guide and init --language on the admitted CLI line
  • Agent delivery — the CLI-owned registry projects per-version agent commands and skills across fifty tools on the 1.14 series, including the ten 1.14 additions (amp and gsd on the shared .agents skills root, IBM Bob, and more), SourceCraft Code Assistant (from 1.12, .codeassistant), Zed, and the Antigravity .agent → .agents migration
  • Terminals — multi-tab PTY sessions (xterm and ghostty-web) with direct agent send
  • Git view — commits, patches, and worktrees with explicit code/planning scope
  • Search — reactive in live mode, worker-backed in static exports
  • Reactive kernel — native file watching with push-notify / pull-refresh projections

Project hooks

Project-local hooks live in openspec/openspecui.hooks.ts, outside persisted UI config. Types ship with this package:

import type { OnReadDocumentHookV1, OnRunWorkflowHookV2 } from 'openspecui/hooks'

export const onReadDocument: OnReadDocumentHookV1 = async (ctx, read) => {
  const result = await read()
  if (ctx.document.kind !== 'spec') return result
  return { ...result, watchFiles: ['openspec/glossary.md'] }
}

export const onRunWorkflow: OnRunWorkflowHookV2 = async (ctx, run) => {
  const result = await run()
  if (result.kind !== 'agent-prompt') return result
  return { ...result, text: `${result.text}\n\nPlanning root: ${ctx.target.planningRoot.path}` }
}

See the repository README for the full hook contract.

MIT License — see the repository for details.