Skip to content

Latest commit

 

History

History
518 lines (308 loc) · 23.6 KB

File metadata and controls

518 lines (308 loc) · 23.6 KB

@fission-ai/openspec

1.2.0

Minor Changes

  • #747 1e94443 Thanks @TabishB! - ### New Features

    • Profile system — Choose between core (4 essential workflows) and custom (pick any subset) profiles to control which skills get installed. Manage profiles with the new openspec config profile command
    • Propose workflow — New one-step workflow creates a complete change proposal with design, specs, and tasks from a single request — no need to run new then ff separately
    • AI tool auto-detectionopenspec init now 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 workflowsopenspec update now removes command files and skill directories for workflows you've deselected, keeping your project clean
    • Config drift warningopenspec config list warns when global config is out of sync with the current project

    Bug Fixes

    • 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

1.1.1

Patch Changes

  • #627 afb73cf Thanks @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

1.1.0

Minor Changes

  • #625 53081fb Thanks @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 workflows directory instead of the legacy commands path (#610)

Patch Changes

  • #550 86d2e04 Thanks @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

    Other

    • Updated Nix CI actions to latest versions (nix-installer v21, magic-nix-cache v13)

1.0.2

Patch Changes

  • #596 e91568d Thanks @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

1.0.1

Patch Changes

  • #587 943e0d4 Thanks @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 incorrect openspec/archive/YYYY-MM-DD--<name>/

1.0.0

Major Changes

  • #578 0cc9d90 Thanks @TabishB! - ## OpenSpec 1.0 — The OPSX Release

    The 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.

    Breaking Changes

    • Old commands removed/openspec:proposal, /openspec:apply, and /openspec:archive no longer exist
    • Config files removed — Tool-specific instruction files (CLAUDE.md, .cursorrules, AGENTS.md, project.md) are no longer generated
    • Migration — Run openspec init to upgrade. Legacy artifacts are detected and cleaned up with confirmation.

    From Static Prompts to Dynamic Instructions

    Before: AI received the same static instructions every time, regardless of project state.

    Now: Instructions are dynamically assembled from three layers:

    1. Context — Project background from config.yaml (tech stack, conventions)
    2. Rules — Artifact-specific constraints (e.g., "propose spike tasks for unknowns")
    3. 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.

    From Phase-Locked to Action-Based

    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:explore Think through ideas before committing to a change
    /opsx:new Start a new change
    /opsx:continue Create one artifact at a time (step-through)
    /opsx:ff Create all planning artifacts at once (fast-forward)
    /opsx:apply Implement tasks
    /opsx:verify Validate implementation matches artifacts
    /opsx:sync Sync delta specs to main specs
    /opsx:archive Archive completed change
    /opsx:bulk-archive Archive multiple changes with conflict detection
    /opsx:onboard Guided 15-minute walkthrough of complete workflow

    From Text Merging to Semantic Spec Syncing

    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.

    From Scattered Files to Agent Skills

    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.

    New Features

    • Onboarding skill/opsx:onboard walks 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 setupopenspec init shows 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.

    Bug Fixes

    • 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

    Documentation

    • 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

0.23.0

Minor Changes

  • #540 c4cfdc7 Thanks @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

    Other

    • Simplified setup — Config creation now uses sensible defaults with helpful comments instead of interactive prompts

0.22.0

Minor Changes

  • #530 33466b1 Thanks @TabishB! - Add project-level configuration, project-local schemas, and schema management commands

    New 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 schema commands (list, show, export, validate) for inspecting and managing artifact schemas (experimental)

    Bug Fixes

    • Fixed config loading to handle null rules field in project configuration

0.21.0

Minor Changes

  • #516 b5a8847 Thanks @TabishB! - Add feedback command and Nix flake support

    New 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

0.20.0

Minor Changes

  • #502 9db74aa Thanks @TabishB! - Add /opsx:verify command and fix vitest process storms

    New Features

    • /opsx:verify command — 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

0.19.0

Minor Changes

  • eb152eb: Add Continue IDE support, shell completions, and /opsx:explore command

    New 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 install to set up tab completion in your preferred shell
    • /opsx:explore command – 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=0 or DO_NOT_TRACK=1 to disable. Only command names and version are collected; no arguments, file paths, or content. Automatically disabled in CI environments.

0.18.0

Minor Changes

  • 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.yaml files
    • 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

0.17.2

Patch Changes

  • 455c65f: Fix --no-interactive flag in validate command to properly disable spinner, preventing hangs in pre-commit hooks and CI environments

0.17.1

Patch Changes

  • 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 reset command is actually used interactively.

    Also adds ESLint with a rule to prevent static @inquirer imports, avoiding future regressions.

0.17.0

Minor Changes

  • 2e71835: Add openspec config command and Oh-my-zsh completions

    New Features

    • Add openspec config command 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

0.16.0

Minor Changes

  • 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

Unreleased

Minor Changes

  • Add Continue slash command support so openspec init can generate .continue/prompts/openspec-*.prompt files with MARKDOWN frontmatter and $ARGUMENTS placeholder, and refresh them on openspec update.

  • Add Antigravity slash command support so openspec init can generate .agent/workflows/openspec-*.md files with description-only frontmatter and openspec update refreshes existing workflows alongside Windsurf.

0.15.0

Minor Changes

  • 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

0.14.0

Minor Changes

  • 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

0.13.0

Minor Changes

  • 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

0.12.0

Minor Changes

  • 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-tools CLI flags to openspec init for automated initialization in CI/CD pipelines while maintaining backward compatibility with interactive mode

0.11.0

Minor Changes

  • 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.

0.10.0

Minor Changes

  • d7e0ce8: Improve init wizard Enter key behavior to allow proceeding through prompts more naturally

0.9.2

Patch Changes

  • 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.

0.9.1

Patch Changes

  • 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.

0.9.0

Minor Changes

  • efbbf3b: Add support for Codex and GitHub Copilot slash commands with YAML frontmatter and $ARGUMENTS

Unreleased

Minor Changes

  • Add GitHub Copilot slash command support. OpenSpec now writes prompts to .github/prompts/openspec-{proposal,apply,archive}.prompt.md with YAML frontmatter and $ARGUMENTS placeholder, and refreshes them on openspec update.

0.8.1

Patch Changes

  • 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.

0.8.0

Minor Changes

  • c29b06d: Add Windsurf support.
  • Add Codex slash command support. OpenSpec now writes prompts directly to Codex's global directory (~/.codex/prompts or $CODEX_HOME/prompts) and refreshes them on openspec update.

0.7.0

Minor Changes

  • Add native Kilo Code workflow integration so openspec init and openspec update manage .kilocode/workflows/openspec-*.md files.
  • Always scaffold the managed root AGENTS.md hand-off stub and regroup the AI tool prompts during init/update to keep instructions consistent.

0.6.0

Minor Changes

  • Slim the generated root agent instructions down to a managed hand-off stub and update the init/update flows to refresh it safely.

0.5.0

Minor Changes

  • 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

Patch Changes

  • 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

0.4.0

Minor Changes

  • Add OpenSpec change proposals for CLI improvements and enhanced user experience
  • Add Opencode slash commands support for AI-driven development workflows

Patch Changes

  • 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

0.3.0

Minor Changes

  • Enhance openspec init with extend mode, multi-tool selection, and an interactive AGENTS.md configurator.

0.2.0

Minor Changes

  • ce5cead: - Add an openspec view dashboard that rolls up spec counts and change progress at a glance
    • Generate and update AI slash commands alongside the renamed openspec/AGENTS.md instructions file
    • Remove the deprecated openspec diff command and direct users to openspec show

0.1.0

Minor Changes

  • 24b4866: Initial release