[Bug]: Cline extension and preset commands have `speckit.*.md` file names rewritten to `speckit-*-md`
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 82/100
Rechercherichtung
Beginne mit CommandRegistrar._hyphenate_body_refs und _hyphenate_frontmatter_refs in src/specify_cli/agents.py und untersuche anschließend, wie Erweiterungsbefehle an den referenzierten Zeilen registriert werden. Reproduziere das Beispiel mit dem Befehlspfad und dem Slash-Befehl und prüfe, ob es verwandte Tests zur Umschreibung von Cline-Referenzen gibt. Fertig ist die Arbeit, wenn Befehlsreferenzen mit Bindestrichen versehen werden, Dateinamen aber ihre .md-Erweiterung behalten; füge gezielte Tests für beide Fälle hinzu oder aktualisiere sie.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Bug Description
When an extension or preset command is registered for Cline (src/specify_cli/agents.py:718, 831-833), the command body goes through CommandRegistrar._hyphenate_body_refs (agents.py:114-120). This replaces every dot in any speckit.<a>.<b>... token with a hyphen, so that command references match Cline's hyphenated file names. The regex also matches file names, so a path such as speckit.git.commit.md becomes speckit-git-commit-md, which names no file. The frontmatter goes through the same rewrite in _hyphenate_frontmatter_refs (agents.py:96-111).
The expectation here is inferred rather than documented. The bundled extensions name their command files speckit.<ext>.<cmd>.md (extensions/git/extension.yml:21-33). The extension development guide refers to files by those names (extensions/EXTENSION-DEVELOPMENT-GUIDE.md:306-308). The method's docstring describes its purpose as hyphenating "dotted speckit references". I could not find a doc or test that says file names should be rewritten too.
Steps to Reproduce
From a fresh clone, after uv sync, save the script below and run uv run python -I repro.py from the repository root.
from specify_cli.agents import CommandRegistrar
body = "Edit `.specify/extensions/git/commands/speckit.git.commit.md`, then run /speckit.git.commit."
print("in :", body)
print("out:", CommandRegistrar._hyphenate_body_refs(body))
Expected Behavior
The command reference /speckit.git.commit should become /speckit-git-commit, and the file name speckit.git.commit.md should be left alone (or at least keep its .md extension). This is inferred from the file naming in extensions/git/extension.yml:21-33 and extensions/EXTENSION-DEVELOPMENT-GUIDE.md:306-308, as described above.
Actual Behavior
in : Edit `.specify/extensions/git/commands/speckit.git.commit.md`, then run /speckit.git.commit.
out: Edit `.specify/extensions/git/commands/speckit-git-commit-md`, then run /speckit-git-commit.
Specify CLI Version
1.2.4.dev0 (main at 27d14e2)
AI Agent
Cline
Operating System
Linux 6.18 (Ubuntu container)
Python Version
Python 3.12.3
Additional Context
This only affects Cline, and only command bodies (from extensions or presets) that mention spec-kit command file names.
Also reproduced on macOS (Darwin 25.6, arm64) with Python 3.14.4 and uv run python -I repro.py against 27d14e2; the output matches the above.
AI Disclosure
Found and reproduced with Claude Code (model: Claude Opus 4.8), run autonomously under human supervision. The human reporter re-ran every reproduction above before filing.
- Vorherrschende Sprache
- Python
- Sterne
- 144k
- Forks
- 12.9k
- Ø Merge
- 1 T. 6 Std.
- Gemergte PRs (30 T.)
- 194
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus github/spec-kit
-
The Python branch-creation port accepts an oversized `--number` and crashes at `int()` instead of rejecting itEvtl. vergeben @github-actions hat das vor 4 Tagen übernommen. Offenbug-assess bug-fix bug-test fix-proposed severity-low tests-passing triage-can-wait
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
github/spec-kit#5194 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: `create-new-feature.sh` rejects the feature descriptions `-n`, `-e` and `-E`, which the Python script acceptsEvtl. vergeben @WOLIKIMCHENG hat das vor 8 Tagen übernommen. Offentriage-can-wait
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: `bundle init <bundle>` initialises with the default integration instead of the bundle's, then aborts with a clashEvtl. vergeben @chelsealong hat das vor 9 Tagen übernommen. Offentriage-must-have
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: `specify preset set-priority` does not update agent command files that are already writtenEvtl. vergeben @mikamikasuki hat das vor 9 Tagen übernommen. Offentriage-must-have
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: Local config override file name differs between the docs (`<id>-config.local.yml`) and ConfigManager (`local-config.yml`)Evtl. vergeben @gavenren hat das vor 6 Tagen übernommen. Offentriage-must-have
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in github/spec-kit
Ähnliche Issues
-
New InternshipOffennew_internship
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
get_graph warns that the oneway column is missing when no way has a oneway tagEvtl. vergeben @HTenkanen hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
cython/cython#8110 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
fix: security 🔐 style: article/section 📝 system: data-mgmt 🗃️ system: security 🔐 system: software 💻
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
uabrc/uabrc.github.io#1267 ·
-
Link Checker ReportOffenBot Type: Bug Type: Documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag