mirror of
https://github.com/github/spec-kit.git
synced 2026-03-16 18:33:07 +00:00
* feat: add Kimi Code (kimi) CLI agent support - Register kimi in AGENT_CONFIG with folder `.kimi/`, markdown format, requires_cli=True - Register kimi in CommandRegistrar.AGENT_CONFIGS - Add kimi to supported agents table in AGENTS.md and README.md - Add kimi to release packaging scripts (bash and PowerShell) - Add kimi CLI installation to devcontainer post-create script - Add kimi support to update-agent-context scripts (bash and PowerShell) - Add 4 consistency tests covering all kimi integration surfaces - Bump version to 0.1.14 and update CHANGELOG * fix: include .specify/templates/ and real command files in release ZIPs - Copy real command files from templates/commands/ (with speckit. prefix) instead of generating stubs, so slash commands have actual content - Add .specify/templates/ to every ZIP so ensure_constitution_from_template can find constitution-template.md on init - Add .vscode/settings.json to every ZIP - Having 3 top-level dirs prevents the extraction flatten heuristic from incorrectly stripping the agent config folder (.kimi/, .claude/, etc.) - Bump version to 0.1.14.1 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(kimi): use .kimi/skills/<name>/SKILL.md structure for Kimi Code CLI Kimi Code CLI uses a skills system, not flat command files: - Skills live in .kimi/skills/<name>/SKILL.md (project-level) - Invoked with /skill:<name> (e.g. /skill:speckit.specify) - Each skill is a directory containing SKILL.md with YAML frontmatter Changes: - AGENT_CONFIG["kimi"]["commands_subdir"] = "skills" (was "commands") - create-release-packages.sh: new create_kimi_skills() function creates skill directories with SKILL.md from real template content - Bump version to 0.1.14.2 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(test): align kimi commands_subdir assertion with skills structure * fix: use forward slashes for tabnine path in create-release-packages.ps1 * fix: align kimi to .kimi/skills convention and fix ARGUMENTS unbound variable * fix: address PR review comments for kimi agent support - Fix VERSION_NO_V undefined variable in create-github-release.sh - Restore version $1 argument handling in create-release-packages.sh - Fix tabnine/vibe/generic cases calling undefined generate_commands - Align roo path .roo/rules -> .roo/commands with AGENT_CONFIG - Fix kimi extension to use per-skill SKILL.md directory structure - Add parent mkdir before dest_file.write_text for nested paths - Restore devcontainer tools removed by regression + add Kimi CLI - Strengthen test_kimi_in_powershell_validate_set assertion * fix: restore release scripts and address all PR review comments - Restore create-release-packages.sh to original with full generate_commands/ rewrite_paths logic; add kimi case using create_kimi_skills function - Restore create-release-packages.ps1 to original with full Generate-Commands/ Rewrite-Paths logic; add kimi case using New-KimiSkills function - Restore create-github-release.sh to original with proper $1 argument handling and VERSION_NO_V; add kimi zip entries - Add test_ai_help_includes_kimi for consistency with other agents - Strengthen test_kimi_in_powershell_validate_set to check ValidateSet * fix: address second round of PR review comments - Add __AGENT__ and {AGENT_SCRIPT} substitutions in create_kimi_skills (bash) - Add __AGENT__ and {AGENT_SCRIPT} substitutions in New-KimiSkills (PowerShell) - Replace curl|bash Kimi installer with pipx install kimi-cli in post-create.sh * fix: align kimi skill naming and add extension registrar test - Fix install_ai_skills() to use speckit.<cmd> naming for kimi (dot separator) instead of speckit-<cmd>, matching /skill:speckit.<cmd> invocation convention and packaging scripts - Add test_kimi_in_extension_registrar to verify CommandRegistrar.AGENT_CONFIGS includes kimi with correct dir and SKILL.md extension * fix(test): align kimi skill name assertion with dot-separator convention test_skills_install_for_all_agents now expects speckit.specify (dot) for kimi and speckit-specify (hyphen) for all other agents, matching the install_ai_skills() implementation added in the previous commit. --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
10 KiB
10 KiB
Changelog
Recent changes to the Specify CLI and templates are documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- feat(extensions): support
.extensionignoreto exclude files/folders duringspecify extension add(#1781)
[0.2.0] - 2026-03-09
Changed
- feat: add Kimi Code CLI agent support
- fix: sync agent list comments with actual supported agents (#1785)
- feat(extensions): support multiple active catalogs simultaneously (#1720)
- Pavel/add tabnine cli support (#1503)
- Add Understanding extension to community catalog (#1778)
- Add ralph extension to community catalog (#1780)
- Update README with project initialization instructions (#1772)
- feat: add review extension to community catalog (#1775)
- Add fleet extension to community catalog (#1771)
- Integration of Mistral vibe support into speckit (#1725)
- fix: Remove duplicate options in specify.md (#1765)
- fix: use global branch numbering instead of per-short-name detection (#1757)
- Add Community Walkthroughs section to README (#1766)
- feat(extensions): add Jira Integration to community catalog (#1764)
- Add Azure DevOps Integration extension to community catalog (#1734)
- Fix docs: update Antigravity link and add initialization example (#1748)
- fix: wire after_tasks and after_implement hook events into command templates (#1702)
- make c ignores consistent with c++ (#1747)
- chore: bump version to 0.1.13 (#1746)
- feat: add kiro-cli and AGENT_CONFIG consistency coverage (#1690)
- feat: add verify extension to community catalog (#1726)
- Add Retrospective Extension to community catalog README table (#1741)
- fix(scripts): add empty description validation and branch checkout error handling (#1559)
- fix: correct Copilot extension command registration (#1724)
- fix(implement): remove Makefile from C ignore patterns (#1558)
- Add sync extension to community catalog (#1728)
- fix(checklist): clarify file handling behavior for append vs create (#1556)
- fix(clarify): correct conflicting question limit from 10 to 5 (#1557)
- chore: bump version to 0.1.12 (#1737)
- fix: use RELEASE_PAT so tag push triggers release workflow (#1736)
- fix: release-trigger uses release branch + PR instead of direct push to main (#1733)
- fix: Split release process to sync pyproject.toml version with git tags (#1732)
[0.1.14] - 2026-03-09
Added
- feat: add Tabnine CLI agent support
- Multi-Catalog Support (#1707): Extension catalog system now supports multiple active catalogs simultaneously via a catalog stack
- New
specify extension catalog listcommand lists all active catalogs with name, URL, priority, andinstall_allowedstatus - New
specify extension catalog addandspecify extension catalog removecommands for project-scoped catalog management - Default built-in stack includes
catalog.json(default, installable) andcatalog.community.json(community, discovery only) — community extensions are now surfaced in search results out of the box specify extension searchaggregates results across all active catalogs, annotating each result with source catalogspecify extension addenforcesinstall_allowedpolicy — extensions from discovery-only catalogs cannot be installed directly- Project-level
.specify/extension-catalogs.ymland user-level~/.specify/extension-catalogs.ymlconfig files supported, with project-level taking precedence SPECKIT_CATALOG_URLenvironment variable still works for backward compatibility (replaces full stack with single catalog)- All catalog URLs require HTTPS (HTTP allowed for localhost development)
- New
CatalogEntrydataclass inextensions.pyfor catalog stack representation - Per-URL hash-based caching for non-default catalogs; legacy cache preserved for default catalog
- Higher-priority catalogs win on merge conflicts (same extension id in multiple catalogs)
- 13 new tests covering catalog stack resolution, merge conflicts, URL validation, and
install_allowedenforcement - Updated RFC, Extension User Guide, and Extension API Reference documentation
- New
[0.1.13] - 2026-03-03
Changed
- feat: add kiro-cli and AGENT_CONFIG consistency coverage (#1690)
- feat: add verify extension to community catalog (#1726)
- Add Retrospective Extension to community catalog README table (#1741)
- fix(scripts): add empty description validation and branch checkout error handling (#1559)
- fix: correct Copilot extension command registration (#1724)
- fix(implement): remove Makefile from C ignore patterns (#1558)
- Add sync extension to community catalog (#1728)
- fix(checklist): clarify file handling behavior for append vs create (#1556)
- fix(clarify): correct conflicting question limit from 10 to 5 (#1557)
- chore: bump version to 0.1.12 (#1737)
- fix: use RELEASE_PAT so tag push triggers release workflow (#1736)
- fix: release-trigger uses release branch + PR instead of direct push to main (#1733)
- fix: Split release process to sync pyproject.toml version with git tags (#1732)
[0.1.13] - 2026-03-03
Fixed
- Copilot Extension Commands Not Visible: Fixed extension commands not appearing in GitHub Copilot when installed via
specify extension add --dev- Changed Copilot file extension from
.mdto.agent.mdinCommandRegistrar.AGENT_CONFIGSso Copilot recognizes agent files - Added generation of companion
.prompt.mdfiles in.github/prompts/during extension command registration, matching the release packaging behavior - Added cleanup of
.prompt.mdcompanion files when removing extensions viaspecify extension remove
- Changed Copilot file extension from
- Fixed a syntax regression in
src/specify_cli/__init__.pyin_build_ai_assistant_help()that brokeruffandpytestcollection in CI.
[0.1.12] - 2026-03-02
Changed
- fix: use RELEASE_PAT so tag push triggers release workflow (#1736)
- fix: release-trigger uses release branch + PR instead of direct push to main (#1733)
- fix: Split release process to sync pyproject.toml version with git tags (#1732)
[0.1.10] - 2026-03-02
Fixed
- Version Sync Issue (#1721): Fixed version mismatch between
pyproject.tomland git release tags- Split release process into two workflows:
release-trigger.ymlfor version management andrelease.ymlfor artifact building - Version bump now happens BEFORE tag creation, ensuring tags point to commits with correct version
- Supports both manual version specification and auto-increment (patch version)
- Git tags now accurately reflect the version in
pyproject.tomlat that commit - Prevents confusion when installing from source
- Split release process into two workflows:
[0.1.9] - 2026-02-28
Changed
- Updated dependency: bumped astral-sh/setup-uv from 6 to 7
[0.1.8] - 2026-02-28
Changed
- Updated dependency: bumped actions/setup-python from 5 to 6
[0.1.7] - 2026-02-27
Changed
- Updated outdated GitHub Actions versions
- Documented dual-catalog system for extensions
Fixed
- Fixed version command in documentation
Added
- Added Cleanup Extension to README
- Added retrospective extension to community catalog
[0.1.6] - 2026-02-23
Fixed
- Parameter Ordering Issues (#1641): Fixed CLI parameter parsing issue where option flags were incorrectly consumed as values for preceding options
- Added validation to detect when
--aior--ai-commands-dirincorrectly consume following flags like--hereor--ai-skills - Now provides clear error messages: "Invalid value for --ai: '--here'"
- Includes helpful hints suggesting proper usage and listing available agents
- Commands like
specify init --ai-skills --ai --herenow fail with actionable feedback instead of confusing "Must specify project name" errors - Added comprehensive test suite (5 new tests) to prevent regressions
- Added validation to detect when
[0.1.5] - 2026-02-21
Fixed
- AI Skills Installation Bug (#1658): Fixed
--ai-skillsflag not generating skill files for GitHub Copilot and other agents with non-standard command directory structures- Added
commands_subdirfield toAGENT_CONFIGto explicitly specify the subdirectory name for each agent - Affected agents now work correctly: copilot (
.github/agents/), opencode (.opencode/command/), windsurf (.windsurf/workflows/), codex (.codex/prompts/), kilocode (.kilocode/workflows/), q (.amazonq/prompts/), and agy (.agent/workflows/) - The
install_ai_skills()function now uses the correct path for all agents instead of assumingcommands/for everyone
- Added
[0.1.4] - 2026-02-20
Fixed
- Qoder CLI detection: Renamed
AGENT_CONFIGkey from"qoder"to"qodercli"to match the actual executable name, fixingspecify checkandspecify init --aidetection failures
[0.1.3] - 2026-02-20
Added
- Generic Agent Support: Added
--ai genericoption for unsupported AI agents ("bring your own agent")- Requires
--ai-commands-dir <path>to specify where the agent reads commands from - Generates Markdown commands with
$ARGUMENTSformat (compatible with most agents) - Example:
specify init my-project --ai generic --ai-commands-dir .myagent/commands/ - Enables users to start with Spec Kit immediately while their agent awaits formal support
- Requires
[0.0.102] - 2026-02-20
- fix: include 'src/**' path in release workflow triggers (#1646)
[0.0.101] - 2026-02-19
- chore(deps): bump github/codeql-action from 3 to 4 (#1635)
[0.0.100] - 2026-02-19
- Add pytest and Python linting (ruff) to CI (#1637)
- feat: add pull request template for better contribution guidelines (#1634)
[0.0.99] - 2026-02-19
- Feat/ai skills (#1632)
[0.0.98] - 2026-02-19
- chore(deps): bump actions/stale from 9 to 10 (#1623)
- feat: add dependabot configuration for pip and GitHub Actions updates (#1622)
[0.0.97] - 2026-02-18
- Remove Maintainers section from README.md (#1618)
[0.0.96] - 2026-02-17
- fix: typo in plan-template.md (#1446)
[0.0.95] - 2026-02-12
- Feat: add a new agent: Google Anti Gravity (#1220)
[0.0.94] - 2026-02-11
- Add stale workflow for 180-day inactive issues and PRs (#1594)