mirror of
https://github.com/Fission-AI/OpenSpec.git
synced 2026-09-14 20:16:53 +08:00
345f9dbb45
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.
3.2 KiB
3.2 KiB
Why
- GitHub Copilot supports custom slash commands through markdown files in
.github/prompts/<name>.prompt.md. Each file includes YAML frontmatter with adescriptionlabel and uses$ARGUMENTSto capture user input. This format allows teams to expose curated workflows directly in Copilot's chat interface. - Teams already rely on OpenSpec to manage slash-command configurations for Claude Code, Cursor, OpenCode, Codex, Kilo Code, and Windsurf. Excluding GitHub Copilot forces developers to manually maintain OpenSpec prompts in
.github/prompts/, which leads to drift and undermines OpenSpec's "single source of truth" promise. - GitHub Copilot discovers prompts from the repository's
.github/prompts/directory, making it straightforward to version control and share across the team. Adding automated generation and refresh throughopenspec initandopenspec updateeliminates manual synchronization and keeps OpenSpec instructions consistent across all AI assistants.
What Changes
- Add GitHub Copilot to the
openspec inittool picker with "already configured" detection similar to other editors, wiring an implementation that writes managed Markdown prompt files to.github/prompts/with OpenSpec marker blocks. - Generate three GitHub Copilot prompt files—
openspec-proposal.prompt.md,openspec-apply.prompt.md, andopenspec-archive.prompt.md—whose content mirrors shared slash-command templates while conforming to Copilot's frontmatter and$ARGUMENTSplaceholder convention. - Document GitHub Copilot's repository-based discovery and that OpenSpec writes prompts to
.github/prompts/with managed blocks. - Teach
openspec updateto refresh existing GitHub Copilot prompts in-place (only when they already exist) in the repository's.github/prompts/directory. - Document GitHub Copilot support alongside other slash-command integrations and add test coverage that exercises init/update behavior for
.github/prompts/files.
Impact
- Specs:
cli-init,cli-update - Code:
src/core/configurators/slash/github-copilot.ts(new),src/core/configurators/slash/registry.ts,src/core/templates/slash-command-templates.ts, CLI tool summaries, docs - Tests: integration coverage for GitHub Copilot prompt scaffolding and refresh logic
- Docs: README and CHANGELOG entries announcing GitHub Copilot slash-command support
Current Spec Reference
specs/cli-init/spec.md- Requirements cover init UX, directory scaffolding, AI tool configuration, and existing slash-command support for Claude Code, Cursor, OpenCode, Codex, Kilo Code, and Windsurf.
- Our
## MODIFIEDdelta inchanges/.../specs/cli-init/spec.mdwill copy the full "Slash Command Configuration" requirement (header, description, and all scenarios) before appending the new GitHub Copilot scenario so archiving retains every prior scenario.
specs/cli-update/spec.md- Requirements define update preconditions, template refresh behavior, and slash-command refresh logic for existing tools.
- The corresponding delta preserves the entire "Slash Command Updates" requirement while adding the GitHub Copilot refresh scenario, ensuring the archive workflow replaces the block without losing existing scenarios or the "Missing slash command file" guardrail.