Skip to content

Commit 61470a2

Browse files
committed
Merge origin/main into fix/branch-name-acronym-bash32
Assisted-by: OpenAI Codex (model: GPT-5, autonomous)
2 parents 7a00bce + 20f4306 commit 61470a2

34 files changed

Lines changed: 812 additions & 177 deletions

‎.github/ISSUE_TEMPLATE/agent_request.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ body:
88
value: |
99
Thanks for requesting a new agent! Before submitting, please check if the agent is already supported.
1010
11-
**Currently supported agents**: Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Cursor, Devin for Terminal, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, Hermes Agent, IBM Bob, iFlow CLI, Junie, Kilo Code, Kimi Code, Kiro CLI, Lingma, Mistral Vibe, Oh My Pi, opencode, Pi Coding Agent, Qoder CLI, Qwen Code, Roo Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, Windsurf, ZCode, Zed
11+
**Currently supported agents**: Amp, Antigravity, Auggie CLI, Claude Code, Cline, CodeBuddy, Codex CLI, Cursor, Devin for Terminal, Firebender, Forge, Gemini CLI, GitHub Copilot, Goose, 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, Roo Code, RovoDev ACLI, SHAI, Tabnine CLI, Trae, Windsurf, ZCode, Zed
1212
1313
- type: input
1414
id: agent-name

‎.github/ISSUE_TEMPLATE/bug_report.yml‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ body:
7878
- Goose
7979
- Hermes Agent
8080
- IBM Bob
81-
- iFlow CLI
8281
- Junie
8382
- Kilo Code
8483
- Kimi Code

‎.github/ISSUE_TEMPLATE/feature_request.yml‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ body:
7272
- Goose
7373
- Hermes Agent
7474
- IBM Bob
75-
- iFlow CLI
7675
- Junie
7776
- Kilo Code
7877
- Kimi Code

‎.github/workflows/lint.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
# for portable case conversion.
6262
- name: Reject bash 4+ case-modification expansions
6363
run: |
64-
matches=$(git ls-files -z -- '*.sh' | xargs -0 grep -nE '\$\{[A-Za-z_][A-Za-z0-9_]*(\[[^]]*\])?(\^\^?|,,?|~~?|@[UuLl])' || true)
64+
matches=$(git ls-files -z -- '*.sh' | xargs -0 grep -nE '\$\{[A-Za-z_][A-Za-z0-9_]*(\[[^]]*\])?(\^\^?|,,?|~~?|@[UuLl])[^}]*\}' || true)
6565
if [ -n "$matches" ]; then
6666
echo "Found bash 4+ case-modification expansion(s); use tr for portability (macOS ships bash 3.2):"
6767
echo "$matches"

‎.github/workflows/test.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
- name: Set up Python
2222
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
2323
with:
24-
python-version: "3.13"
24+
python-version: "3.14"
2525

2626
- name: Run ruff check
2727
run: uvx ruff check src/
@@ -30,8 +30,8 @@ jobs:
3030
runs-on: ${{ matrix.os }}
3131
strategy:
3232
matrix:
33-
os: [ubuntu-latest, windows-latest]
34-
python-version: ["3.11", "3.12", "3.13"]
33+
os: [ubuntu-latest, windows-latest, macos-latest]
34+
python-version: ["3.13", "3.14"]
3535
steps:
3636
- name: Checkout
3737
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

‎CHANGELOG.md‎

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,20 @@
22

33
<!-- insert new changelog below this comment -->
44

5-
- fix(scripts): make branch-name acronym retention portable (uppercase via `tr` instead of bash-4-only `${word^^}`, whole-word match via `grep -w` instead of a non-portable `\b` word-boundary pattern in default grep modes), fixing acronym/short-word retention on macOS's default bash 3.2
5+
## [0.12.1] - 2026-06-30
6+
7+
### Changed
8+
9+
- chore: align CI Python matrix with devguide lifecycle + fix bash 3.2 portability (#3244)
10+
- fix: stop check-prerequisites --paths-only from writing feature.json (#3025) (#3190)
11+
- docs: document integration catalog subcommands (#3206)
12+
- fix(scripts): use ASCII [OK] marker in initialize-repo.sh (parity with PowerShell twin) (#3231)
13+
- docs: document integration `search`/`info`/`scaffold` subcommands (#3174) (#3194)
14+
- docs: remove Cursor from `specify check` agent list (#3178) (#3193)
15+
- fix(goose): repoint install_url and docs to goose-docs.ai (#3171) (#3215)
16+
- fix(scripts): route 'Plan template not found' per --json in setup-plan.ps1 (parity with bash) (#3241)
17+
- fix(bundle): send command errors to stderr so --json stdout stays parseable (#3235)
18+
- chore: release 0.12.0, begin 0.12.1.dev0 development (#3243)
619

720
## [0.12.0] - 2026-06-29
821

‎docs/community/extensions.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ The following community-contributed extensions are available in [`catalog.commun
3131
| API Evolve | Managed API contract evolution — breaking-change detection, semver enforcement, deprecation orchestration, and lifecycle gates across REST, GraphQL, and gRPC | `process` | Read+Write | [spec-kit-api-evolve](https://github.com/Quratulain-bilal/spec-kit-api-evolve) |
3232
| Architect Impact Previewer | Predicts architectural impact, complexity, and risks of proposed changes before implementation. | `visibility` | Read-only | [spec-kit-architect-preview](https://github.com/UmmeHabiba1312/spec-kit-architect-preview) |
3333
| Architecture Guard | Framework-agnostic architecture review extension for validating implementation against governance and architecture constitutions, detecting architectural drift, and generating non-blocking refactor tasks | `process` | Read+Write | [spec-kit-architecture-guard](https://github.com/DyanGalih/spec-kit-architecture-guard) |
34-
| Architecture Workflow | Generate or reverse project-level 4+1 architecture views as separate commands | `docs` | Read+Write | [spec-kit-arch](https://github.com/bigsmartben/spec-kit-arch) |
34+
| Architecture Workflow | Generate or reverse project-level 4+1 architecture views with per-view and full-workflow commands | `docs` | Read+Write | [spec-kit-arch](https://github.com/bigsmartben/spec-kit-arch) |
3535
| Archive Extension | Archive merged features into main project memory. | `docs` | Read+Write | [spec-kit-archive](https://github.com/stn1slv/spec-kit-archive) |
3636
| 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) |
3737
| Blueprint | Stay code-literate in AI-driven development: review a complete code blueprint for every task from spec artifacts before /speckit.implement runs | `docs` | Read+Write | [spec-kit-blueprint](https://github.com/chordpli/spec-kit-blueprint) |
@@ -98,6 +98,7 @@ The following community-contributed extensions are available in [`catalog.commun
9898
| Reconcile Extension | Reconcile implementation drift by surgically updating feature artifacts. | `docs` | Read+Write | [spec-kit-reconcile](https://github.com/stn1slv/spec-kit-reconcile) |
9999
| Red Team | Adversarial review of specs before /speckit.plan — parallel lens agents surface risks that clarify/analyze structurally can't (prompt injection, integrity gaps, cross-spec drift, silent failures). Produces a structured findings report; no auto-edits to specs. | `docs` | Read+Write | [spec-kit-red-team](https://github.com/ashbrener/spec-kit-red-team) |
100100
| Research Harness | State-externalizing research harness: budgeted exploration, evidence curation, and claim verification for spec-driven development | `process` | Read+Write | [spec-kit-harness](https://github.com/formin/spec-kit-harness) |
101+
| Repository Governance | Generate project-governance projections from Spec Kit metadata | `process` | Read+Write | [spec-kit-agent-governance](https://github.com/bigsmartben/spec-kit-agent-governance) |
101102
| Repository Index | Generate index for existing repo for overview, architecture and module level. | `docs` | Read-only | [spec-kit-repoindex](https://github.com/liuyiyu/spec-kit-repoindex) |
102103
| Reqnroll BDD | Adds Reqnroll BDD planning, Gherkin generation, traceability, safe task injection, handoff, and verification to Spec Kit | `process` | Read+Write | [spec-kit-reqnroll-bdd](https://github.com/LoogacyStudio/spec-kit-reqnroll-bdd) |
103104
| Retro Extension | Sprint retrospective analysis with metrics, spec accuracy assessment, and improvement suggestions | `process` | Read+Write | [spec-kit-retro](https://github.com/arunt14/spec-kit-retro) |

‎docs/installation.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
## Prerequisites
44

55
- **Linux/macOS** (or Windows; PowerShell scripts now supported without WSL)
6-
- AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), [Codebuddy CLI](https://www.codebuddy.ai/cli), [Gemini CLI](https://github.com/google-gemini/gemini-cli), [Pi Coding Agent](https://pi.dev), or [Oh My Pi](https://www.npmjs.com/package/@oh-my-pi/pi-coding-agent)
6+
- AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), [CodeBuddy CLI](https://www.codebuddy.cn/docs/cli/installation), [Gemini CLI](https://github.com/google-gemini/gemini-cli), [Pi Coding Agent](https://pi.dev), or [Oh My Pi](https://www.npmjs.com/package/@oh-my-pi/pi-coding-agent)
77
- [uv](https://docs.astral.sh/uv/) for package management (recommended) or [pipx](https://pipx.pypa.io/) for persistent installation
88
- [Python 3.11+](https://www.python.org/downloads/)
99
- [Git](https://git-scm.com/downloads) _(optional — required only when the git extension is enabled)_

‎docs/reference/integrations.md‎

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
1111
| [Auggie CLI](https://docs.augmentcode.com/cli/overview) | `auggie` | |
1212
| [Claude Code](https://www.anthropic.com/claude-code) | `claude` | Skills-based integration; installs skills in `.claude/skills` |
1313
| [Cline](https://github.com/cline/cline) | `cline` | IDE-based agent |
14-
| [CodeBuddy CLI](https://www.codebuddy.ai/cli) | `codebuddy` | |
14+
| [CodeBuddy CLI](https://www.codebuddy.cn/docs/cli/installation) | `codebuddy` | |
1515
| [Codex CLI](https://github.com/openai/codex) | `codex` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `$speckit-<command>` |
1616
| [Cursor](https://cursor.sh/) | `cursor-agent` | |
1717
| [Devin for Terminal](https://cli.devin.ai/docs) | `devin` | Skills-based integration; installs skills into `.devin/skills/` and invokes them as `/speckit-<command>` |
@@ -22,7 +22,6 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
2222
| [Goose](https://goose-docs.ai/) | `goose` | Uses YAML recipe format in `.goose/recipes/` |
2323
| [Hermes](https://github.com/NousResearch/hermes-agent) | `hermes` | Skills-based integration; installs skills globally into `~/.hermes/skills/` |
2424
| [IBM Bob](https://www.ibm.com/products/bob) | `bob` | IDE-based agent |
25-
| [iFlow CLI](https://docs.iflow.cn/en/cli/quickstart) | `iflow` | |
2625
| [Junie](https://junie.jetbrains.com/) | `junie` | |
2726
| [Kilo Code](https://github.com/Kilo-Org/kilocode) | `kilocode` | |
2827
| [Kimi Code](https://code.kimi.com/) | `kimi` | Skills-based integration; installs into `.kimi-code/skills/`. `--migrate-legacy` moves old `.kimi/skills/` installs to the new paths, and (when the `agent-context` extension is enabled) migrates `KIMI.md` context into `AGENTS.md` |
@@ -173,6 +172,47 @@ is `null` when no installed integration set can be evaluated, such as when the
173172
integration state is missing, unreadable, lacks a valid recorded integration
174173
list, or records no installed integrations.
175174

175+
## Catalog Management
176+
177+
Integration catalogs control where the discovery commands (`search` and `info`) look for integrations. Catalogs are checked in priority order.
178+
179+
### List Catalogs
180+
181+
```bash
182+
specify integration catalog list
183+
```
184+
185+
Shows the active catalog sources. Project-level sources (when configured) are removable by index; otherwise the active sources are shown as non-removable.
186+
187+
### Add a Catalog
188+
189+
```bash
190+
specify integration catalog add <url>
191+
```
192+
193+
| Option | Description |
194+
| --------------- | ----------------------------- |
195+
| `--name <name>` | Optional name for the catalog |
196+
197+
Adds a custom catalog URL to the project's `.specify/integration-catalogs.yml`. The URL must use HTTPS (except `http://localhost`, `http://127.0.0.1`, or `http://[::1]` for local testing).
198+
199+
### Remove a Catalog
200+
201+
```bash
202+
specify integration catalog remove <index>
203+
```
204+
205+
Removes a project catalog source by its 0-based index in `catalog list`.
206+
207+
### Catalog Resolution Order
208+
209+
Catalogs are resolved in this order (first match wins):
210+
211+
1. **Environment variable** — `SPECKIT_INTEGRATION_CATALOG_URL` overrides all catalogs
212+
2. **Project config** — `.specify/integration-catalogs.yml`
213+
3. **User config** — `~/.specify/integration-catalogs.yml`
214+
4. **Built-in defaults** — official catalog + community catalog
215+
176216
## Integration-Specific Options
177217

178218
Some integrations accept additional options via `--integration-options`:
@@ -224,7 +264,6 @@ The currently declared multi-install safe integrations are:
224264
| `cursor-agent` | `.cursor/skills`, `.cursor/rules/specify-rules.mdc` |
225265
| `firebender` | `.firebender/commands`, `.firebender/rules/specify-rules.mdc` |
226266
| `gemini` | `.gemini/commands`, `GEMINI.md` |
227-
| `iflow` | `.iflow/commands`, `IFLOW.md` |
228267
| `junie` | `.junie/commands`, `.junie/AGENTS.md` |
229268
| `kilocode` | `.kilocode/workflows`, `.kilocode/rules/specify-rules.md` |
230269
| `qodercli` | `.qoder/commands`, `QODER.md` |

‎extensions/agent-context/agent-context-defaults.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
"generic": "AGENTS.md",
1919
"goose": "AGENTS.md",
2020
"hermes": "AGENTS.md",
21-
"iflow": "IFLOW.md",
2221
"junie": ".junie/AGENTS.md",
2322
"kilocode": ".kilocode/rules/specify-rules.md",
2423
"kimi": "AGENTS.md",

0 commit comments

Comments
 (0)