mirror of
https://github.com/github/spec-kit.git
synced 2026-08-03 06:26:30 +08:00
fix(integrations): Cline dispatches hyphenated /speckit-<cmd> invocations (#3622)
Cline installs its slash-commands with hyphenated names (speckit-plan, speckit-git-commit) via format_cline_command_name + the hyphenated command_filename, but ClineIntegration inherited MarkdownIntegration's build_command_invocation, which builds the dotted /speckit.<cmd> — a name Cline never registered. Add a build_command_invocation override reusing format_cline_command_name, producing /speckit-<name>, mirroring the ForgeIntegration fix. Cline was the only remaining markdown integration with invoke_separator='-' + hyphenated command_filename that lacked the override. Tests assert Cline core + extension invocations are hyphenated, incl. args (fail before: dotted /speckit.plan / /speckit.git.commit). Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -236,6 +236,24 @@ class TestBuildCommandInvocation:
|
||||
== "/speckit-git-commit fix typo"
|
||||
)
|
||||
|
||||
def test_cline_core_command_hyphenated(self):
|
||||
"""Cline installs hyphenated slash-commands (/speckit-<name>), so the
|
||||
dispatch invocation must be hyphenated too — not the dotted default it
|
||||
would inherit from MarkdownIntegration."""
|
||||
from specify_cli.integrations import get_integration
|
||||
i = get_integration("cline")
|
||||
assert i.build_command_invocation("speckit.plan") == "/speckit-plan"
|
||||
assert i.build_command_invocation("plan") == "/speckit-plan"
|
||||
|
||||
def test_cline_extension_command_hyphenated(self):
|
||||
from specify_cli.integrations import get_integration
|
||||
i = get_integration("cline")
|
||||
assert i.build_command_invocation("speckit.git.commit") == "/speckit-git-commit"
|
||||
assert (
|
||||
i.build_command_invocation("speckit.git.commit", "fix typo")
|
||||
== "/speckit-git-commit fix typo"
|
||||
)
|
||||
|
||||
|
||||
class TestResolveCommandRefs:
|
||||
"""Tests for __SPECKIT_COMMAND_<NAME>__ placeholder resolution."""
|
||||
|
||||
Reference in New Issue
Block a user