Skip to content

fix(extensions): hyphenate command names in 'extension info' listing - #3744

Merged
mnriem merged 1 commit into
github:mainfrom
Quratulain-bilal:fix/extension-info-command-name-parity
Jul 27, 2026
Merged

fix(extensions): hyphenate command names in 'extension info' listing#3744
mnriem merged 1 commit into
github:mainfrom
Quratulain-bilal:fix/extension-info-command-name-parity

Conversation

@Quratulain-bilal

Copy link
Copy Markdown
Contributor

Problem

The Commands: section of specify extension info (for a locally-installed extension) prints each command in its manifest dotted form, e.g. speckit.jira.sync. Cline and Forge register hyphenated command names (/speckit-jira-sync), so on those projects the names shown by info don't match what the user actually invokes.

This is the same parity extension add already applies to its "Provided commands" listing (#3669), and the same command-name parity fixed for hook invocations (#3641) and the init next-steps panel (#3642) — the info listing was simply missed.

Fix

Format each command name through the active agent's formatter (format_cline_command_name / format_forge_command_name), mirroring the exact approach in extension_add. Other agents are unaffected (dotted form retained).

Tests

Adds test_forge_extension_info_hyphenates_command_names: on a Forge project it asserts the info output contains the hyphenated speckit-test-ext-hello and not the dotted speckit.test-ext.hello. Fails on pre-fix code (prints dotted), passes after. Full tests/test_extensions.py: 385 passed.

The 'Commands:' section of 'specify extension info' for a locally installed
extension printed each command in its manifest dotted form
(e.g. speckit.jira.sync). Cline and Forge register hyphenated command names
(/speckit-jira-sync), so on those projects the displayed names did not match
what the user actually invokes.

Format each name through the active agent's command-name formatter, mirroring
the parity 'extension add' already applies to its 'Provided commands' listing
(github#3669) and completing the Forge/Cline command-name parity from github#3641/github#3642.

Adds a regression test asserting the hyphenated form appears (and the dotted
form does not) for a Forge project.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates local extension details so Forge and Cline command names match their hyphenated invocation format.

Changes:

  • Formats locally installed extension commands for Forge and Cline.
  • Adds Forge regression coverage for extension info.
Show a summary per file
File Description
src/specify_cli/extensions/_commands.py Applies active-agent command formatting.
tests/test_extensions.py Verifies Forge command-name hyphenation.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Medium

@mnriem
mnriem merged commit e6a3ccf into github:main Jul 27, 2026
14 checks passed
@mnriem

mnriem commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants