*p5.brush
p5.js 환경에서 자연스러운 텍스처를 탐구하는 아티스트·디자이너·취미자를 위한 다목적 라이브러리
VSCode/Cursor 확장으로 OpenSpec 대시보드를 시각화해 편집기 안에서 사양 관리·스펙 확인·작업 추적을 쉽게 할 수 있다
A VSCode/Cursor extension that provides a visual dashboard for OpenSpec, making it easier to manage changes, view specs, and track tasks without leaving your editor.
플러그인TypeScript · JavaScriptGitHub @RandyZ직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A focused, project-first dashboard for OpenSpec changes, specs, and safe workflow actions in VS Code and Cursor.
OpenSpec brings change planning and execution into the editor. Review what needs attention, inspect specs and artifacts, and take the next workflow step without losing context.README 전문 보기 ↗Project-first OpenSpec workbench for VS Code and Cursor: see the next step, hand Verify/Apply to the IDE Agent, and archive safely.
English | 简体中文
OpenSpec Workflow is a project-first workbench for the OpenSpec change lifecycle—not a CodeLens companion that only stuffs context into Chat.
Requires OpenSpec CLI. Published registry versions may trail the in-repo release until publish completes; see CHANGELOG.md for the latest version.
/opsx-* commands; high-impact archive actions stay confirmation-protected.openspec.cliPath fallback.The sidebar keeps project navigation and the next recommended workflow actions in one compact surface. The screenshot uses a public demo workspace and contains no private paths, credentials, or runtime logs.
The detail view keeps artifacts, task progress, and workflow actions together. Verify and Archive remain separate from ordinary task execution so the safe route is explicit.
randysss / OpenSpec Workflow is being prepared; it is not live on marketplace.visualstudio.com yet. Until then, use Open VSX or install from a packaged .vsix (see docs/PUBLISHING.md).openspec/config.yaml. The extension activates when it finds an OpenSpec workspace.If Cursor or VS Code cannot see the CLI that works in your terminal, set openspec.cliPath to the absolute executable path, for example /opt/homebrew/bin/openspec or /usr/local/bin/openspec.
openspec/config.yaml.In Cursor, workflow buttons default to Launch with adapter (recommended) — they open Chat or Cursor with the /opsx:* command prefilled. Choose Copy command only (safe) in openspec.workflowLaunchMode when you only want clipboard copy. In VS Code, copy-only remains the default unless you explicitly choose adapter mode.
Review & Archive is the recommended Agent-assisted path. Archive Now is a direct CLI path that requires explicit confirmation and is available only when the workflow is complete.
Stores and Worksets require OpenSpec CLI 1.5.0 or newer.
A Store is a writable planning Root for Changes and Specs. Use the Root controls to select or create one; the extension switches the binding only after CLI validation. Store Git operations remain your responsibility.
A Workset is a machine-local named group of folders. From Worksets, you can view Projects and Stores, switch the sidebar Project or planning Root, open every member as a complete workspace, and create a group.
A row opens only its detail view, not a new editor window. A Project member switches the sidebar, a Store member becomes the planning Root, and Open all opens the complete workspace.
Create Workset starts with the current Project and adds folders through the native folder picker. A one-time opener override does not change the saved opener.
Open Command Palette (Cmd+Shift+P / Ctrl+Shift+P):
| Command | Description |
|---|---|
| OpenSpec: Open Dashboard | Open visual dashboard (sidebar or editor) |
| OpenSpec: Refresh Data | Manually refresh from CLI |
| OpenSpec: Create New Change | Create new change (with validation) |
| OpenSpec: Archive Change | Archive completed change |
Cmd+Shift+P (Mac) / Ctrl+Shift+P (Windows/Linux): Command Palette — then type "OpenSpec" to run any command.| Setting | Default | Description |
|---|---|---|
openspec.focusSidebarViewWhenOpeningChangeDetail | false | Focus OpenSpec sidebar when opening change detail |
openspec.focusSidebarViewWhenOpeningDashboard | false | Focus OpenSpec sidebar when opening dashboard |
openspec.cliPath | "" | Optional absolute path to OpenSpec CLI; empty = auto-detect from PATH and login shell |
openspec.taskExecutionMode | fillChat | When clicking task execute: auto = run via adapter; fillChat = fill chat or copy to clipboard |
openspec.workflowLaunchMode | clipboard (VS Code) / smart launch in Cursor | Launch with adapter (recommended) or Copy command only (safe). In Cursor with unset settings, defaults to launch mode. |
openspec.preferredAgentAdapter | clipboard (VS Code) / cursor in Cursor launch mode | Preferred agent executor when launch mode is adapter: clipboard, cursor, vscode-copilot, claude-code, or opencode |
openspec.agentAutoSubmit | readOnly | Auto-send in Cursor Agent panel: never, readOnly (explore/verify only), or always (composer layer only) |
openspec.cursorLaunchMode | clipboard (stored default) / agentPanel in Cursor launch mode | agentPanel (IDE Agent with fallback), clipboard, or explicit agentCli (may modify workspace files) |
openspec.taskDependencyPolicy | block | When preceding tasks are incomplete: block = prevent execution; warn = show warning and allow proceed |
openspec.cursorAgentModel | auto | Cursor Agent CLI model for explicit Agent CLI execution. Use or a specific model name |
Task execution & Adapters
clipboard): Always available. Select Copy command only (safe) when you only want /opsx:* commands copied.cursor): In Cursor, defaults to the Agent panel (agentPanel) with runtime fallback (composer → chat → deeplink → clipboard). agentCli is opt-in and may modify workspace files.opencode): Uses /opsx-<action> command format when routed through the adapter.View > Output or Cmd+Shift+Uopenspec/config.yaml). The extension only activates in OpenSpec workspaces.openspec.cliPath, Open Settings to set the CLI path, and Copy Diagnostics when reporting an issue. The copied diagnostic omits full PATH values, home directory paths, and secrets..cmd or shim launch failures: If the diagnostic mentions spawn-failed or ENOENT, set openspec.cliPath to the absolute OpenSpec executable or shim path, then click Retry.openspec.cliPath.Extension Host (Node.js) Webview (React)
├── DataManager ├── Dashboard
│ ├── OpenSpecCliService ├── Change detail
│ ├── FileManagerService └── Shared UI components
│ └── FileWatcherService
├── CommandManager
└── DashboardProvider
Design Decisions:
child_processSee docs/ARCHITECTURE.md for details.
npm install -g pnpm)# Clone and install
git clone <repo-url>
cd openspce-ui
pnpm install
# Build
pnpm run compile # One-time build
pnpm run watch # Watch mode
# Debug
# Press F5 in VSCode to launch Extension Development Host
0.2.5 is prepared in-repo (A+B track); 0.2.4 was the prior formal release. Registry publish (Open VSX / VS Code Marketplace) follows merge and tag — see docs/PUBLISHING.md for publisher setup, tokens, and release steps.
openspce-ui/
├── src/
│ ├── extension/ # Extension host (Node.js)
│ │ ├── services/ # CLI, FileManager, DataManager
│ │ ├── commands/ # Command handlers
│ │ ├── providers/ # Webview providers
│ │ └── utils/ # Logger, helpers
│ └── webview/ # React app
├── openspec/ # OpenSpec workspace
│ ├── changes/
│ │ └── vscode-extension-mvp/ # This project
│ ├── specs/
│ └── config.yaml
├── .vscode/
│ ├── launch.json # Debug config
│ └── tasks.json # Build tasks
├── esbuild.js # Extension bundler
├── vite.config.ts # Webview bundler
└── package.json
pnpm run compile # Build extension + webview once
pnpm run watch # Watch extension changes
pnpm run build # Same as compile (extension + webview)
pnpm test # Run unit tests (Vitest)
| Layer | Technology |
|---|---|
| Backend | TypeScript, Node.js, VSCode API |
| Frontend | React 19, Tailwind CSS, Radix UI |
| Build | esbuild (extension), Vite (webview) |
| Tools | pnpm, ESLint, Prettier |
Current: v0.2.3 — P0 usability release (CLI recovery, smart launch defaults, task Next/Copy actions).
See CHANGELOG.md for release history. Historical MVP planning artifacts live under openspec/changes/archive/2026-02-11-vscode-extension-mvp/.
Extension doesn’t activate
Ensure the workspace root contains openspec/config.yaml. Check Output → Extension Host.
Dashboard or webview blank
Run pnpm run build and ensure dist/webview/ exists. In Extension Development Host, use "Developer: Toggle Developer Tools" and check the webview iframe console.
OpenSpec CLI not found
Install OpenSpec CLI and ensure openspec is on PATH in the environment where VSCode is launched.
CLI diagnostic card shown in Dashboard
When the OpenSpec CLI cannot be launched from the VS Code/Cursor Extension Host, the Dashboard shows a diagnostic card with safe details and recovery actions. Use Retry after fixing PATH or openspec.cliPath, Open Settings to set the CLI path, and Copy Diagnostics when reporting an issue. The copied diagnostic omits full PATH values, home directory paths, and secrets.
Windows .cmd or shim launch failures
If the diagnostic mentions spawn-failed or ENOENT, set openspec.cliPath to the absolute OpenSpec executable or shim path, then click Retry.
Tasks don’t update on disk
Ensure the workspace has write access to openspec/changes/<name>/tasks.md. Check Output → OpenSpec for errors.
Build or test failures
rm -rf dist node_modules && pnpm install && pnpm run build && pnpm test
| Document | Description |
|---|---|
| docs/ARCHITECTURE.md | High-level architecture |
| CHANGELOG.md | Release history |
| docs/PUBLISHING.md | Package and publish to Open VSX / VS Marketplace |
| docs/USER_GUIDE.md | End-user guide |
Contributions welcome. Open an issue or pull request on GitHub.
To contribute:
pnpm install, pnpm run build, and pnpm test before submittingMIT — see LICENSE
Version: 0.2.5
Last Updated: 2026-10
Status: 🟡 0.2.5 prepared in-repo; tag and registry publish are follow-up after merge
autoopenspec.agentModel | auto | Legacy Cursor Agent CLI model setting; prefer openspec.cursorAgentModel |
openspec.debug | false | Enable debug: Verify tab and full prompt in Output when executing tasks |