mirror of
https://github.com/github/spec-kit.git
synced 2026-03-17 02:43:08 +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>
222 lines
10 KiB
Markdown
222 lines
10 KiB
Markdown
# Changelog
|
|
|
|
<!-- markdownlint-disable MD024 -->
|
|
|
|
Recent changes to the Specify CLI and templates are documented here.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
|
|
- feat(extensions): support `.extensionignore` to exclude files/folders during `specify 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 list` command lists all active catalogs with name, URL, priority, and `install_allowed` status
|
|
- New `specify extension catalog add` and `specify extension catalog remove` commands for project-scoped catalog management
|
|
- Default built-in stack includes `catalog.json` (default, installable) and `catalog.community.json` (community, discovery only) — community extensions are now surfaced in search results out of the box
|
|
- `specify extension search` aggregates results across all active catalogs, annotating each result with source catalog
|
|
- `specify extension add` enforces `install_allowed` policy — extensions from discovery-only catalogs cannot be installed directly
|
|
- Project-level `.specify/extension-catalogs.yml` and user-level `~/.specify/extension-catalogs.yml` config files supported, with project-level taking precedence
|
|
- `SPECKIT_CATALOG_URL` environment variable still works for backward compatibility (replaces full stack with single catalog)
|
|
- All catalog URLs require HTTPS (HTTP allowed for localhost development)
|
|
- New `CatalogEntry` dataclass in `extensions.py` for 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_allowed` enforcement
|
|
- Updated RFC, Extension User Guide, and Extension API Reference documentation
|
|
|
|
## [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 `.md` to `.agent.md` in `CommandRegistrar.AGENT_CONFIGS` so Copilot recognizes agent files
|
|
- Added generation of companion `.prompt.md` files in `.github/prompts/` during extension command registration, matching the release packaging behavior
|
|
- Added cleanup of `.prompt.md` companion files when removing extensions via `specify extension remove`
|
|
- Fixed a syntax regression in `src/specify_cli/__init__.py` in `_build_ai_assistant_help()` that broke `ruff` and `pytest` collection 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.toml` and git release tags
|
|
- Split release process into two workflows: `release-trigger.yml` for version management and `release.yml` for 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.toml` at that commit
|
|
- Prevents confusion when installing from source
|
|
|
|
## [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 `--ai` or `--ai-commands-dir` incorrectly consume following flags like `--here` or `--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 --here` now fail with actionable feedback instead of confusing "Must specify project name" errors
|
|
- Added comprehensive test suite (5 new tests) to prevent regressions
|
|
|
|
## [0.1.5] - 2026-02-21
|
|
|
|
### Fixed
|
|
|
|
- **AI Skills Installation Bug (#1658)**: Fixed `--ai-skills` flag not generating skill files for GitHub Copilot and other agents with non-standard command directory structures
|
|
- Added `commands_subdir` field to `AGENT_CONFIG` to 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 assuming `commands/` for everyone
|
|
|
|
## [0.1.4] - 2026-02-20
|
|
|
|
### Fixed
|
|
|
|
- **Qoder CLI detection**: Renamed `AGENT_CONFIG` key from `"qoder"` to `"qodercli"` to match the actual executable name, fixing `specify check` and `specify init --ai` detection failures
|
|
|
|
## [0.1.3] - 2026-02-20
|
|
|
|
### Added
|
|
|
|
- **Generic Agent Support**: Added `--ai generic` option 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 `$ARGUMENTS` format (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
|
|
|
|
## [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)
|