mirror of
https://github.com/Fission-AI/OpenSpec.git
synced 2026-09-14 20:16:53 +08:00
810f12fd43
Add $ARGUMENTS placeholder to the /openspec:archive slash command to allow explicit change ID specification, improving safety and matching CLI behavior. Changes: - Add $ARGUMENTS to archive command frontmatter in OpenCode configurator - Update archive command template with argument validation steps - Add rewriteArchiveFile method to handle managed section updates - Update AGENTS.md documentation for archive command usage This change makes it possible for users to run `/openspec:archive <change-id>` instead of relying on context inference, reducing the risk of archiving the wrong change.
2.0 KiB
2.0 KiB
CLI Update Specification Delta
MODIFIED Requirements
Requirement: Slash Command Updates
The update command SHALL refresh existing slash command files for configured tools without creating new ones, and ensure the OpenCode archive command accepts change ID arguments.
Scenario: Updating slash commands for OpenCode
- WHEN
.opencode/command/containsopenspec-proposal.md,openspec-apply.md, andopenspec-archive.md - THEN refresh each file using shared templates
- AND ensure templates include instructions for the relevant workflow stage
- AND ensure the archive command includes
$ARGUMENTSplaceholder in frontmatter for accepting change ID arguments
ADDED Requirements
Requirement: Archive Command Argument Support
The archive slash command template SHALL support optional change ID arguments for tools that support $ARGUMENTS placeholder.
Scenario: Archive command with change ID argument
- WHEN a user invokes
/openspec:archive <change-id>with a change ID - THEN the template SHALL instruct the AI to validate the provided change ID against
openspec list - AND use the provided change ID for archiving if valid
- AND fail fast if the provided change ID doesn't match an archivable change
Scenario: Archive command without argument (backward compatibility)
- WHEN a user invokes
/openspec:archivewithout providing a change ID - THEN the template SHALL instruct the AI to identify the change ID from context or by running
openspec list - AND proceed with the existing behavior (maintaining backward compatibility)
Scenario: OpenCode archive template generation
- WHEN generating the OpenCode archive slash command file
- THEN include the
$ARGUMENTSplaceholder in the frontmatter - AND wrap it in a clear structure like
<ChangeId>\n $ARGUMENTS\n</ChangeId>to indicate the expected argument - AND include validation steps in the template body to check if the change ID is valid