Files
fission-ai__openspec/openspec/changes/fix-opencode-commands-directory/tasks.md
Fabián Silva 61eb999f7c fix(opencode): use plural commands/ directory to match OpenCode convention (#760)
* fix(opencode): use plural `commands/` directory to match OpenCode convention

The OpenCode adapter was using `.opencode/command/` (singular) but OpenCode's
official documentation specifies `.opencode/commands/` (plural). This aligns
with every other adapter in the codebase. Legacy cleanup updated to detect
old singular-path artifacts. Fixes #748.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(legacy): detect both opsx-* and openspec-* patterns, auto-cleanup in CI

- Extend LegacySlashCommandPattern.pattern to accept string | string[]
- OpenCode legacy entry now detects both opsx-*.md and openspec-*.md
- Auto-cleanup legacy artifacts in non-interactive mode instead of
  aborting with exit 1 (safe: slash commands are OpenSpec-managed,
  config cleanup only removes markers)
- Add 7 tests (6 legacy detection + 1 non-interactive init)
- Update spec with array pattern support and auto-cleanup scenario

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: update task description to reflect dual-pattern support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Tabish Bidiwale <30385142+TabishB@users.noreply.github.com>
2026-02-27 00:08:22 -08:00

1002 B

1. Adapter Fix

  • 1.1 Update src/core/command-generation/adapters/opencode.ts: change path.join('.opencode', 'command', ...) to path.join('.opencode', 'commands', ...) and update the JSDoc comment

2. Legacy Cleanup

  • 2.1 Update src/core/legacy-cleanup.ts: update the 'opencode' entry in LEGACY_SLASH_COMMAND_PATHS to detect both opsx-*.md and openspec-*.md patterns at .opencode/command/ for backward compatibility

3. Documentation

  • 3.1 Update docs/supported-tools.md: change OpenCode command path from .opencode/command/opsx-<id>.md to .opencode/commands/opsx-<id>.md

4. Tests

  • 4.1 Update test/core/command-generation/adapters.test.ts: change the OpenCode file path assertion from path.join('.opencode', 'command', 'opsx-explore.md') to path.join('.opencode', 'commands', 'opsx-explore.md')

5. Changeset

  • 5.1 Create a changeset file (.changeset/fix-opencode-commands-directory.md) with a patch bump describing the path fix