mirror of
https://github.com/github/spec-kit.git
synced 2026-07-03 12:28:06 +08:00
* fix: resolve command references per integration type (dot vs hyphen) Replace hardcoded /speckit.<cmd> references in templates with __SPECKIT_COMMAND_<NAME>__ placeholders that are resolved at setup time based on the integration type: - Markdown/TOML/YAML agents: separator='.' → /speckit.plan - Skills agents: separator='-' → /speckit-plan Changes: - Add resolve_command_refs() static method to IntegrationBase - Add invoke_separator class attribute (. for base, - for skills) - Wire into process_template() as step 8 - Update _install_shared_infra() to process page templates - Replace /speckit.* in 5 command templates and 3 page templates - Add unit tests for resolve_command_refs (positive + negative) - Add integration tests verifying on-disk content for all agents - Add end-to-end CLI tests for Claude (skills) and Copilot (markdown) Fixes #2347 * review: use effective_invoke_separator() for Copilot skills mode Address PR review feedback: instead of bleeding _skills_mode knowledge into the CLI layer, add effective_invoke_separator() method to IntegrationBase that accepts parsed_options. CopilotIntegration overrides it to return "-" when skills mode is requested. The CLI layer simply asks the integration for its separator — no hasattr or _skills_mode coupling. Also adds tests for the new method on both base and Copilot, plus an end-to-end test for 'specify init --integration copilot --integration-options --skills' verifying page templates get hyphen refs. * fix: build_command_invocation preserves full suffix for extension commands Previously rsplit('.', 1)[-1] on 'speckit.git.commit' yielded just 'commit', producing /speckit.commit instead of /speckit.git.commit (or /speckit-git-commit for skills). Fix: strip only the 'speckit.' prefix when present, then join remaining segments with the appropriate separator. Updated in IntegrationBase, SkillsIntegration, and CopilotIntegration. Added tests for extension commands in build_command_invocation across all three. * fix: Copilot dispatch_command() preserves full extension command suffix dispatch_command() had the same rsplit('.', 1)[-1] bug as build_command_invocation() — speckit.git.commit would dispatch as /speckit-commit instead of /speckit-git-commit in skills mode, or --agent speckit.commit instead of speckit.git.commit in default mode.
41 lines
1.3 KiB
Markdown
41 lines
1.3 KiB
Markdown
# [CHECKLIST TYPE] Checklist: [FEATURE NAME]
|
|
|
|
**Purpose**: [Brief description of what this checklist covers]
|
|
**Created**: [DATE]
|
|
**Feature**: [Link to spec.md or relevant documentation]
|
|
|
|
**Note**: This checklist is generated by the `__SPECKIT_COMMAND_CHECKLIST__` command based on feature context and requirements.
|
|
|
|
<!--
|
|
============================================================================
|
|
IMPORTANT: The checklist items below are SAMPLE ITEMS for illustration only.
|
|
|
|
The __SPECKIT_COMMAND_CHECKLIST__ command MUST replace these with actual items based on:
|
|
- User's specific checklist request
|
|
- Feature requirements from spec.md
|
|
- Technical context from plan.md
|
|
- Implementation details from tasks.md
|
|
|
|
DO NOT keep these sample items in the generated checklist file.
|
|
============================================================================
|
|
-->
|
|
|
|
## [Category 1]
|
|
|
|
- [ ] CHK001 First checklist item with clear action
|
|
- [ ] CHK002 Second checklist item
|
|
- [ ] CHK003 Third checklist item
|
|
|
|
## [Category 2]
|
|
|
|
- [ ] CHK004 Another category item
|
|
- [ ] CHK005 Item with specific criteria
|
|
- [ ] CHK006 Final item in this category
|
|
|
|
## Notes
|
|
|
|
- Check items off as completed: `[x]`
|
|
- Add comments or findings inline
|
|
- Link to relevant resources or documentation
|
|
- Items are numbered sequentially for easy reference
|