Files
Tabish Bidiwale fef961f6e3 fix: manually merge and archive four completed OpenSpec changes (#226)
Merged and archived four concurrent changes that modified the same specs:
- add-cline-support: Added Cline AI tool configuration
- add-crush-support: Added Crush AI tool configuration
- add-factory-slash-commands: Added Factory Droid slash commands
- add-archive-command-arguments: Added archive command argument support

Changes to cli-init/spec.md:
- Added Cline and CodeBuddy Code configuration scenarios
- Added slash command scenarios for CodeBuddy Code, Cline, Crush, Factory Droid

Changes to cli-update/spec.md:
- Added update scenarios for CodeBuddy Code, Cline, Crush, Factory Droid
- Added Archive Command Argument Support requirement
- Modified OpenCode scenario to support $ARGUMENTS placeholder

This required manual intervention to prevent data loss from OpenSpec's
requirement-level replacement during archiving. The archive operations
initially overwrote scenarios from earlier changes, requiring restoration
of all missing content to preserve complete spec state.

All four changes successfully archived to openspec/changes/archive/.
2025-10-22 16:07:28 +11:00

1.3 KiB

Add Archive Command Arguments

Why

The /openspec:archive slash command currently lacks argument support, forcing the AI to infer which change to archive from conversation context or by listing all changes. This creates a safety risk where the wrong proposal could be archived if the context is ambiguous or multiple changes exist. Users expect to specify the change ID explicitly, matching the behavior of the CLI command openspec archive <id>.

What Changes

  • Add $ARGUMENTS placeholder to the OpenCode archive slash command frontmatter (matching existing pattern for proposal command)
  • Update archive command template steps to validate the specific change ID argument when provided
  • Note: Codex, GitHub Copilot, and Amazon Q already have $ARGUMENTS for archive; Claude/Cursor/Windsurf/Kilocode don't support arguments

Impact

  • Affected specs: cli-update (slash command generation logic)
  • Affected code:
    • src/core/configurators/slash/opencode.ts (add $ARGUMENTS to archive frontmatter)
    • src/core/templates/slash-command-templates.ts (archive template steps for argument validation)
  • Breaking: No - this is additive functionality that makes the command safer
  • User-facing: Yes - OpenCode users will be able to pass the change ID as an argument: /openspec:archive <change-id>