
OpenSpec
CLILightweight spec-driven development CLI: after initializing a project, commands such as /opsx:propose let humans and agents agree on change proposals and specs before coding. Supports Claude Code, Codex and 30+ other tools. Needs Node.js 20.19+.
→ fluid not rigid
→ iterative not waterfall
→ easy not complex
→ built for brownfield not just greenfield
→ scalable from personal projects to enterprises
Follow @0xTab on X for updates · Join the OpenSpec Discord for help and questions.
See it in action
You: /opsx:explore
AI: What would you like to explore?
You: I want dark mode but I'm not sure how to do it cleanly.
AI: Let me look at your styling setup...
Cleanest path here: CSS variables + a small theme context,
with system-preference detection. No new dependencies. Scope it?
You: Yes, let's do it.
You: /opsx:propose add-dark-mode
AI: Created openspec/changes/add-dark-mode/
✓ proposal.md — why we're doing this, what's changing
✓ specs/ — requirements and scenarios
✓ design.md — technical approach
✓ tasks.md — implementation checklist
Ready for implementation!
You: /opsx:apply
AI: Implementing tasks...
✓ 1.1 Add theme context provider
✓ 1.2 Create toggle component
✓ 2.1 Add CSS variables
✓ 2.2 Wire up localStorage
All tasks complete!
You: /opsx:archive
AI: Archived to openspec/changes/archive/2025-01-23-add-dark-mode/
Specs updated. Ready for the next feature.
What do the specs actually look like?
Plain Markdown — requirements with concrete scenarios, no special syntax to learn. Here's what goes in the specs/ folder created above:
## ADDED Requirements
### Requirement: Theme selection
The app SHALL let users switch between light and dark themes,
defaulting to the system preference.
#### Scenario: User toggles dark mode
- **WHEN** the user clicks the theme toggle
- **THEN** the app switches to dark mode and persists the choice
Your AI writes these; you review the plan before any code is written.
OpenSpec is built with OpenSpec — browse this repo's live specs and in-flight changes for real examples at scale.
OpenSpec Dashboard
Why teams adopt OpenSpec
Solo, OpenSpec keeps you and your AI honest on a single repo. On a team, the hard part moves: a feature spans the API server, the web app, and a shared library; requirements are owned by one team and consumed by others; planning starts before any code exists.
Stores are the answer — planning in a repo of its own. The same openspec/ shape you already know (specs and changes), shared by git push like anything else. One source of truth your whole team and every coding agent can read, across every repo.
- Cross-repo features — one change, one plan, even when the code lands in three repos.
- Shared requirements — a platform team owns the specs; product teams reference them read-only, right where their coding agent can read them. No drifting wiki.
- Plan before code — capture the plan in the store now; the code repos catch up later.
Stores are in beta. Start with the Stores guide.
Quick Start
Requires Node.js 20.19.0 or higher. Homebrew installs it as a dependency.
Install OpenSpec globally:
npm install -g @fission-ai/openspec@latest
Or install the official Homebrew formula on macOS or Linux:
brew install openspec
Then navigate to your project directory and initialize:
cd your-project
openspec init
Want your AI to do it? Paste the setup prompt into your coding assistant — it installs the CLI, runs
openspec init, and verifies the result.
Now talk to your AI:
- Not sure what to build yet? Start with
/opsx:explore, a no-stakes thinking partner that reads your code, weighs options, and shapes a plan before any code gets written. (Quickstart) - Already know what you want? Go straight to
/opsx:propose <what-you-want-to-build>.
Both are in the default profile. If you want the expanded workflow (/opsx:new, /opsx:continue, /opsx:ff, /opsx:verify, /opsx:bulk-archive, /opsx:onboard), select it with openspec config profile and apply with openspec update.
/opsx:propose is the canonical name; your tool may spell it /opsx-propose (Cursor, GitHub Copilot), @opsx-propose (Amazon Q) or $openspec-propose (Codex). openspec init prints the right form for the tools you picked — see Supported Tools.
[!NOTE] Not sure if your tool is supported? View the full list – we support 30+ tools and growing.
Also works with Homebrew, pnpm, yarn, bun, and Nix. See installation options.
Docs
Full documentation lives at openspec.dev/docs.
→ Quickstart: your first change, start to finish
→ Set up your project: what openspec init installs
→ CLI: terminal reference
→ Supported Tools: tool integrations & install paths
→ Customize: profiles, project config, and schemas
→ Stores: plan in a separate repo, shared across your team (beta)
→ Community Showcase: projects and resources built with and for OpenSpec
Community schemas
Third-party schema bundles distributed via standalone repositories — these provide opinionated workflows that integrate OpenSpec with other tools, similar to how github/spec-kit's community extension catalog handles tool integrations.
→ Browse the catalog in the customization docs.
Why OpenSpec?
AI coding assistants are powerful but unpredictable when requirements live only in chat history. OpenSpec adds a lightweight spec layer so you agree on what to build before any code is written.
- Agree before you build — human and AI align on specs before code gets written
- Stay organized — each change gets its own folder with proposal, specs, design, and tasks
- Work fluidly — update any artifact anytime, no rigid phase gates
- Use your tools — works with 30+ AI assistants via slash commands
How we compare
vs. Spec Kit (GitHub) — Thorough but heavyweight. Rigid phase gates, lots of Markdown, Python setup. OpenSpec is lighter and lets you iterate freely.
vs. Kiro (AWS) — Powerful but you're locked into their IDE and limited to Claude models. OpenSpec works with the tools you already use.
vs. nothing — AI coding without specs means vague prompts and unpredictable results. OpenSpec brings predictability without the ceremony.
Updating OpenSpec
Upgrade the package
npm install -g @fission-ai/openspec@latest
If you installed OpenSpec with Homebrew:
brew upgrade openspec
Refresh agent instructions
Run this inside each project to regenerate AI guidance and ensure the latest slash commands are active:
openspec update
Usage Notes
Model selection: OpenSpec works best with high-reasoning models. We recommend Codex 5.5 and Opus 4.7 for both planning and implementation.
Context hygiene: OpenSpec benefits from a clean context window. Clear your context before starting implementation and maintain good context hygiene throughout your session.
Contributing
Open a discussion (for core design changes) or an issue before you open a PR, and link the issue or discussion from the PR. New features, significant refactors, and architectural changes need an OpenSpec change proposal first.
→ CONTRIBUTING.md: the full process, from first issue to merged PR
Other
Telemetry
OpenSpec collects anonymous usage stats.
We collect only command names and version to understand usage patterns. No arguments, paths, content, or PII. Automatically disabled in CI.
Opt-out (any one is enough):
openspec config set telemetry.enabled false(global config; unset means on)export OPENSPEC_TELEMETRY=0orexport DO_NOT_TRACK=1(env overrides config)
Maintainers & Advisors
See MAINTAINERS.md for the list of core maintainers and advisors who help guide the project.
License
MIT
관련 리소스

Spec Kit
CLIGitHub's official spec-driven development toolkit: the specify CLI sets up spec, plan and task workflows for Copilot, Claude Code, Codex and other agents so the spec comes before the code, plus bug-fix and idea-evaluation flows. Needs Python 3.11+ and uv.
github/spec-kit142k
Task Master
CLIParses a PRD into a dependency-aware task list so Claude Code, Cursor and other agents pick up the next task in order, split subtasks and update progress. Offers both a CLI and an MCP server. Needs at least one model API key, or reuse a Claude Code or Codex login.
eyaltoledano/claude-task-master28.2k
Brainstorming
SkillBefore writing code, asks questions one at a time to clarify intent, constraints and success criteria, turning a vague idea into a reviewable design; implementation starts only after you approve it. A core Superpowers skill.
obra/superpowers295k
Task Master
MCPParses a PRD into a dependency-aware task list so Cursor, Claude Code and other coding agents break it down, implement it and track progress; also works as a CLI. Needs at least one model API key, or reuse a Claude Code or Codex CLI login.
eyaltoledano/claude-task-master28.2k
Taskmaster
PluginParses a PRD into a dependency-aware task list with complexity analysis, task breakdown and research; the plugin bundles slash commands, subagents and the MCP server. Needs a model API key, or reuse a Claude Code or Codex CLI login.
eyaltoledano/claude-task-master28.2k
notion-spec-to-implementation
SkillTurns a Notion PRD or feature spec into an implementation plan page and tasks, flagging open questions and linking spec, plan and tasks while tracking progress. From OpenAI's official plugin repo (developer: Notion); needs the Notion MCP connected.
openai/plugins7.5k