Skip to content

Commit 345f9db

Browse files
authored
chore: archive 7 completed changes and update specs (#170)
Archive completed changes: - add-non-interactive-init-options - slim-root-agents-file - update-cli-init-enter-selection - add-windsurf-workflows - add-kilocode-workflows - add-codex-slash-command-support - add-github-copilot-prompts Updates to specs: - cli-init: Added 7 slash command scenarios (Claude Code, Cursor, OpenCode, Windsurf, Kilo Code, Codex, GitHub Copilot) - cli-update: Added corresponding update scenarios for all 7 tools - Fixed MODIFIED requirement deltas to include all existing scenarios before archiving - Manual correction applied to preserve Windsurf scenario after archive conflicts All changes validated with --strict flag.
1 parent cc9d540 commit 345f9db

File tree

29 files changed

+237
-46
lines changed

29 files changed

+237
-46
lines changed

openspec/changes/add-kilocode-workflows/specs/cli-update/spec.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

openspec/changes/add-windsurf-workflows/specs/cli-update/spec.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

openspec/changes/add-windsurf-workflows/tasks.md

Lines changed: 0 additions & 17 deletions
This file was deleted.

openspec/changes/add-codex-slash-command-support/proposal.md renamed to openspec/changes/archive/2025-10-14-add-codex-slash-command-support/proposal.md

File renamed without changes.

openspec/changes/add-codex-slash-command-support/specs/cli-init/spec.md renamed to openspec/changes/archive/2025-10-14-add-codex-slash-command-support/specs/cli-init/spec.md

File renamed without changes.

openspec/changes/add-codex-slash-command-support/specs/cli-update/spec.md renamed to openspec/changes/archive/2025-10-14-add-codex-slash-command-support/specs/cli-update/spec.md

File renamed without changes.

openspec/changes/add-codex-slash-command-support/tasks.md renamed to openspec/changes/archive/2025-10-14-add-codex-slash-command-support/tasks.md

File renamed without changes.

openspec/changes/add-github-copilot-prompts/proposal.md renamed to openspec/changes/archive/2025-10-14-add-github-copilot-prompts/proposal.md

File renamed without changes.

openspec/changes/add-github-copilot-prompts/specs/cli-init/spec.md renamed to openspec/changes/archive/2025-10-14-add-github-copilot-prompts/specs/cli-init/spec.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,24 @@ The init command SHALL generate slash command files for supported editors using
2121
- **AND** populate each file from shared templates so command text matches other tools
2222
- **AND** each template includes instructions for the relevant OpenSpec workflow stage
2323

24+
#### Scenario: Generating slash commands for Windsurf
25+
- **WHEN** the user selects Windsurf during initialization
26+
- **THEN** create `.windsurf/workflows/openspec-proposal.md`, `.windsurf/workflows/openspec-apply.md`, and `.windsurf/workflows/openspec-archive.md`
27+
- **AND** populate each file from shared templates (wrapped in OpenSpec markers) so workflow text matches other tools
28+
- **AND** each template includes instructions for the relevant OpenSpec workflow stage
29+
30+
#### Scenario: Generating slash commands for Kilo Code
31+
- **WHEN** the user selects Kilo Code during initialization
32+
- **THEN** create `.kilocode/workflows/openspec-proposal.md`, `.kilocode/workflows/openspec-apply.md`, and `.kilocode/workflows/openspec-archive.md`
33+
- **AND** populate each file from shared templates (wrapped in OpenSpec markers) so workflow text matches other tools
34+
- **AND** each template includes instructions for the relevant OpenSpec workflow stage
35+
36+
#### Scenario: Generating slash commands for Codex
37+
- **WHEN** the user selects Codex during initialization
38+
- **THEN** create global prompt files at `~/.codex/prompts/openspec-proposal.md`, `~/.codex/prompts/openspec-apply.md`, and `~/.codex/prompts/openspec-archive.md` (or under `$CODEX_HOME/prompts` if set)
39+
- **AND** populate each file from shared templates that map the first numbered placeholder (`$1`) to the primary user input (e.g., change identifier or question text)
40+
- **AND** wrap the generated content in OpenSpec markers so `openspec update` can refresh the prompts without touching surrounding custom notes
41+
2442
#### Scenario: Generating slash commands for GitHub Copilot
2543
- **WHEN** the user selects GitHub Copilot during initialization
2644
- **THEN** create `.github/prompts/openspec-proposal.prompt.md`, `.github/prompts/openspec-apply.prompt.md`, and `.github/prompts/openspec-archive.prompt.md`
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
## MODIFIED Requirements
2+
3+
### Requirement: Slash Command Updates
4+
The update command SHALL refresh existing slash command files for configured tools without creating new ones.
5+
6+
#### Scenario: Updating slash commands for Claude Code
7+
- **WHEN** `.claude/commands/openspec/` contains `proposal.md`, `apply.md`, and `archive.md`
8+
- **THEN** refresh each file using shared templates
9+
- **AND** ensure templates include instructions for the relevant workflow stage
10+
11+
#### Scenario: Updating slash commands for Cursor
12+
- **WHEN** `.cursor/commands/` contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
13+
- **THEN** refresh each file using shared templates
14+
- **AND** ensure templates include instructions for the relevant workflow stage
15+
16+
#### Scenario: Updating slash commands for OpenCode
17+
- **WHEN** `.opencode/command/` contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
18+
- **THEN** refresh each file using shared templates
19+
- **AND** ensure templates include instructions for the relevant workflow stage
20+
21+
#### Scenario: Updating slash commands for Windsurf
22+
- **WHEN** `.windsurf/workflows/` contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
23+
- **THEN** refresh each file using shared templates wrapped in OpenSpec markers
24+
- **AND** ensure templates include instructions for the relevant workflow stage
25+
- **AND** skip creating missing files (the update command only refreshes what already exists)
26+
27+
#### Scenario: Updating slash commands for Kilo Code
28+
- **WHEN** `.kilocode/workflows/` contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
29+
- **THEN** refresh each file using shared templates wrapped in OpenSpec markers
30+
- **AND** ensure templates include instructions for the relevant workflow stage
31+
- **AND** skip creating missing files (the update command only refreshes what already exists)
32+
33+
#### Scenario: Updating slash commands for Codex
34+
- **GIVEN** the global Codex prompt directory contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
35+
- **WHEN** a user runs `openspec update`
36+
- **THEN** refresh each file using the shared slash-command templates (including placeholder guidance)
37+
- **AND** preserve any unmanaged content outside the OpenSpec marker block
38+
- **AND** skip creation when a Codex prompt file is missing
39+
40+
#### Scenario: Updating slash commands for GitHub Copilot
41+
- **WHEN** `.github/prompts/` contains `openspec-proposal.prompt.md`, `openspec-apply.prompt.md`, and `openspec-archive.prompt.md`
42+
- **THEN** refresh each file using shared templates while preserving the YAML frontmatter
43+
- **AND** update only the OpenSpec-managed block between markers
44+
- **AND** ensure templates include instructions for the relevant workflow stage
45+
46+
#### Scenario: Missing slash command file
47+
- **WHEN** a tool lacks a slash command file
48+
- **THEN** do not create a new file during update

0 commit comments

Comments
 (0)