{"id":46114682,"url":"https://github.com/atman-33/openspec-for-copilot","last_synced_at":"2026-03-01T23:03:16.518Z","repository":{"id":325371257,"uuid":"1100915384","full_name":"atman-33/openspec-for-copilot","owner":"atman-33","description":"A VS Code extension that gives GitHub Copilot users a guided, spec-driven workflow using OpenSpec.","archived":false,"fork":false,"pushed_at":"2026-01-29T15:39:23.000Z","size":4339,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-22T10:25:10.135Z","etag":null,"topics":["developer-tools","github-copilot","openspec","spec-driven-development","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=atman-dev.openspec-for-copilot","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atman-33.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-11-20T23:53:29.000Z","updated_at":"2026-02-16T21:20:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/atman-33/openspec-for-copilot","commit_stats":null,"previous_names":["atman-33/openspec-for-copilot"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/atman-33/openspec-for-copilot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atman-33%2Fopenspec-for-copilot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atman-33%2Fopenspec-for-copilot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atman-33%2Fopenspec-for-copilot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atman-33%2Fopenspec-for-copilot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atman-33","download_url":"https://codeload.github.com/atman-33/openspec-for-copilot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atman-33%2Fopenspec-for-copilot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29987656,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T22:42:38.399Z","status":"ssl_error","status_checked_at":"2026-03-01T22:41:51.863Z","response_time":124,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["developer-tools","github-copilot","openspec","spec-driven-development","vscode-extension"],"created_at":"2026-03-01T23:03:16.061Z","updated_at":"2026-03-01T23:03:16.511Z","avatar_url":"https://github.com/atman-33.png","language":"TypeScript","readme":"# OpenSpec for Copilot\n\n[![Visual Studio Marketplace](https://img.shields.io/vscode-marketplace/v/atman-dev.openspec-for-copilot.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=atman-dev.openspec-for-copilot)\n[![Downloads](https://img.shields.io/vscode-marketplace/d/atman-dev.openspec-for-copilot.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=atman-dev.openspec-for-copilot)\n[![GitHub stars](https://img.shields.io/github/stars/atman-33/openspec-for-copilot.svg?style=flat-square)](https://github.com/atman-33/openspec-for-copilot/stargazers)\n[![GitHub issues](https://img.shields.io/github/issues/atman-33/openspec-for-copilot.svg?style=flat-square)](https://github.com/atman-33/openspec-for-copilot/issues)\n\nOpenSpec for Copilot is a VS Code extension that brings Spec-Driven Development (SDD) to your workflow, leveraging [OpenSpec](https://github.com/Fission-AI/OpenSpec) prompts and chat agents like **GitHub Copilot Chat**.\n\nIt allows you to visually manage Specs, Steering documents (AGENTS.md), and custom prompts, seamlessly integrating with GitHub Copilot Chat by default, with optional **Codex Chat** support.\n\n![Create new Spec](./screenshots/image.png)\n\n## Features\n\n### 📝 Spec Management\n\n- **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.\n- **Generate with Chat**: The extension compiles your input into an optimized OpenSpec prompt and sends it to the configured chat agent (GitHub Copilot Chat by default) to generate the full specification (Requirements, Design, Tasks).\n- **Manage Specs**: Browse generated specs in the **Specs** view.\n- **Detailed Design**: Generate a detailed design document from a change, and update specs based on it.\n- **Create GitHub Issue**: Generate a GitHub issue from a spec change, including references to proposal, design, and tasks.\n- **Execute Tasks**: Open `tasks.md` and use the \"Start Task\" CodeLens to send task context to the configured chat agent for implementation.\n\n### 🧩 Prompt Management\n- **Custom Prompts**: Manage Markdown prompts under `.github/prompts` (configurable) alongside instructions and agents to keep all project guidance in one place.\n- **Project Instructions \u0026 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.\n- **Run Prompts**: Execute prompts directly from the tree view, passing the context to the configured chat agent.\n- **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.\n\n## Installation\n\n### Prerequisites\n- Visual Studio Code 1.84.0 or newer.\n- **[GitHub Copilot Chat](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat)** extension must be installed (default).\n- For Codex mode, a VS Code extension that provides the `chatgpt.addToThread` command must be installed.\n- **[OpenSpec](https://github.com/Fission-AI/OpenSpec)** must be globally installed and initialized.\n\n### OpenSpec Global Installation and Initialization:\n\n#### Step 1: Install the CLI globally\n\n```shell\nnpm install -g @fission-ai/openspec@latest\n```\n\nVerify installation:\n\n```shell\nopenspec --version\n```\n\n#### Step 2: Initialize OpenSpec in your project\n\nNavigate to your project directory:\n\n```shell\ncd my-project\n```\n\nRun the initialization:\n\n```shell\nopenspec init\n```\n\n## Migrating to OpenSpec v1\n\nOpenSpec for Copilot v1.0.0+ requires OpenSpec CLI v1. If you're upgrading from an earlier version:\n\n### Prerequisites\n- Node.js 18 or higher\n- npm or yarn\n\n### Migration Steps\n\n1. **Install OpenSpec CLI v1:**\n   ```bash\n   npm install -g openspec@latest\n   ```\n\n2. **Initialize OpenSpec v1 in your workspace:**\n   ```bash\n   cd /path/to/your/workspace\n   openspec init\n   ```\n\n3. **Verify prompt files were created:**\n   Check that `.github/prompts/` contains:\n   - `opsx-new.prompt.md`\n   - `opsx-apply.prompt.md`\n   - `opsx-archive.prompt.md`\n   - `opsx-continue.prompt.md`\n   - `opsx-ff.prompt.md`\n   - `opsx-explore.prompt.md`\n   - `opsx-verify.prompt.md`\n   - `opsx-sync.prompt.md`\n   - `opsx-bulk-archive.prompt.md`\n   - `opsx-onboard.prompt.md`\n\n### Legacy File Support\n\nThe extension will temporarily use legacy v0.x prompt files if v1 files are not found, but will display deprecation warnings. Legacy support will be removed in a future release.\n\n### Troubleshooting\n\n**\"OpenSpec v1 prompt files not found\" error:**\n- Ensure you've run `openspec init` in your workspace root\n- Verify `.github/prompts/` directory exists\n- Check that OpenSpec CLI is v1.0.0 or higher: `openspec --version`\n\n**\"Using legacy OpenSpec v0.x prompt file\" warning:**\n- Run `openspec init` to generate v1 files\n- The extension will continue working with legacy files but will show warnings\n\n### Marketplace\nSearch for \"OpenSpec for Copilot\" in the VS Code Marketplace and install the extension.\n\n### From Local VSIX\n1. Build the package with `npm run package` (produces `openspec-for-copilot-\u003cversion\u003e.vsix`).\n2. Install via `code --install-extension openspec-for-copilot-\u003cversion\u003e.vsix`.\n\n## Usage\n\n### 1. Create a Spec\n1. Open the **Specs** view in the Activity Bar.\n2. Click **Create New Spec**.\n3. Fill in the details (Product Context is required).\n4. Click **Create Spec**. This will open chat with a generated prompt.\n5. Follow the chat instructions to generate the spec files.\n\n   ![Create new Spec](./screenshots/010-create-new-spec.png)\n\n### 2. Detailed Design Workflow (Optional)\n1. Right-click on a Change ID in the **Specs** view.\n2. Select **Create Detailed Design**. Chat will generate a detailed design document.\n3. Once the design is finalized, right-click the change again and select **Update Specs from Detailed Design** to synchronize other documents.\n\n### 3. Implement Tasks\n1. Open a generated `tasks.md` file.\n2. Click **Start All Tasks** above a checklist item.\n3. Chat will open with the task context. Interact with it to implement the code.\n\n   ![Start All Tasks](./screenshots/020-start-all-tasksk.png)\n\n### 4. Create GitHub Issue\n1. Right-click on a Change ID in the **Specs** view.\n2. Select **Create GitHub Issue** from the context menu.\n3. Chat will open with a prompt to create a GitHub issue based on the spec documents.\n4. Review the generated issue title and body, then create the issue.\n\n### 5. Archive Change\n1. Right-click on a Change ID in the **Specs** view.\n2. Select **Archive Change** from the context menu.\n3. The change will be moved to the archive.\n\n   ![Archive Change](./screenshots/030-archive-change.png)\n\n## Configuration\nAll settings live under the `openspec-for-copilot` namespace.\n\n| Setting | Type | Default | Purpose |\n| --- | --- | --- | --- |\n| `aiAgent` | string | `github-copilot` | Select which chat agent to use for sending prompts (`github-copilot` or `codex`). |\n| `chatLanguage` | string | `English` | The language GitHub Copilot should use for responses. |\n| `copilot.specsPath` | string | `openspec` | Workspace-relative path for generated specs. |\n| `copilot.promptsPath` | string | `.github/prompts` | Workspace-relative path for Markdown prompts. |\n| `views.specs.visible` | boolean | `true` | Show or hide the Specs explorer. |\n| `views.prompts.visible` | boolean | `true` | Toggle the Prompts explorer. |\n| `views.steering.visible` | boolean | `true` | Toggle the Steering explorer. |\n| `views.settings.visible` | boolean | `true` | Toggle the Settings overview. |\n| `customInstructions.global` | string | `\"\"` | Global custom instructions appended to all prompts. |\n| `customInstructions.createSpec` | string | `\"\"` | Custom instructions for \"Create Spec\". |\n| `customInstructions.startAllTask` | string | `\"\"` | Custom instructions for \"Start All Tasks\". |\n| `customInstructions.archiveChange` | string | `\"\"` | Custom instructions for \"Archive Change\". |\n| `customInstructions.runPrompt` | string | `\"\"` | Custom instructions for \"Run Prompt\". |\n\nNote: In Codex mode, prompts are written to temporary Markdown files under `~/.codex/.tmp/` and sent via `chatgpt.addToThread`.\n\nPaths accept custom locations inside the workspace; the extension mirrors watchers to match custom directories.\n\n## Workspace Layout\n```\n.github/\n├── prompts/                # Markdown prompts\n├── agents/                 # Project agent definitions surfaced in the Prompts view\nopenspec/\n├── AGENTS.md               # Project-specific steering rules\n├── project.md              # Project specification\n├── \u003cspec\u003e/\n│   ├── requirements.md\n│   ├── design.md\n│   └── tasks.md\nLICENSE\nsrc/\n├── extension.ts            # Activation, command registration, tree providers\n├── features/               # Spec and steering managers\n├── providers/              # TreeDataProviders, CodeLens, webviews\n├── services/               # Prompt loader (Handlebars templates)\n├── utils/                  # Config manager, Copilot chat helpers\n└── prompts/                # Prompt source markdown and generated TypeScript\nwebview-ui/                 # React + Vite webview bundle\nscripts/\n└── build-prompts.js        # Markdown → TypeScript prompt compiler\n```\n\n## Development\n1. Install dependencies for both the extension and webview UI:\n   - `npm run install:all`\n2. Build prompts and bundle the extension:\n   - `npm run build` (runs prompt compilation, extension bundle, and webview build)\n3. Launch the development host:\n   - Press `F5` inside VS Code or run the `Extension` launch configuration.\n4. Live development:\n   - `npm run watch` (TypeScript watch + webview dev server)\n   - `npm --prefix webview-ui run dev` (webview in isolation)\n5. Generate prompt modules when editing markdown under `src/prompts`:\n   - `npm run build-prompts`\n\n### Testing and Quality\n- Unit tests: `npm test`, `npm run test:watch`, or `npm run test:coverage` (Vitest).\n- Linting, formatting, and static checks: `npm run lint`, `npm run format`, `npm run check` (Ultracite toolchain).\n\n### Packaging\n- Produce a VSIX with `npm run package` (requires `vsce`).\n- The output bundle lives in `dist/extension.js`; webview assets emit to `dist/webview/app/`.\n\n## License\nMIT License. See [`LICENSE`](LICENSE).\n\n## Credits\nBased on [OpenSpec](https://github.com/Fission-AI/OpenSpec) by Fission AI.\nOriginally forked from [kiro-for-codex-ide](https://github.com/notdp/kiro-for-codex-ide).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatman-33%2Fopenspec-for-copilot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatman-33%2Fopenspec-for-copilot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatman-33%2Fopenspec-for-copilot/lists"}