OpenSpec for Copilot

OpenSpec for Copilot is a VS Code extension that brings Spec-Driven Development (SDD) to your workflow, leveraging OpenSpec prompts and GitHub Copilot.
It allows you to visually manage Specs, Steering documents (AGENTS.md), and custom prompts, seamlessly integrating with GitHub Copilot Chat to generate high-quality documentation and code.

Features
📝 Spec Management
- Create Specs: Run
OpenSpec for Copilot: Create New Spec (openspec-for-copilot.spec.create) to open the creation dialog. Define your summary, product context, and constraints.
- Generate with Copilot: The extension compiles your input into an optimized OpenSpec prompt and sends it to GitHub Copilot Chat to generate the full specification (Requirements, Design, Tasks).
- Manage Specs: Browse generated specs in the Specs view.
- Execute Tasks: Open
tasks.md and use the "Start Task" CodeLens to send task context to GitHub Copilot Chat for implementation.
🧩 Prompt Management
- Custom Prompts: Manage Markdown prompts under
.github/prompts (configurable) alongside instructions and agents to keep all project guidance in one place.
- Project Instructions & Agents: The Prompts explorer now shows
Project Instructions and Project Agents groups, surfacing .github/instructions and .github/agents files (in that order) so you can reference reusable instructions and agent definitions without leaving VS Code.
- Run Prompts: Execute prompts directly from the tree view, passing the context to GitHub Copilot Chat.
- Rename or Delete: Use the item context menu to rename or delete prompts, instructions, and agents without leaving the explorer.
Rename always appears above Delete for quick edits.
Installation
Prerequisites
- Visual Studio Code 1.84.0 or newer.
- GitHub Copilot Chat extension must be installed.
- OpenSpec must be globally installed and initialized.
OpenSpec Global Installation and Initialization:
Step 1: Install the CLI globally
npm install -g @fission-ai/openspec@latest
Verify installation:
openspec --version
Step 2: Initialize OpenSpec in your project
Navigate to your project directory:
cd my-project
Run the initialization:
openspec init
Marketplace
Search for "OpenSpec for Copilot" in the VS Code Marketplace and install the extension.
From Local VSIX
- Build the package with
npm run package (produces openspec-for-copilot-<version>.vsix).
- Install via
code --install-extension openspec-for-copilot-<version>.vsix.
Usage
1. Create a Spec
Open the Specs view in the Activity Bar.
Click Create New Spec.
Fill in the details (Product Context is required).
Click Create Spec. This will open GitHub Copilot Chat with a generated prompt.
Follow the chat instructions to generate the spec files.

2. Implement Tasks
Open a generated tasks.md file.
Click Start All Tasks above a checklist item.
GitHub Copilot Chat will open with the task context. Interact with it to implement the code.

3. Archive Change
Right-click on a Change ID in the Specs view.
Select Archive Change from the context menu.
The change will be moved to the archive.

Configuration
All settings live under the openspec-for-copilot namespace.
| Setting |
Type |
Default |
Purpose |
chatLanguage |
string |
English |
The language GitHub Copilot should use for responses. |
copilot.specsPath |
string |
openspec |
Workspace-relative path for generated specs. |
copilot.promptsPath |
string |
.github/prompts |
Workspace-relative path for Markdown prompts. |
views.specs.visible |
boolean |
true |
Show or hide the Specs explorer. |
views.prompts.visible |
boolean |
true |
Toggle the Prompts explorer. |
views.steering.visible |
boolean |
true |
Toggle the Steering explorer. |
views.settings.visible |
boolean |
true |
Toggle the Settings overview. |
customInstructions.global |
string |
"" |
Global custom instructions appended to all prompts. |
customInstructions.createSpec |
string |
"" |
Custom instructions for "Create Spec". |
customInstructions.startAllTask |
string |
"" |
Custom instructions for "Start All Tasks". |
customInstructions.runPrompt |
string |
"" |
Custom instructions for "Run Prompt". |
Paths accept custom locations inside the workspace; the extension mirrors watchers to match custom directories.
Workspace Layout
.github/
├── prompts/ # Markdown prompts
├── agents/ # Project agent definitions surfaced in the Prompts view
openspec/
├── AGENTS.md # Project-specific steering rules
├── project.md # Project specification
├── <spec>/
│ ├── requirements.md
│ ├── design.md
│ └── tasks.md
LICENSE
src/
├── extension.ts # Activation, command registration, tree providers
├── features/ # Spec and steering managers
├── providers/ # TreeDataProviders, CodeLens, webviews
├── services/ # Prompt loader (Handlebars templates)
├── utils/ # Config manager, Copilot chat helpers
└── prompts/ # Prompt source markdown and generated TypeScript
webview-ui/ # React + Vite webview bundle
scripts/
└── build-prompts.js # Markdown → TypeScript prompt compiler
Development
- Install dependencies for both the extension and webview UI:
- Build prompts and bundle the extension:
npm run build (runs prompt compilation, extension bundle, and webview build)
- Launch the development host:
- Press
F5 inside VS Code or run the Extension launch configuration.
- Live development:
npm run watch (TypeScript watch + webview dev server)
npm --prefix webview-ui run dev (webview in isolation)
- Generate prompt modules when editing markdown under
src/prompts:
Testing and Quality
- Unit tests:
npm test, npm run test:watch, or npm run test:coverage (Vitest).
- Linting, formatting, and static checks:
npm run lint, npm run format, npm run check (Ultracite toolchain).
Packaging
- Produce a VSIX with
npm run package (requires vsce).
- The output bundle lives in
dist/extension.js; webview assets emit to dist/webview/app/.
License
MIT License. See LICENSE.
Credits
Based on OpenSpec by Fission AI.
Originally forked from kiro-for-codex-ide.