Skip to content

Commit 89011e4

Browse files
committed
Merge upstream/main: all fixes, extensions, and Mistral Vibe support
Upstream changes merged (8 commits total): - fix: use global branch numbering instead of per-short-name detection (github#1757) - fix: Remove duplicate options in specify.md (github#1765) - feat: add review extension to community catalog (github#1775) - feat: add fleet extension to community catalog (github#1771) - feat: Integration of Mistral vibe support into speckit (github#1725) - feat: Add Understanding extension to community catalog (github#1778) - feat: Add ralph extension to community catalog (github#1780) - docs: Update README with project initialization instructions (github#1772) Conflict resolution: - templates/commands/specify.md: Kept --json flag and clearer instructions - README.md: Preserved detailed CLI docs + added vibe agent - Release scripts: Added vibe agent support - extensions/catalog.community.json: All 4 new extensions added (review, fleet, understanding, ralph) All conflicts resolved by keeping our enhancements.
2 parents 24369c8 + 3033834 commit 89011e4

File tree

5 files changed

+209
-16
lines changed

5 files changed

+209
-16
lines changed

extensions/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,13 @@ The following community-contributed extensions are available in [`catalog.commun
7474
|-----------|---------|-----|
7575
| Azure DevOps Integration | Sync user stories and tasks to Azure DevOps work items using OAuth authentication | [spec-kit-azure-devops](https://github.com/pragya247/spec-kit-azure-devops) |
7676
| 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 | [spec-kit-cleanup](https://github.com/dsrednicki/spec-kit-cleanup) |
77+
| Fleet Orchestrator | Orchestrate a full feature lifecycle with human-in-the-loop gates across all SpecKit phases | [spec-kit-fleet](https://github.com/sharathsatish/spec-kit-fleet) |
7778
| Jira Integration | Create Jira Epics, Stories, and Issues from spec-kit specifications and task breakdowns with configurable hierarchy and custom field support | [spec-kit-jira](https://github.com/mbachorik/spec-kit-jira) |
79+
| Ralph Loop | Autonomous implementation loop using AI agent CLI | [spec-kit-ralph](https://github.com/Rubiss/spec-kit-ralph) |
7880
| Retrospective Extension | Post-implementation retrospective with spec adherence scoring, drift analysis, and human-gated spec updates | [spec-kit-retrospective](https://github.com/emi-dm/spec-kit-retrospective) |
81+
| Review Extension | Post-implementation comprehensive code review with specialized agents for code quality, comments, tests, error handling, type design, and simplification | [spec-kit-review](https://github.com/ismaelJimenez/spec-kit-review) |
7982
| Spec Sync | Detect and resolve drift between specs and implementation. AI-assisted resolution with human approval | [spec-kit-sync](https://github.com/bgervin/spec-kit-sync) |
83+
| Understanding | Automated requirements quality analysis — 31 deterministic metrics against IEEE/ISO standards with experimental energy-based ambiguity detection | [understanding](https://github.com/Testimonial/understanding) |
8084
| V-Model Extension Pack | Enforces V-Model paired generation of development specs and test specs with full traceability | [spec-kit-v-model](https://github.com/leocamello/spec-kit-v-model) |
8185
| Verify Extension | Post-implementation quality gate that validates implemented code against specification artifacts | [spec-kit-verify](https://github.com/ismaelJimenez/spec-kit-verify) |
8286

extensions/catalog.community.json

Lines changed: 178 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"schema_version": "1.0",
3-
"updated_at": "2026-03-05T00:00:00Z",
3+
"updated_at": "2026-03-09T00:00:00Z",
44
"catalog_url": "https://raw.githubusercontent.com/github/spec-kit/main/extensions/catalog.community.json",
55
"extensions": {
66
"azure-devops": {
@@ -29,7 +29,13 @@
2929
"commands": 1,
3030
"hooks": 1
3131
},
32-
"tags": ["azure", "devops", "project-management", "work-items", "issue-tracking"],
32+
"tags": [
33+
"azure",
34+
"devops",
35+
"project-management",
36+
"work-items",
37+
"issue-tracking"
38+
],
3339
"verified": false,
3440
"downloads": 0,
3541
"stars": 0,
@@ -55,13 +61,45 @@
5561
"commands": 1,
5662
"hooks": 1
5763
},
58-
"tags": ["quality", "tech-debt", "review", "cleanup", "scout-rule"],
64+
"tags": [
65+
"quality",
66+
"tech-debt",
67+
"review",
68+
"cleanup",
69+
"scout-rule"
70+
],
5971
"verified": false,
6072
"downloads": 0,
6173
"stars": 0,
6274
"created_at": "2026-02-22T00:00:00Z",
6375
"updated_at": "2026-02-22T00:00:00Z"
6476
},
77+
"fleet": {
78+
"name": "Fleet Orchestrator",
79+
"id": "fleet",
80+
"description": "Orchestrate a full feature lifecycle with human-in-the-loop gates across all SpecKit phases.",
81+
"author": "sharathsatish",
82+
"version": "1.0.0",
83+
"download_url": "https://github.com/sharathsatish/spec-kit-fleet/archive/refs/tags/v1.0.0.zip",
84+
"repository": "https://github.com/sharathsatish/spec-kit-fleet",
85+
"homepage": "https://github.com/sharathsatish/spec-kit-fleet",
86+
"documentation": "https://github.com/sharathsatish/spec-kit-fleet/blob/main/README.md",
87+
"changelog": "https://github.com/sharathsatish/spec-kit-fleet/blob/main/CHANGELOG.md",
88+
"license": "MIT",
89+
"requires": {
90+
"speckit_version": ">=0.1.0"
91+
},
92+
"provides": {
93+
"commands": 2,
94+
"hooks": 1
95+
},
96+
"tags": ["orchestration", "workflow", "human-in-the-loop", "parallel"],
97+
"verified": false,
98+
"downloads": 0,
99+
"stars": 0,
100+
"created_at": "2026-03-06T00:00:00Z",
101+
"updated_at": "2026-03-06T00:00:00Z"
102+
},
65103
"jira": {
66104
"name": "Jira Integration",
67105
"id": "jira",
@@ -81,13 +119,54 @@
81119
"commands": 3,
82120
"hooks": 1
83121
},
84-
"tags": ["issue-tracking", "jira", "atlassian", "project-management"],
122+
"tags": [
123+
"issue-tracking",
124+
"jira",
125+
"atlassian",
126+
"project-management"
127+
],
85128
"verified": false,
86129
"downloads": 0,
87130
"stars": 0,
88131
"created_at": "2026-03-05T00:00:00Z",
89132
"updated_at": "2026-03-05T00:00:00Z"
90133
},
134+
"ralph": {
135+
"name": "Ralph Loop",
136+
"id": "ralph",
137+
"description": "Autonomous implementation loop using AI agent CLI.",
138+
"author": "Rubiss",
139+
"version": "1.0.0",
140+
"download_url": "https://github.com/Rubiss/spec-kit-ralph/archive/refs/tags/v1.0.0.zip",
141+
"repository": "https://github.com/Rubiss/spec-kit-ralph",
142+
"homepage": "https://github.com/Rubiss/spec-kit-ralph",
143+
"documentation": "https://github.com/Rubiss/spec-kit-ralph/blob/main/README.md",
144+
"changelog": "https://github.com/Rubiss/spec-kit-ralph/blob/main/CHANGELOG.md",
145+
"license": "MIT",
146+
"requires": {
147+
"speckit_version": ">=0.1.0",
148+
"tools": [
149+
{
150+
"name": "copilot",
151+
"required": true
152+
},
153+
{
154+
"name": "git",
155+
"required": true
156+
}
157+
]
158+
},
159+
"provides": {
160+
"commands": 2,
161+
"hooks": 1
162+
},
163+
"tags": ["implementation", "automation", "loop", "copilot"],
164+
"verified": false,
165+
"downloads": 0,
166+
"stars": 0,
167+
"created_at": "2026-03-09T00:00:00Z",
168+
"updated_at": "2026-03-09T00:00:00Z"
169+
},
91170
"retrospective": {
92171
"name": "Retrospective Extension",
93172
"id": "retrospective",
@@ -107,13 +186,45 @@
107186
"commands": 1,
108187
"hooks": 1
109188
},
110-
"tags": ["retrospective", "spec-drift", "quality", "analysis", "governance"],
189+
"tags": [
190+
"retrospective",
191+
"spec-drift",
192+
"quality",
193+
"analysis",
194+
"governance"
195+
],
111196
"verified": false,
112197
"downloads": 0,
113198
"stars": 0,
114199
"created_at": "2026-02-24T00:00:00Z",
115200
"updated_at": "2026-02-24T00:00:00Z"
116201
},
202+
"review": {
203+
"name": "Review Extension",
204+
"id": "review",
205+
"description": "Post-implementation comprehensive code review with specialized agents for code quality, comments, tests, error handling, type design, and simplification.",
206+
"author": "ismaelJimenez",
207+
"version": "1.0.0",
208+
"download_url": "https://github.com/ismaelJimenez/spec-kit-review/archive/refs/tags/v1.0.0.zip",
209+
"repository": "https://github.com/ismaelJimenez/spec-kit-review",
210+
"homepage": "https://github.com/ismaelJimenez/spec-kit-review",
211+
"documentation": "https://github.com/ismaelJimenez/spec-kit-review/blob/main/README.md",
212+
"changelog": "https://github.com/ismaelJimenez/spec-kit-review/blob/main/CHANGELOG.md",
213+
"license": "MIT",
214+
"requires": {
215+
"speckit_version": ">=0.1.0"
216+
},
217+
"provides": {
218+
"commands": 7,
219+
"hooks": 1
220+
},
221+
"tags": ["code-review", "quality", "review", "testing", "error-handling", "type-design", "simplification"],
222+
"verified": false,
223+
"downloads": 0,
224+
"stars": 0,
225+
"created_at": "2026-03-06T00:00:00Z",
226+
"updated_at": "2026-03-06T00:00:00Z"
227+
},
117228
"sync": {
118229
"name": "Spec Sync",
119230
"id": "sync",
@@ -133,13 +244,60 @@
133244
"commands": 5,
134245
"hooks": 1
135246
},
136-
"tags": ["sync", "drift", "validation", "bidirectional", "backfill"],
247+
"tags": [
248+
"sync",
249+
"drift",
250+
"validation",
251+
"bidirectional",
252+
"backfill"
253+
],
137254
"verified": false,
138255
"downloads": 0,
139256
"stars": 0,
140257
"created_at": "2026-03-02T00:00:00Z",
141258
"updated_at": "2026-03-02T00:00:00Z"
142259
},
260+
"understanding": {
261+
"name": "Understanding",
262+
"id": "understanding",
263+
"description": "Automated requirements quality analysis — validates specs against IEEE/ISO standards using 31 deterministic metrics. Catches ambiguity, missing testability, and structural issues before they reach implementation. Includes experimental energy-based ambiguity detection using local LM token perplexity.",
264+
"author": "Ladislav Bihari",
265+
"version": "3.4.0",
266+
"download_url": "https://github.com/Testimonial/understanding/archive/refs/tags/v3.4.0.zip",
267+
"repository": "https://github.com/Testimonial/understanding",
268+
"homepage": "https://github.com/Testimonial/understanding",
269+
"documentation": "https://github.com/Testimonial/understanding/blob/main/extension/README.md",
270+
"changelog": "https://github.com/Testimonial/understanding/blob/main/extension/CHANGELOG.md",
271+
"license": "MIT",
272+
"requires": {
273+
"speckit_version": ">=0.1.0",
274+
"tools": [
275+
{
276+
"name": "understanding",
277+
"version": ">=3.4.0",
278+
"required": true
279+
}
280+
]
281+
},
282+
"provides": {
283+
"commands": 3,
284+
"hooks": 1
285+
},
286+
"tags": [
287+
"quality",
288+
"metrics",
289+
"requirements",
290+
"validation",
291+
"readability",
292+
"IEEE-830",
293+
"ISO-29148"
294+
],
295+
"verified": false,
296+
"downloads": 0,
297+
"stars": 0,
298+
"created_at": "2026-03-07T00:00:00Z",
299+
"updated_at": "2026-03-07T00:00:00Z"
300+
},
143301
"v-model": {
144302
"name": "V-Model Extension Pack",
145303
"id": "v-model",
@@ -159,7 +317,13 @@
159317
"commands": 9,
160318
"hooks": 1
161319
},
162-
"tags": ["v-model", "traceability", "testing", "compliance", "safety-critical"],
320+
"tags": [
321+
"v-model",
322+
"traceability",
323+
"testing",
324+
"compliance",
325+
"safety-critical"
326+
],
163327
"verified": false,
164328
"downloads": 0,
165329
"stars": 0,
@@ -185,7 +349,13 @@
185349
"commands": 1,
186350
"hooks": 1
187351
},
188-
"tags": ["verification", "quality-gate", "implementation", "spec-adherence", "compliance"],
352+
"tags": [
353+
"verification",
354+
"quality-gate",
355+
"implementation",
356+
"spec-adherence",
357+
"compliance"
358+
],
189359
"verified": false,
190360
"downloads": 0,
191361
"stars": 0,

scripts/bash/update-agent-context.sh

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
#
3131
# 5. Multi-Agent Support
3232
# - Handles agent-specific file paths and naming conventions
33-
# - Supports: Claude, Gemini, Copilot, Cursor, Qwen, opencode, Codex, Windsurf, Kilo Code, Auggie CLI, Roo Code, CodeBuddy CLI, Qoder CLI, Amp, SHAI, Kiro CLI, or Antigravity
33+
# - Supports: Claude, Gemini, Copilot, Cursor, Qwen, opencode, Codex, Windsurf, Kilo Code, Auggie CLI, Roo Code, CodeBuddy CLI, Qoder CLI, Amp, SHAI, Kiro CLI, Mistral Vibe or Antigravity
3434
# - Can update single agents or all existing agent files
3535
# - Creates default Claude file if no agent files exist
3636
#
@@ -76,6 +76,7 @@ SHAI_FILE="$REPO_ROOT/SHAI.md"
7676
KIRO_FILE="$REPO_ROOT/AGENTS.md"
7777
AGY_FILE="$REPO_ROOT/.agent/rules/specify-rules.md"
7878
BOB_FILE="$REPO_ROOT/AGENTS.md"
79+
VIBE_FILE="$REPO_ROOT/.vibe/agents/specify-agents.md"
7980

8081
# Template file
8182
TEMPLATE_FILE="$REPO_ROOT/.specify/templates/agent-file-template.md"
@@ -657,12 +658,15 @@ update_specific_agent() {
657658
bob)
658659
update_agent_file "$BOB_FILE" "IBM Bob"
659660
;;
661+
vibe)
662+
update_agent_file "$VIBE_FILE" "Mistral Vibe"
663+
;;
660664
generic)
661665
log_info "Generic agent: no predefined context file. Use the agent-specific update script for your agent."
662666
;;
663667
*)
664668
log_error "Unknown agent type '$agent_type'"
665-
log_error "Expected: claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|roo|codebuddy|amp|shai|kiro-cli|agy|bob|qodercli|generic"
669+
log_error "Expected: claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|roo|codebuddy|amp|shai|kiro-cli|agy|bob|vibe|qodercli|generic"
666670
exit 1
667671
;;
668672
esac
@@ -750,6 +754,11 @@ update_all_existing_agents() {
750754
update_agent_file "$BOB_FILE" "IBM Bob"
751755
found_agent=true
752756
fi
757+
758+
if [[ -f "$VIBE_FILE" ]]; then
759+
update_agent_file "$VIBE_FILE" "Mistral Vibe"
760+
found_agent=true
761+
fi
753762

754763
# If no agent files exist, create a default Claude file
755764
if [[ "$found_agent" == false ]]; then
@@ -774,8 +783,7 @@ print_summary() {
774783
fi
775784

776785
echo
777-
778-
log_info "Usage: $0 [claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|roo|codebuddy|amp|shai|kiro-cli|agy|bob|qodercli]"
786+
log_info "Usage: $0 [claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|roo|codebuddy|amp|shai|kiro-cli|agy|bob|qodercli|vibe]"
779787
}
780788

781789
#==============================================================================

scripts/powershell/update-agent-context.ps1

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Mirrors the behavior of scripts/bash/update-agent-context.sh:
99
2. Plan Data Extraction
1010
3. Agent File Management (create from template or update existing)
1111
4. Content Generation (technology stack, recent changes, timestamp)
12-
5. Multi-Agent Support (claude, gemini, copilot, cursor-agent, qwen, opencode, codex, windsurf, kilocode, auggie, roo, codebuddy, amp, shai, kiro-cli, agy, bob, qodercli)
12+
5. Multi-Agent Support (claude, gemini, copilot, cursor-agent, qwen, opencode, codex, windsurf, kilocode, auggie, roo, codebuddy, amp, shai, kiro-cli, agy, bob, qodercli, vibe)
1313
1414
.PARAMETER AgentType
1515
Optional agent key to update a single agent. If omitted, updates all existing agent files (creating a default Claude file if none exist).
@@ -25,7 +25,7 @@ Relies on common helper functions in common.ps1
2525
#>
2626
param(
2727
[Parameter(Position=0)]
28-
[ValidateSet('claude','gemini','copilot','cursor-agent','qwen','opencode','codex','windsurf','kilocode','auggie','roo','codebuddy','amp','shai','kiro-cli','agy','bob','qodercli','generic')]
28+
[ValidateSet('claude','gemini','copilot','cursor-agent','qwen','opencode','codex','windsurf','kilocode','auggie','roo','codebuddy','amp','shai','kiro-cli','agy','bob','qodercli','vibe','generic')]
2929
[string]$AgentType
3030
)
3131

@@ -61,6 +61,7 @@ $SHAI_FILE = Join-Path $REPO_ROOT 'SHAI.md'
6161
$KIRO_FILE = Join-Path $REPO_ROOT 'AGENTS.md'
6262
$AGY_FILE = Join-Path $REPO_ROOT '.agent/rules/specify-rules.md'
6363
$BOB_FILE = Join-Path $REPO_ROOT 'AGENTS.md'
64+
$VIBE_FILE = Join-Path $REPO_ROOT '.vibe/agents/specify-agents.md'
6465

6566
$TEMPLATE_FILE = Join-Path $REPO_ROOT '.specify/templates/agent-file-template.md'
6667

@@ -402,8 +403,9 @@ function Update-SpecificAgent {
402403
'kiro-cli' { Update-AgentFile -TargetFile $KIRO_FILE -AgentName 'Kiro CLI' }
403404
'agy' { Update-AgentFile -TargetFile $AGY_FILE -AgentName 'Antigravity' }
404405
'bob' { Update-AgentFile -TargetFile $BOB_FILE -AgentName 'IBM Bob' }
406+
'vibe' { Update-AgentFile -TargetFile $VIBE_FILE -AgentName 'Mistral Vibe' }
405407
'generic' { Write-Info 'Generic agent: no predefined context file. Use the agent-specific update script for your agent.' }
406-
default { Write-Err "Unknown agent type '$Type'"; Write-Err 'Expected: claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|roo|codebuddy|amp|shai|kiro-cli|agy|bob|qodercli|generic'; return $false }
408+
default { Write-Err "Unknown agent type '$Type'"; Write-Err 'Expected: claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|roo|codebuddy|amp|shai|kiro-cli|agy|bob|qodercli|vibe|generic'; return $false }
407409
}
408410
}
409411

@@ -426,6 +428,7 @@ function Update-AllExistingAgents {
426428
if (Test-Path $KIRO_FILE) { if (-not (Update-AgentFile -TargetFile $KIRO_FILE -AgentName 'Kiro CLI')) { $ok = $false }; $found = $true }
427429
if (Test-Path $AGY_FILE) { if (-not (Update-AgentFile -TargetFile $AGY_FILE -AgentName 'Antigravity')) { $ok = $false }; $found = $true }
428430
if (Test-Path $BOB_FILE) { if (-not (Update-AgentFile -TargetFile $BOB_FILE -AgentName 'IBM Bob')) { $ok = $false }; $found = $true }
431+
if (Test-Path $VIBE_FILE) { if (-not (Update-AgentFile -TargetFile $VIBE_FILE -AgentName 'Mistral Vibe')) { $ok = $false }; $found = $true }
429432
if (-not $found) {
430433
Write-Info 'No existing agent files found, creating default Claude file...'
431434
if (-not (Update-AgentFile -TargetFile $CLAUDE_FILE -AgentName 'Claude Code')) { $ok = $false }
@@ -440,7 +443,7 @@ function Print-Summary {
440443
if ($NEW_FRAMEWORK) { Write-Host " - Added framework: $NEW_FRAMEWORK" }
441444
if ($NEW_DB -and $NEW_DB -ne 'N/A') { Write-Host " - Added database: $NEW_DB" }
442445
Write-Host ''
443-
Write-Info 'Usage: ./update-agent-context.ps1 [-AgentType claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|roo|codebuddy|amp|shai|kiro-cli|agy|bob|qodercli|generic]'
446+
Write-Info 'Usage: ./update-agent-context.ps1 [-AgentType claude|gemini|copilot|cursor-agent|qwen|opencode|codex|windsurf|kilocode|auggie|roo|codebuddy|amp|shai|kiro-cli|agy|bob|qodercli|vibe|generic]'
444447
}
445448

446449
function Main {

0 commit comments

Comments
 (0)