-
#747
1e94443Thanks @TabishB! - ### New Features- Profile system — Choose between
core(4 essential workflows) andcustom(pick any subset) profiles to control which skills get installed. Manage profiles with the newopenspec config profilecommand - Propose workflow — New one-step workflow creates a complete change proposal with design, specs, and tasks from a single request — no need to run
newthenffseparately - AI tool auto-detection —
openspec initnow scans your project for existing tool directories (.claude/,.cursor/, etc.) and pre-selects detected tools - Pi (pi.dev) support — Pi coding agent is now a supported tool with prompt and skill generation
- Kiro support — AWS Kiro IDE is now a supported tool with prompt and skill generation
- Sync prunes deselected workflows —
openspec updatenow removes command files and skill directories for workflows you've deselected, keeping your project clean - Config drift warning —
openspec config listwarns when global config is out of sync with the current project
- Fixed onboard preflight giving a false "not initialized" error on freshly initialized projects
- Fixed archive workflow stopping mid-way when syncing — it now properly resumes after sync completes
- Added Windows PowerShell alternatives for onboard shell commands
- Profile system — Choose between
-
#627
afb73cfThanks @TabishB! - ### Bug Fixes- OpenCode command references — Command references in generated files now use the correct
/opsx-hyphen format instead of/opsx:colon format, ensuring commands work properly in OpenCode
- OpenCode command references — Command references in generated files now use the correct
-
#625
53081fbThanks @TabishB! - ### Bug Fixes- Codex global path support — Codex adapter now resolves global paths correctly, fixing workflow file generation when run outside the project directory (#622)
- Archive operations on cross-device or restricted paths — Archive now falls back to copy+remove when rename fails with EPERM or EXDEV errors, fixing failures on networked/external drives (#605)
- Slash command hints in workflow messages — Workflow completion messages now display helpful slash command hints for next steps (#603)
- Windsurf workflow file path — Updated Windsurf adapter to use the correct
workflowsdirectory instead of the legacycommandspath (#610)
-
#550
86d2e04Thanks @jerome-benoit! - ### Improvements- Nix flake maintenance — Version now read dynamically from package.json, reducing manual sync issues
- Nix build optimization — Source filtering excludes node_modules and artifacts, improving build times
- update-flake.sh script — Detects when hash is already correct, skipping unnecessary rebuilds
- Updated Nix CI actions to latest versions (nix-installer v21, magic-nix-cache v13)
-
#596
e91568dThanks @TabishB! - ### Bug Fixes- Clarified spec naming convention — Specs should be named after capabilities (
specs/<capability>/spec.md), not changes - Fixed task checkbox format guidance — Tasks now clearly require
- [ ]checkbox format for apply phase tracking
- Clarified spec naming convention — Specs should be named after capabilities (
-
#587
943e0d4Thanks @TabishB! - ### Bug Fixes- Fixed incorrect archive path in onboarding documentation — the template now shows the correct path
openspec/changes/archive/YYYY-MM-DD-<name>/instead of the incorrectopenspec/archive/YYYY-MM-DD--<name>/
- Fixed incorrect archive path in onboarding documentation — the template now shows the correct path
-
#578
0cc9d90Thanks @TabishB! - ## OpenSpec 1.0 — The OPSX ReleaseThe workflow has been rebuilt from the ground up. OPSX replaces the old phase-locked
/openspec:*commands with an action-based system where AI understands what artifacts exist, what's ready to create, and what each action unlocks.- Old commands removed —
/openspec:proposal,/openspec:apply, and/openspec:archiveno longer exist - Config files removed — Tool-specific instruction files (
CLAUDE.md,.cursorrules,AGENTS.md,project.md) are no longer generated - Migration — Run
openspec initto upgrade. Legacy artifacts are detected and cleaned up with confirmation.
Before: AI received the same static instructions every time, regardless of project state.
Now: Instructions are dynamically assembled from three layers:
- Context — Project background from
config.yaml(tech stack, conventions) - Rules — Artifact-specific constraints (e.g., "propose spike tasks for unknowns")
- Template — The actual structure for the output file
AI queries the CLI for real-time state: which artifacts exist, what's ready to create, what dependencies are satisfied, and what each action unlocks.
Before: Linear workflow — proposal → apply → archive. Couldn't easily go back or iterate.
Now: Flexible actions on a change. Edit any artifact anytime. The artifact graph tracks state automatically.
Command What it does /opsx:exploreThink through ideas before committing to a change /opsx:newStart a new change /opsx:continueCreate one artifact at a time (step-through) /opsx:ffCreate all planning artifacts at once (fast-forward) /opsx:applyImplement tasks /opsx:verifyValidate implementation matches artifacts /opsx:syncSync delta specs to main specs /opsx:archiveArchive completed change /opsx:bulk-archiveArchive multiple changes with conflict detection /opsx:onboardGuided 15-minute walkthrough of complete workflow Before: Spec updates required manual merging or wholesale file replacement.
Now: Delta specs use semantic markers that AI understands:
## ADDED Requirements— New requirements to add## MODIFIED Requirements— Partial updates (add scenario without copying existing ones)## REMOVED Requirements— Delete with reason and migration notes## RENAMED Requirements— Rename preserving content
Archive parses these at the requirement level, not brittle header matching.
Before: 8+ config files at project root + slash commands scattered across 21 tool-specific locations with different formats.
Now: Single
.claude/skills/directory with YAML-fronted markdown files. Auto-detected by Claude Code, Cursor, Windsurf. Cross-editor compatible.-
Onboarding skill —
/opsx:onboardwalks new users through their first complete change with codebase-aware task suggestions and step-by-step narration (11 phases, ~15 minutes) -
21 AI tools supported — Claude Code, Cursor, Windsurf, Continue, Gemini CLI, GitHub Copilot, Amazon Q, Cline, RooCode, Kilo Code, Auggie, CodeBuddy, Qoder, Qwen, CoStrict, Crush, Factory, OpenCode, Antigravity, iFlow, and Codex
-
Interactive setup —
openspec initshows animated welcome screen and searchable multi-select for choosing tools. Pre-selects already-configured tools for easy refresh. -
Customizable schemas — Define custom artifact workflows in
openspec/schemas/without touching package code. Teams can share workflows via version control.
- Fixed Claude Code YAML parsing failure when command names contained colons
- Fixed task file parsing to handle trailing whitespace on checkbox lines
- Fixed JSON instruction output to separate context/rules from template — AI was copying constraint blocks into artifact files
- New getting-started guide, CLI reference, concepts documentation
- Removed misleading "edit mid-flight and continue" claims that weren't implemented
- Added migration guide for upgrading from pre-OPSX versions
- Old commands removed —
-
#540
c4cfdc7Thanks @TabishB! - ### New Features- Bulk archive skill — Archive multiple completed changes in a single operation with
/opsx:bulk-archive. Includes batch validation, spec conflict detection, and consolidated confirmation
- Simplified setup — Config creation now uses sensible defaults with helpful comments instead of interactive prompts
- Bulk archive skill — Archive multiple completed changes in a single operation with
-
#530
33466b1Thanks @TabishB! - Add project-level configuration, project-local schemas, and schema management commandsNew Features
- Project-level configuration — Configure OpenSpec behavior per-project via
openspec/config.yaml, including custom rules injection, context files, and schema resolution settings - Project-local schemas — Define custom artifact schemas within your project's
openspec/schemas/directory for project-specific workflows - Schema management commands — New
openspec schemacommands (list,show,export,validate) for inspecting and managing artifact schemas (experimental)
Bug Fixes
- Fixed config loading to handle null
rulesfield in project configuration
- Project-level configuration — Configure OpenSpec behavior per-project via
-
#516
b5a8847Thanks @TabishB! - Add feedback command and Nix flake supportNew Features
- Feedback command — Submit feedback directly from the CLI with
openspec feedback, which creates GitHub Issues with automatic metadata inclusion and graceful fallback for manual submission - Nix flake support — Install and develop openspec using Nix with the new
flake.nix, including automated flake maintenance and CI validation
Bug Fixes
- Explore mode guardrails — Explore mode now explicitly prevents implementation, keeping the focus on thinking and discovery while still allowing artifact creation
Other
- Improved change inference in
opsx apply— automatically detects the target change from conversation context or prompts when ambiguous - Streamlined archive sync assessment with clearer delta spec location guidance
- Feedback command — Submit feedback directly from the CLI with
-
#502
9db74aaThanks @TabishB! - Add/opsx:verifycommand and fix vitest process stormsNew Features
/opsx:verifycommand — Validate that change implementations match their specifications
Bug Fixes
- Fixed vitest process storms by capping worker parallelism
- Fixed agent workflows to use non-interactive mode for validation commands
- Fixed PowerShell completions generator to remove trailing commas
-
eb152eb: Add Continue IDE support, shell completions, and
/opsx:explorecommandNew Features
- Continue IDE support – OpenSpec now generates slash commands for Continue, expanding editor integration options alongside Cursor, Windsurf, Claude Code, and others
- Shell completions for Bash, Fish, and PowerShell – Run
openspec completion installto set up tab completion in your preferred shell /opsx:explorecommand – A new thinking partner mode for exploring ideas and investigating problems before committing to changes- Codebuddy slash command improvements – Updated frontmatter format for better compatibility
Bug Fixes
- Shell completions now correctly offer parent-level flags (like
--help) when a command has subcommands - Fixed Windows compatibility issues in tests
Other
- Added optional anonymous usage statistics to help understand how OpenSpec is used. This is opt-out by default – set
OPENSPEC_TELEMETRY=0orDO_NOT_TRACK=1to disable. Only command names and version are collected; no arguments, file paths, or content. Automatically disabled in CI environments.
-
8dfd824: Add OPSX experimental workflow commands and enhanced artifact system
New Commands:
/opsx:ff- Fast-forward through artifact creation, generating all needed artifacts in one go/opsx:sync- Sync delta specs from a change to main specs/opsx:archive- Archive completed changes with smart sync check
Artifact Workflow Enhancements:
- Schema-aware apply instructions with inline guidance and XML output
- Agent schema selection for experimental artifact workflow
- Per-change schema metadata via
.openspec.yamlfiles - Agent Skills for experimental artifact workflow
- Instruction loader for template loading and change context
- Restructured schemas as directories with templates
Improvements:
- Enhanced list command with last modified timestamps and sorting
- Change creation utilities for better workflow support
Fixes:
- Normalize paths for cross-platform glob compatibility
- Allow REMOVED requirements when creating new spec files
- 455c65f: Fix
--no-interactiveflag in validate command to properly disable spinner, preventing hangs in pre-commit hooks and CI environments
-
a2757e7: Fix pre-commit hook hang issue in config command by using dynamic import for @inquirer/prompts
The config command was causing pre-commit hooks to hang indefinitely due to stdin event listeners being registered at module load time. This fix converts the static import to a dynamic import that only loads inquirer when the
config resetcommand is actually used interactively.Also adds ESLint with a rule to prevent static @inquirer imports, avoiding future regressions.
-
2e71835: Add
openspec configcommand and Oh-my-zsh completionsNew Features
- Add
openspec configcommand for managing global configuration settings - Implement global config directory with XDG Base Directory specification support
- Add Oh-my-zsh shell completions support for enhanced CLI experience
Bug Fixes
- Fix hang in pre-commit hooks by using dynamic imports
- Respect XDG_CONFIG_HOME environment variable on all platforms
- Resolve Windows compatibility issues in zsh-installer tests
- Align cli-completion spec with implementation
- Remove hardcoded agent field from slash commands
Documentation
- Alphabetize AI tools list in README and make it collapsible
- Add
-
c08fbc1: Add new AI tool integrations and enhancements:
- feat(iflow-cli): Add iFlow-cli integration with slash command support and documentation
- feat(init): Add IDE restart instruction after init to inform users about slash command availability feat(antigravity): Add Antigravity slash command support
- fix: Generate TOML commands for Qwen Code (fixes #293)
- Clarify scaffold proposal documentation and enhance proposal guidelines
- Update proposal guidelines to emphasize design-first approach before implementation
-
Add Continue slash command support so
openspec initcan generate.continue/prompts/openspec-*.promptfiles with MARKDOWN frontmatter and$ARGUMENTSplaceholder, and refresh them onopenspec update. -
Add Antigravity slash command support so
openspec initcan generate.agent/workflows/openspec-*.mdfiles with description-only frontmatter andopenspec updaterefreshes existing workflows alongside Windsurf.
-
4758c5c: Add support for new AI tools with native slash command integration
- Gemini CLI: Add native TOML-based slash command support for Gemini CLI with
.gemini/commands/openspec/integration - RooCode: Add RooCode integration with configurator, slash commands, and templates
- Cline: Fix Cline to use workflows instead of rules for slash commands (
.clinerules/workflows/paths) - Documentation: Update documentation to reflect new integrations and workflow changes
- Gemini CLI: Add native TOML-based slash command support for Gemini CLI with
-
8386b91: Add support for new AI assistants and configuration improvements
- feat: add Qwen Code support with slash command integration
- feat: add $ARGUMENTS support to apply slash command for dynamic variable passing
- feat: add Qoder CLI support to configuration and documentation
- feat: add CoStrict AI assistant support
- fix: recreate missing openspec template files in extend mode
- fix: prevent false 'already configured' detection for tools
- fix: use change-id as fallback title instead of "Untitled Change"
- docs: add guidance for populating project-level context
- docs: add Crush to supported AI tools in README
-
668a125: Add support for multiple AI assistants and improve validation
This release adds support for several new AI coding assistants:
- CodeBuddy Code - AI-powered coding assistant
- CodeRabbit - AI code review assistant
- Cline - Claude-powered CLI assistant
- Crush AI - AI assistant platform
- Auggie (Augment CLI) - Code augmentation tool
New features:
- Archive slash command now supports arguments for more flexible workflows
Bug fixes:
- Delta spec validation now handles case-insensitive headers and properly detects empty sections
- Archive validation now correctly honors --no-validate flag and ignores metadata
Documentation improvements:
- Added VS Code dev container configuration for easier development setup
- Updated AGENTS.md with explicit change-id notation
- Enhanced slash commands documentation with restart notes
-
082abb4: Add factory function support for slash commands and non-interactive init options
This release includes two new features:
- Factory function support for slash commands: Slash commands can now be defined as functions that return command objects, enabling dynamic command configuration
- Non-interactive init options: Added
--tools,--all-tools, and--skip-toolsCLI flags toopenspec initfor automated initialization in CI/CD pipelines while maintaining backward compatibility with interactive mode
- 312e1d6: Add Amazon Q Developer CLI integration. OpenSpec now supports Amazon Q Developer with automatic prompt generation in
.amazonq/prompts/directory, allowing you to use OpenSpec slash commands with Amazon Q's @-syntax.
- d7e0ce8: Improve init wizard Enter key behavior to allow proceeding through prompts more naturally
- 2ae0484: Fix cross-platform path handling issues. This release includes fixes for joinPath behavior and slash command path resolution to ensure OpenSpec works correctly across all platforms.
- 8210970: Fix OpenSpec not working on Windows when Codex integration is selected. This release includes fixes for cross-platform path handling and normalization to ensure OpenSpec works correctly on Windows systems.
- efbbf3b: Add support for Codex and GitHub Copilot slash commands with YAML frontmatter and $ARGUMENTS
- Add GitHub Copilot slash command support. OpenSpec now writes prompts to
.github/prompts/openspec-{proposal,apply,archive}.prompt.mdwith YAML frontmatter and$ARGUMENTSplaceholder, and refreshes them onopenspec update.
- d070d08: Fix CLI version mismatch and add a release guard that validates the packed tarball prints the same version as package.json via
openspec --version.
- c29b06d: Add Windsurf support.
- Add Codex slash command support. OpenSpec now writes prompts directly to Codex's global directory (
~/.codex/promptsor$CODEX_HOME/prompts) and refreshes them onopenspec update.
- Add native Kilo Code workflow integration so
openspec initandopenspec updatemanage.kilocode/workflows/openspec-*.mdfiles. - Always scaffold the managed root
AGENTS.mdhand-off stub and regroup the AI tool prompts during init/update to keep instructions consistent.
- Slim the generated root agent instructions down to a managed hand-off stub and update the init/update flows to refresh it safely.
-
feat: implement Phase 1 E2E testing with cross-platform CI matrix
- Add shared runCLI helper in test/helpers/run-cli.ts for spawn testing
- Create test/cli-e2e/basic.test.ts covering help, version, validate flows
- Migrate existing CLI exec tests to use runCLI helper
- Extend CI matrix to bash (Linux/macOS) and pwsh (Windows)
- Split PR and main workflows for optimized feedback
-
Make apply instructions more specific
Improve agent templates and slash command templates with more specific and actionable apply instructions.
-
docs: improve documentation and cleanup
- Document non-interactive flag for archive command
- Replace discord badge in README
- Archive completed changes for better organization
- Add OpenSpec change proposals for CLI improvements and enhanced user experience
- Add Opencode slash commands support for AI-driven development workflows
- Add documentation improvements including --yes flag for archive command template and Discord badge
- Fix normalize line endings in markdown parser to handle CRLF files properly
- Enhance
openspec initwith extend mode, multi-tool selection, and an interactiveAGENTS.mdconfigurator.
- ce5cead: - Add an
openspec viewdashboard that rolls up spec counts and change progress at a glance- Generate and update AI slash commands alongside the renamed
openspec/AGENTS.mdinstructions file - Remove the deprecated
openspec diffcommand and direct users toopenspec show
- Generate and update AI slash commands alongside the renamed
- 24b4866: Initial release