Files
Neroyang 3f67debf65 feat: change the frontmatter of the Codebuddy Slash Commands (#462)
* feat: change the frontmatter of the Codebuddy Slash Commands

* fix: fix the issue mentioned by coderabbitai

* feat: change the init.test

* feat: change the init.test

---------

Co-authored-by: neroyang <neroyang@tencent.com>
2026-01-09 10:08:59 -08:00

3.7 KiB

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 Antigravity

  • WHEN .agent/workflows/ contains openspec-proposal.md, openspec-apply.md, and openspec-archive.md
  • THEN refresh the OpenSpec-managed portion of each file so the workflow copy matches other tools while preserving the existing single-field description frontmatter
  • AND skip creating any missing workflow files during update, mirroring the behavior for Windsurf and other IDEs

Scenario: Updating slash commands for Claude Code

  • WHEN .claude/commands/openspec/ contains proposal.md, apply.md, and archive.md
  • THEN refresh each file using shared templates
  • AND ensure templates include instructions for the relevant workflow stage

Scenario: Updating slash commands for CodeBuddy Code

  • WHEN .codebuddy/commands/openspec/ contains proposal.md, apply.md, and archive.md
  • THEN refresh each file using the shared CodeBuddy templates that include YAML frontmatter for the description and argument-hint fields
  • AND use square bracket format for argument-hint parameters (e.g., [change-id])
  • AND preserve any user customizations outside the OpenSpec managed markers

Scenario: Updating slash commands for Cline

  • WHEN .clinerules/workflows/ contains openspec-proposal.md, openspec-apply.md, and openspec-archive.md
  • THEN refresh each file using shared templates
  • AND include Cline-specific Markdown heading frontmatter
  • AND ensure templates include instructions for the relevant workflow stage

Scenario: Updating slash commands for Crush

  • WHEN .crush/commands/ contains openspec/proposal.md, openspec/apply.md, and openspec/archive.md
  • THEN refresh each file using shared templates
  • AND include Crush-specific frontmatter with OpenSpec category and tags
  • AND ensure templates include instructions for the relevant workflow stage

Scenario: Updating slash commands for Cursor

  • WHEN .cursor/commands/ contains openspec-proposal.md, openspec-apply.md, and openspec-archive.md
  • THEN refresh each file using shared templates
  • AND ensure templates include instructions for the relevant workflow stage

Scenario: Updating slash commands for Factory Droid

  • WHEN .factory/commands/ contains openspec-proposal.md, openspec-apply.md, and openspec-archive.md
  • THEN refresh each file using the shared Factory templates that include YAML frontmatter for the description and argument-hint fields
  • AND ensure the template body retains the $ARGUMENTS placeholder so user input keeps flowing into droid
  • AND update only the content inside the OpenSpec managed markers, leaving any unmanaged notes untouched
  • AND skip creating missing files during update

Scenario: Updating slash commands for OpenCode

  • WHEN .opencode/command/ contains openspec-proposal.md, openspec-apply.md, and openspec-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 $ARGUMENTS placeholder in frontmatter for accepting change ID arguments

Scenario: Updating slash commands for Windsurf

  • WHEN .windsurf/workflows/ contains openspec-proposal.md, openspec-apply.md, and openspec-archive.md
  • THEN refresh each file using shared templates
  • AND ensure templates include instructions for the relevant workflow stage