About this project

OpenSpec is a spec-driven development (SDD) framework for AI coding assistants. It adds a lightweight specification layer so human developers and AI assistants align on what to build before any code is written. The project is published as the npm package @fission-ai/openspec, is licensed under MIT, and requires Node.js 20.19.0 or higher. The workflow is built around slash commands that work inside supported AI coding tools. After running `openspec init` in a project, users can invoke commands such as `/opsx:explore` to discuss an idea with the AI, `/opsx:propose <name>` to create a change proposal, `/opsx:apply` to implement the planned tasks, and `/opsx:archive` to finalize and archive the change. Each proposed change gets its own folder under `openspec/changes/` containing a `proposal.md`, a `specs/` folder with requirements and scenarios, a `design.md`, and a `tasks.md`. The specs are written in plain Markdown with a simple requirement-and-scenario format, with no special syntax required. OpenSpec supports more than 30 AI coding assistants and tools, with different spellings of the canonical command depending on the tool, such as `/opsx-propose`, `@opsx-propose`, or `$openspec-propose`. An expanded workflow profile is available with additional commands including `/opsx:new`, `/opsx:continue`, `/opsx:ff`, `/opsx:verify`, and `/opsx:onboard`. The project also introduces a beta feature called Stores, which allows planning in a separate repository shared across a team via git push. Stores use the same `openspec/` structure for specs and changes and aim to support cross-repo features, shared requirements owned by one team, and plan-before-code workflows where code repos catch up later. OpenSpec collects anonymous usage statistics, limited to command names and version, with no arguments, paths, content, or personally identifiable information. Telemetry is automatically disabled in CI and can be opted out via configuration or environment variables. Documentation covers getting started, how commands work, existing project adoption, editing changes, CLI reference, multi-language support, customization, and community schemas. The project is built with OpenSpec itself, and its repository contains live examples of specs and in-flight changes.