Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/agent_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ body:
value: |
Thanks for requesting a new agent! Before submitting, please check if the agent is already supported.

**Currently supported agents**: Alquimia AI, Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Command Code, Cursor, Devin for Terminal, Docker Agent, Factory Droid, DeepSeek Harness, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed
**Currently supported agents**: Alquimia AI, Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Command Code, Cursor, Devin for Terminal, Docker Agent, Factory Droid, DeepSeek Harness, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Grok Build, Hermes Agent, IBM Bob, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Muse Code, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, ZCode, Zed

- type: input
id: agent-name
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ body:
- Kiro CLI
- Lingma
- Mistral Vibe
- Muse Code
- Oh My Pi
- opencode
- Pi Coding Agent
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ body:
- Kiro CLI
- Lingma
- Mistral Vibe
- Muse Code
- Oh My Pi
- opencode
- Pi Coding Agent
Expand Down
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,7 @@ Require a command-line tool to be installed:
- **Forge**: `forge` CLI
- **DeepSeek Harness**: `dsh` CLI
- **Docker Agent**: `docker-agent` CLI
- **Muse Code**: `muse` CLI

### IDE-Based Agents

Expand Down
39 changes: 39 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,20 @@

All notable changes to the Specify CLI and templates are documented here.

# [1.0.4+adlc1] - 2026-09-03

### Changed

- **Upstream merge**: Synced with github/spec-kit through `1.0.4` + 7 post-release commits (11 commits, base 1.0.3+adlc1 → 1.0.4+adlc1; upstream HEAD `db648699`).
- New integration: `muse` (Muse Code, skills-based, #4413)
- New workflow feature: `slot` step type (#4352) — named output slots for inter-step data passing
- Script parity fix: bash branch-name sanitizing now matches Python/PowerShell twins (LC_ALL=C, printf, POSIX `--*` sed) across core + git-extension twins (#4286)
- Command ref: hyphen allowed in `__SPECKIT_COMMAND_*__` token names (#4356) — `agent-context.update` resolves correctly
- Workflow fixes: require `steps` body on while/do-while loops (#4149), remove unused scope input from bundled speckit workflow (#4401, bumps workflow catalog to 1.0.1)
- Community catalog: Axi, Evaluator Contract, Charter v0.6.1
- **5 conflicts resolved**: `pyproject.toml` (version → `1.0.4+adlc1`), `scripts/bash/create-new-feature.sh` (adopted upstream #4286 `clean_branch_name`/`generate_branch_name` parity fix; removed fork's old duplicate; kept all fork customizations), `extensions/git/scripts/powershell/create-new-feature-branch.ps1` (applied upstream's ASCII word-boundary acronym regex to fork's `Get-BranchName`; kept fork's `Invoke-WorktreeDelegation` intact — conflict was a merge-alignment collision), `src/specify_cli/integrations/base.py` (kept fork `resolve_command_refs` signature with `project_root` param; adopted upstream's hyphen-allowing regex `[A-Z0-9_-]*` + docstring), `workflows/catalog.json` (took upstream `updated_at` + speckit workflow 1.0.1; kept fork's `feature-squad` + `impl-converge-loop` entries)
- **Test adaptation**: `test_integration_muse.py` — `/speckit-constitution` next-steps assertion → `/spec-constitution` (fork prefix)

# [1.0.3+adlc1] - 2026-09-02

### Changed
Expand Down Expand Up @@ -4360,6 +4374,31 @@ This release migrates fork-specific customizations to a preset system to reduce

The following entries are from the upstream spec-kit project and are included for reference.

## [1.0.4] - 2026-09-02

### Changed

- fix(scripts): stop wrap composition looping on a token in core content (#4396)
- [extension] Update Charter extension to v0.6.1 (#4409)
- fix(workflows): keep non-ASCII text readable in written overlay files (#4148)
- fix(workflows): report overlay operation keys in declaration order (#4146)
- fix: skip corrupted state.json in list_runs() instead of aborting (#3904)
- fix(rovodev): guard non-string prompt names when merging prompts.yml (#4145)
- fix: narrow bare except Exception in preset command reconciliation (#3842)
- fix(workflows): refuse a filter mixed with a comparison operator instead of silently mis-binding it (#3894)
- fix: escape Rich markup in workflow error output (#3837)
- fix: add JSON error handling to auth config loader (#3836)
- fix: use missing_ok=True in extension ZIP cleanup (#3870)
- feat(presets): let a preset declare a required extension (#4250)
- fix(bundler): reject unsupported catalog payload versions (#4090)
- fix(extensions): install bundled extension updates from the local package (#4351)
- docs: clarify autonomous PR handling (#4392)
- fix(workflows): reject malformed step config on add (#4087)
- fix(powershell): stop create-new-feature crashing on a non-Latin description (#4138)
- fix(bundler): treat an explicit-null records field as missing, not "None" (#4136)
- Add DeepSeek Harness (DSH) integration (#4336)
- chore: release 1.0.3, begin 1.0.4.dev0 development (#4391)

## [1.0.3] - 2026-09-01

### Changed
Expand Down
1 change: 1 addition & 0 deletions FORK.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ When a fork release changes only bundled extension behavior, keep the CLI versio

| Version | Date | Base Upstream | Changes |
|---------|------|---------------|---------|
| 1.0.4+adlc1 | 2026-09-03 | 1.0.4 (`ab3d2fa8`) + 7 post-release commits (`db648699`) | Upstream merge (11 commits, 1.0.3+adlc1 → 1.0.4+adlc1). New integration: `muse` (Muse Code, #4413). New workflow `slot` step type (#4352). Script parity: bash branch-name sanitizing matches Python/PowerShell twins (LC_ALL=C, printf, POSIX `--*` sed) across core + git-extension twins (#4286). Command ref: hyphen allowed in `__SPECKIT_COMMAND_*__` tokens (#4356). Workflow fixes: require `steps` body on while/do-while (#4149), remove unused scope input from speckit workflow (#4401, catalog → 1.0.1). Community catalog: Axi, Evaluator Contract, Charter v0.6.1. **5 conflicts resolved**: `pyproject.toml` (version → `1.0.4+adlc1`), `scripts/bash/create-new-feature.sh` (adopted #4286 parity `clean_branch_name`/`generate_branch_name`, removed fork's old duplicate, kept fork issue-template/isolation/JSON customizations), `extensions/git/scripts/powershell/create-new-feature-branch.ps1` (applied upstream ASCII word-boundary acronym regex to fork's `Get-BranchName`; conflict was a merge-alignment collision with fork's `Invoke-WorktreeDelegation`), `src/specify_cli/integrations/base.py` (kept fork `resolve_command_refs` `project_root` param + adopted upstream hyphen-allowing regex), `workflows/catalog.json` (took upstream `updated_at`/1.0.1, kept fork's `feature-squad`/`impl-converge-loop`). Test adaptation: `test_integration_muse.py` `/speckit-constitution`→`/spec-constitution` (fork prefix). All hotspots (muse registration, agent-context-defaults muse entry, git bash twin LC_ALL=C, slot step registration, fork scripts `extract_constitution_rules`/`replace_date_placeholders`, `_core_fork`) auto-merged/verified clean. Ruff clean. Stacked on `chore/upstream-merge-1.0.3` (PR #114). |
| 1.0.3+adlc1 | 2026-09-02 | 1.0.3 (`6906bc58`) + 18 post-release commits (`0053c3a3`) | Upstream merge (149 commits, 0.16.2+adlc1 → 1.0.3+adlc1). Releases: 0.16.3, 0.16.4, 0.16.5, 1.0.0, 1.0.1, 1.0.2, 1.0.3 + post-1.0.3 main. New integrations: `dsh` (DeepSeek Harness, #4336), `docker-agent` (#4302); upstream `vibe` rewrite adopted (#4075) — fork dropped vibe's `_core_fork._inject_frontmatter_flag` delegation in favor of upstream's class staticmethod (matches claude/droid/alquimia); Junie dot-to-hyphen + command formatting (#4073); qodercli → SkillsIntegration (#4205); goose `goose run` dispatch (#3781). New preset features: required-extension declaration (#4250), resolution/precedence-ordered listing (#4104), self-contained namespaced preset commands (#4082), fail-closed unreadable provenance (#4092). Extensions: unified archive pipeline for bundled + remote updates (#4351 — supersedes fork's `install_from_directory` bundled path); scaffold extension config via bundler (#4285). Init: stop arrow-key picker hang in agent harnesses (#4178). Commands/scripts: `--require-spec` in check-prerequisites (#4367, ported to `adlc.spec.analyze`/`adlc.spec.converge` presets); taskstoissues regex `\bT\d{3,}\b` (#4101); PowerShell `Out-Null`/non-Latin fixes (#4188/#3891/#4138); feature-assess workflow (#4186). Hardening: auth URL ports, Rich markup escaping, `missing_ok` ZIP cleanup (#3870), TOCTOU RunState.load (#3839), non-UTF-8 tolerance, bounded HTTP, malformed overlay/step rejection. **9 conflicts resolved**: `pyproject.toml` (version → `1.0.3+adlc1`, kept fork name/description/httpx/force-include), `docs/docfx.json` (fork branding + upstream logo/favicon), `commands/init.py` (fork `accent()` theming + upstream `--non-interactive` error #4178), `extensions/_commands.py` (adopted upstream unified archive-update #4351 + `missing_ok` #3870; kept fork `accent()`, `_command_safe_id`, preserve-metadata/`restore()`; fixed `safe_id`→`cmd_id` undefined-var), `presets/__init__.py` (kept fork `replaced_commands` on upstream `command_templates` loop), `presets/_commands.py` (fork `accent()` + upstream resolution-order sort #4104), `integrations/vibe/__init__.py` (adopted upstream expanded version), `tests/integrations/test_integration_subcommand.py` (kept fork restructured file), `tests/test_presets.py` (kept fork whitespace-normalized assertion). Test adaptations: `test_integration_dsh.py` (spec/speckit prefix split), `test_integration_junie.py` (`_expected_files` `project` kwarg + fork file-scan, `/speckit-plan`→`/spec-plan`). All semantic hotspots (`integrations/__init__.py`, `events.py`, `extensions/__init__.py` catalog URLs, fork scripts `extract_constitution_rules`/`replace_date_placeholders`, `_core_fork`) auto-merged cleanly. Ruff clean. |
| 0.16.2+adlc1 | 2026-08-12 | 0.16.2 (`bd595cf8`) | Upstream merge (50 commits, 0.16.0+adlc3 → 0.16.2). New upstream features: `command-code` integration (Command Code CLI, skills-based, `$speckit-*` invocation, registered alphabetically in `_register_builtins()`); `feat(presets): resolve constitution templates at command time` (#3984 — constitution template resolved via `resolve-template` script at command time); `feat(extensions): accept provides.templates and provides.scripts in manifest` (#4012); checklist ownership semantics (reviewer-owned markers, read-only gate in implement, `--template checklist-template` flag); template content resolution (`TASKS_TEMPLATE_CONTENT`/`TEMPLATE_CONTENT` replace path-based loading); `scripts:` frontmatter added to `constitution` command. Upstream fixes: bounded response read in integration catalog fetch (#3818), non-UTF-8 catalog response wrapping (#4011), Rich markup escaping in bundle CLI (#4023), workflow condition/overlay hardening (#3881, #3883), duplicate provides.templates/scripts rejection (#4016), preset remove unreadable restore source (#4020), extension cache clear missing_ok (#3845), integration JSON removal missing_ok (#3846), preset catalog config read failure details (#3840), bug-test Python dependency provisioning (#4030). Community catalog: Keel Discovery, SpecKit Grill Me, Model Routing Governance; updates: Reconcile v1.1.0, Architecture Governance v0.5.2, Security Governance v0.6.2, Archive v1.2.2. **9 conflicts resolved**: `pyproject.toml` (version → `0.16.2+adlc1`), `scripts/bash/common.sh` (kept fork `extract_constitution_rules`/`load_team_directives_config` + adopted upstream `_python3_command`/`_sorted_extension_ids`/`resolve_template_content`), `scripts/bash/create-new-feature.sh` (adopted upstream content-based template write + kept fork `replace_date_placeholders` + restored missing `SPEC_FILE` definition), `scripts/powershell/create-new-feature.ps1` (parallel merge + restored `$specFile`), `scripts/python/create_new_feature.py` (union imports), `src/specify_cli/commands/bundle/__init__.py` (kept fork `accent()` theming + adopted upstream `_escape_markup` for user-supplied values across 9 console.print sites), `presets/catalog.json` (updated_at), `extensions/EXTENSION-API-REFERENCE.md` (union: fork `runtime_hooks` + upstream `templates`/`scripts`), `README.md` (fork `/spec.*` prefix + upstream Command Code mention). **Test adaptations**: `test_integration_catalog.py` (took upstream version — fork's `adbb0146` `open_url` mock workaround obsolete with upstream's `route_opener_open_through_urlopen` fixture), `test_integration_command_code.py` (fork `PKG_NAMES` prefix adaptation for `$spec-constitution` vs `$speckit-constitution`). **Template-to-preset alignment**: ported upstream changes to `adlc.spec.checklist.md` (`--template` flag, ownership section, TEMPLATE_CONTENT), `adlc.spec.constitution.md` (`scripts:` frontmatter for resolve-template), `adlc.spec.implement.md` (checklist marker semantics: completed→checked, read-only gate), `adlc.spec.tasks.md` (TASKS_TEMPLATE_CONTENT), `checklist-template.md` (Review Ownership + Marker Semantics). Ruff clean. 3760+ tests pass. |
| 0.16.0+adlc3 | 2026-08-11 | 0.16.0 (`adb2413a`) | `agentic-change` preset no longer preinstalled. `presets/catalog.json` flips `agentic-change.preinstall` from `true` to `false`; the preset's 4 commands (`/change.specify`, `/change.implement`, `/change.converge`, `/change.levelup`) are no longer auto-scaffolded by `specify init`. The preset remains `bundled: true` (shipped in the wheel) and installable on demand via `specify preset add agentic-change`. `agentic-sdlc` and `agentic-quick` presets are unaffected. No Python source changed — the install scaffold (`_init_fork.py:339-369`) already honors the catalog `preinstall` flag, so the flip is purely data-driven. Doc consistency: `presets/agentic-change/README.md` Installation section rewritten to declare opt-in status; `README.md` bundled-presets blurb (line 33) and table (line 284-294) split bundled-vs-preinstalled and mark `agentic-change` as ❌ opt-in. |
Expand Down
4 changes: 3 additions & 1 deletion docs/community/extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ The following community-contributed extensions are available in [`catalog.commun
| Archive Extension | Archive merged features into main project memory, resolving gaps and conflicts. | `docs` | Read+Write | [spec-kit-archive](https://github.com/stn1slv/spec-kit-archive) |
| ASCII Diagram Renderer | Renders hand-drawn ASCII/Unicode diagrams (state machine, architecture, flow, coverage map) of what spec/plan/tasks/analyze already say — plain text, no Mermaid renderer needed | `docs` | Read+Write | [spec-kit-ascii-diagram](https://github.com/MRZHUH/spec-kit-ascii-diagram) |
| Atlas | Synthesize spec-kit specs into faithful, interactive architecture storybooks & doc portals. | `docs` | Read-only | [spec-kit-atlas](https://github.com/ashbrener/spec-kit-atlas) |
| Axi Extension | A Spec Kit extension that renders a feature's markdown in a local browser review surface for human annotation, then returns the queued notes to the agent to apply. | `docs` | Read+Write | [spec-kit-axi](https://github.com/d0whc3r/spec-kit-axi) |
| Azure Cosmos DB | Best-practice Azure Cosmos DB code generation and review for any AI coding agent | `code` | Read+Write | [spec-kit-cosmosdb](https://github.com/AzureCosmosDB/spec-kit-cosmosdb) |
| Azure DevOps Integration | Sync user stories and tasks to Azure DevOps work items using OAuth authentication | `integration` | Read+Write | [spec-kit-azure-devops](https://github.com/pragya247/spec-kit-azure-devops) |
| BDD | Convert specs to Gherkin scenarios, scaffold step definitions, and verify acceptance test coverage | `process` | Read+Write | [spec-kit-bdd](https://github.com/RSginer/spec-kit-bdd) |
Expand All @@ -52,7 +53,7 @@ The following community-contributed extensions are available in [`catalog.commun
| Bugfix Workflow | Structured bugfix workflow — capture bugs, trace to spec artifacts, and patch specs surgically | `process` | Read+Write | [spec-kit-bugfix](https://github.com/Quratulain-bilal/spec-kit-bugfix) |
| Canon | Adds canon-driven (baseline-driven) workflows: spec-first, code-first, spec-drift. Requires Canon Core preset installation. | `process` | Read+Write | [spec-kit-canon](https://github.com/maximiliamus/spec-kit-canon/tree/master/extension) |
| Catalog CI | Automated validation for spec-kit community catalog entries — structure, URLs, diffs, and linting | `process` | Read-only | [spec-kit-catalog-ci](https://github.com/Quratulain-bilal/spec-kit-catalog-ci) |
| Charter | Compose modular project constitutions from shared fragment registries. Centralize governance rules, select per-project fragments, track upstream changes, and keep multi-project setups consistent. | `process` | Read+Write | [spec-kit-charter](https://github.com/Fyloss/spec-kit-charter) |
| Charter | Compose project constitutions from shared fragment registries | `process` | Read+Write | [spec-kit-charter](https://github.com/Fyloss/spec-kit-charter) |
| CI Guard | Spec compliance gates for CI/CD — verify specs exist, check drift, and block merges on gaps | `process` | Read-only | [spec-kit-ci-guard](https://github.com/Quratulain-bilal/spec-kit-ci-guard) |
| Checkpoint Extension | Commit the changes made during the middle of the implementation, so you don't end up with just one very large commit at the end | `code` | Read+Write | [spec-kit-checkpoint](https://github.com/aaronrsun/spec-kit-checkpoint) |
| Cleanup Extension | Post-implementation quality gate that reviews changes, fixes small issues (scout rule), creates tasks for medium issues, and generates analysis for large issues | `code` | Read+Write | [spec-kit-cleanup](https://github.com/dsrednicki/spec-kit-cleanup) |
Expand All @@ -66,6 +67,7 @@ The following community-contributed extensions are available in [`catalog.commun
| Dotdog | Import GitHub Spec Kit artifacts into local knowledge graphs for validation, analysis, search, and MCP queries. | `docs` | Read+Write | [dotdog](https://github.com/specdog/dotdog) |
| DUBSAR Memory | Local project memory for Spec Kit with explicit checkpoints, cross-session resume, and SHA-256 freshness for recorded specification, plan, and task references. | `visibility` | Read+Write | [dubsar-memory](https://github.com/kotnisofiane-bit/dubsar-memory) |
| EARS Requirements Syntax | Author, lint, and convert requirements using EARS - the five industry-standard sentence patterns for unambiguous, testable requirements | `docs` | Read+Write | [spec-kit-ears](https://github.com/dhruv-15-03/spec-kit-ears) |
| Evaluator Contract | Provider-neutral evaluator contract for evidence, provenance, uncertainty, and recovery across Spec-Driven Development phases. | `process` | Read+Write | [spec-kit-evaluator](https://github.com/electrohire/spec-kit-evaluator) |
| Extensify | Create and validate extensions and extension catalogs | `process` | Read+Write | [extensify](https://github.com/mnriem/spec-kit-extensions/tree/main/extensify) |
| Figma Starter | Turns a Figma section's screens into per-screen spec.md files, an app-level user-stories.md, and a build-order.md, then hands off to /speckit.specify | `integration` | Read+Write | [spec-kit-figma-starter](https://github.com/wavemaker/spec-kit-figma-starter) |
| Fix Findings | Automated analyze-fix-reanalyze loop that resolves spec findings until clean | `code` | Read+Write | [spec-kit-fix-findings](https://github.com/Quratulain-bilal/spec-kit-fix-findings) |
Expand Down
Loading
Loading