Skip to content

Commit 379691b

Browse files
committed
Release v0.0.25 - Spec Kit Spark with pr-review, site-audit, and critic commands
- Bump version to 0.0.25 in pyproject.toml - Update repository references from github/spec-kit to MarkHazleton/spec-kit - Rebrand template packages with 'spec-kit-spark-template-*' naming - Add missing shai agent support to PowerShell packaging script - Update release scripts to target MarkHazleton/spec-kit repository - Add CHANGELOG entry documenting new features: * /speckit.pr-review - Constitution-aware PR review command * /speckit.site-audit - Comprehensive codebase audit command * /speckit.critic - Adversarial risk analysis command - All 34 template packages built and released (17 agents × 2 script types)
1 parent bc058b2 commit 379691b

7 files changed

Lines changed: 71 additions & 48 deletions

File tree

.github/workflows/scripts/create-github-release.ps1

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ $agents = @(
3737
# Build the list of files to upload
3838
$files = @()
3939
foreach ($agent in $agents) {
40-
$files += ".genreleases/spec-kit-template-$agent-sh-$Version.zip"
41-
$files += ".genreleases/spec-kit-template-$agent-ps-$Version.zip"
40+
$files += ".genreleases/spec-kit-spark-template-$agent-sh-$Version.zip"
41+
$files += ".genreleases/spec-kit-spark-template-$agent-ps-$Version.zip"
4242
}
4343

4444
# Check if release_notes.md exists
@@ -51,7 +51,8 @@ if (-not (Test-Path "release_notes.md")) {
5151
Write-Host "Creating release $Version..."
5252
gh release create $Version `
5353
$files `
54-
--title "Spec Kit Templates - $versionNoV" `
54+
--repo MarkHazleton/spec-kit `
55+
--title "Spec Kit Spark Templates - $versionNoV" `
5556
--notes-file release_notes.md
5657

5758
if ($LASTEXITCODE -eq 0) {

.github/workflows/scripts/create-github-release.sh

Lines changed: 36 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -16,39 +16,40 @@ VERSION="$1"
1616
VERSION_NO_V=${VERSION#v}
1717

1818
gh release create "$VERSION" \
19-
.genreleases/spec-kit-template-copilot-sh-"$VERSION".zip \
20-
.genreleases/spec-kit-template-copilot-ps-"$VERSION".zip \
21-
.genreleases/spec-kit-template-claude-sh-"$VERSION".zip \
22-
.genreleases/spec-kit-template-claude-ps-"$VERSION".zip \
23-
.genreleases/spec-kit-template-gemini-sh-"$VERSION".zip \
24-
.genreleases/spec-kit-template-gemini-ps-"$VERSION".zip \
25-
.genreleases/spec-kit-template-cursor-agent-sh-"$VERSION".zip \
26-
.genreleases/spec-kit-template-cursor-agent-ps-"$VERSION".zip \
27-
.genreleases/spec-kit-template-opencode-sh-"$VERSION".zip \
28-
.genreleases/spec-kit-template-opencode-ps-"$VERSION".zip \
29-
.genreleases/spec-kit-template-qwen-sh-"$VERSION".zip \
30-
.genreleases/spec-kit-template-qwen-ps-"$VERSION".zip \
31-
.genreleases/spec-kit-template-windsurf-sh-"$VERSION".zip \
32-
.genreleases/spec-kit-template-windsurf-ps-"$VERSION".zip \
33-
.genreleases/spec-kit-template-codex-sh-"$VERSION".zip \
34-
.genreleases/spec-kit-template-codex-ps-"$VERSION".zip \
35-
.genreleases/spec-kit-template-kilocode-sh-"$VERSION".zip \
36-
.genreleases/spec-kit-template-kilocode-ps-"$VERSION".zip \
37-
.genreleases/spec-kit-template-auggie-sh-"$VERSION".zip \
38-
.genreleases/spec-kit-template-auggie-ps-"$VERSION".zip \
39-
.genreleases/spec-kit-template-roo-sh-"$VERSION".zip \
40-
.genreleases/spec-kit-template-roo-ps-"$VERSION".zip \
41-
.genreleases/spec-kit-template-codebuddy-sh-"$VERSION".zip \
42-
.genreleases/spec-kit-template-codebuddy-ps-"$VERSION".zip \
43-
.genreleases/spec-kit-template-qoder-sh-"$VERSION".zip \
44-
.genreleases/spec-kit-template-qoder-ps-"$VERSION".zip \
45-
.genreleases/spec-kit-template-amp-sh-"$VERSION".zip \
46-
.genreleases/spec-kit-template-amp-ps-"$VERSION".zip \
47-
.genreleases/spec-kit-template-shai-sh-"$VERSION".zip \
48-
.genreleases/spec-kit-template-shai-ps-"$VERSION".zip \
49-
.genreleases/spec-kit-template-q-sh-"$VERSION".zip \
50-
.genreleases/spec-kit-template-q-ps-"$VERSION".zip \
51-
.genreleases/spec-kit-template-bob-sh-"$VERSION".zip \
52-
.genreleases/spec-kit-template-bob-ps-"$VERSION".zip \
53-
--title "Spec Kit Templates - $VERSION_NO_V" \
19+
.genreleases/spec-kit-spark-template-copilot-sh-"$VERSION".zip \
20+
.genreleases/spec-kit-spark-template-copilot-ps-"$VERSION".zip \
21+
.genreleases/spec-kit-spark-template-claude-sh-"$VERSION".zip \
22+
.genreleases/spec-kit-spark-template-claude-ps-"$VERSION".zip \
23+
.genreleases/spec-kit-spark-template-gemini-sh-"$VERSION".zip \
24+
.genreleases/spec-kit-spark-template-gemini-ps-"$VERSION".zip \
25+
.genreleases/spec-kit-spark-template-cursor-agent-sh-"$VERSION".zip \
26+
.genreleases/spec-kit-spark-template-cursor-agent-ps-"$VERSION".zip \
27+
.genreleases/spec-kit-spark-template-opencode-sh-"$VERSION".zip \
28+
.genreleases/spec-kit-spark-template-opencode-ps-"$VERSION".zip \
29+
.genreleases/spec-kit-spark-template-qwen-sh-"$VERSION".zip \
30+
.genreleases/spec-kit-spark-template-qwen-ps-"$VERSION".zip \
31+
.genreleases/spec-kit-spark-template-windsurf-sh-"$VERSION".zip \
32+
.genreleases/spec-kit-spark-template-windsurf-ps-"$VERSION".zip \
33+
.genreleases/spec-kit-spark-template-codex-sh-"$VERSION".zip \
34+
.genreleases/spec-kit-spark-template-codex-ps-"$VERSION".zip \
35+
.genreleases/spec-kit-spark-template-kilocode-sh-"$VERSION".zip \
36+
.genreleases/spec-kit-spark-template-kilocode-ps-"$VERSION".zip \
37+
.genreleases/spec-kit-spark-template-auggie-sh-"$VERSION".zip \
38+
.genreleases/spec-kit-spark-template-auggie-ps-"$VERSION".zip \
39+
.genreleases/spec-kit-spark-template-roo-sh-"$VERSION".zip \
40+
.genreleases/spec-kit-spark-template-roo-ps-"$VERSION".zip \
41+
.genreleases/spec-kit-spark-template-codebuddy-sh-"$VERSION".zip \
42+
.genreleases/spec-kit-spark-template-codebuddy-ps-"$VERSION".zip \
43+
.genreleases/spec-kit-spark-template-qoder-sh-"$VERSION".zip \
44+
.genreleases/spec-kit-spark-template-qoder-ps-"$VERSION".zip \
45+
.genreleases/spec-kit-spark-template-amp-sh-"$VERSION".zip \
46+
.genreleases/spec-kit-spark-template-amp-ps-"$VERSION".zip \
47+
.genreleases/spec-kit-spark-template-shai-sh-"$VERSION".zip \
48+
.genreleases/spec-kit-spark-template-shai-ps-"$VERSION".zip \
49+
.genreleases/spec-kit-spark-template-q-sh-"$VERSION".zip \
50+
.genreleases/spec-kit-spark-template-q-ps-"$VERSION".zip \
51+
.genreleases/spec-kit-spark-template-bob-sh-"$VERSION".zip \
52+
.genreleases/spec-kit-spark-template-bob-ps-"$VERSION".zip \
53+
--repo MarkHazleton/spec-kit \
54+
--title "Spec Kit Spark Templates - $VERSION_NO_V" \
5455
--notes-file release_notes.md

.github/workflows/scripts/create-release-packages.ps1

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,10 @@ function Build-Variant {
335335
$cmdDir = Join-Path $baseDir ".agents/commands"
336336
Generate-Commands -Agent 'amp' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script
337337
}
338+
'shai' {
339+
$cmdDir = Join-Path $baseDir ".shai/commands"
340+
Generate-Commands -Agent 'shai' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script
341+
}
338342
'q' {
339343
$cmdDir = Join-Path $baseDir ".amazonq/prompts"
340344
Generate-Commands -Agent 'q' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script
@@ -350,13 +354,13 @@ function Build-Variant {
350354
}
351355

352356
# Create zip archive
353-
$zipFile = Join-Path $GenReleasesDir "spec-kit-template-${Agent}-${Script}-${Version}.zip"
357+
$zipFile = Join-Path $GenReleasesDir "spec-kit-spark-template-${Agent}-${Script}-${Version}.zip"
354358
Compress-Archive -Path "$baseDir/*" -DestinationPath $zipFile -Force
355359
Write-Host "Created $zipFile"
356360
}
357361

358362
# Define all agents and scripts
359-
$AllAgents = @('claude', 'gemini', 'copilot', 'cursor-agent', 'qwen', 'opencode', 'windsurf', 'codex', 'kilocode', 'auggie', 'roo', 'codebuddy', 'amp', 'q', 'bob', 'qoder')
363+
$AllAgents = @('claude', 'gemini', 'copilot', 'cursor-agent', 'qwen', 'opencode', 'windsurf', 'codex', 'kilocode', 'auggie', 'roo', 'codebuddy', 'amp', 'shai', 'q', 'bob', 'qoder')
360364
$AllScripts = @('sh', 'ps')
361365

362366
function Normalize-List {
@@ -419,6 +423,6 @@ foreach ($agent in $AgentList) {
419423
}
420424

421425
Write-Host "`nArchives in ${GenReleasesDir}:"
422-
Get-ChildItem -Path $GenReleasesDir -Filter "spec-kit-template-*-${Version}.zip" | ForEach-Object {
426+
Get-ChildItem -Path $GenReleasesDir -Filter "spec-kit-spark-template-*-${Version}.zip" | ForEach-Object {
423427
Write-Host " $($_.Name)"
424428
}

.github/workflows/scripts/create-release-packages.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,8 @@ build_variant() {
218218
mkdir -p "$base_dir/.bob/commands"
219219
generate_commands bob md "\$ARGUMENTS" "$base_dir/.bob/commands" "$script" ;;
220220
esac
221-
( cd "$base_dir" && zip -r "../spec-kit-template-${agent}-${script}-${NEW_VERSION}.zip" . )
222-
echo "Created $GENRELEASES_DIR/spec-kit-template-${agent}-${script}-${NEW_VERSION}.zip"
221+
( cd "$base_dir" && zip -r "../spec-kit-spark-template-${agent}-${script}-${NEW_VERSION}.zip" . )
222+
echo "Created $GENRELEASES_DIR/spec-kit-spark-template-${agent}-${script}-${NEW_VERSION}.zip"
223223
}
224224

225225
# Determine agent list
@@ -269,5 +269,5 @@ for agent in "${AGENT_LIST[@]}"; do
269269
done
270270

271271
echo "Archives in $GENRELEASES_DIR:"
272-
ls -1 "$GENRELEASES_DIR"/spec-kit-template-*-"${NEW_VERSION}".zip
272+
ls -1 "$GENRELEASES_DIR"/spec-kit-spark-template-*-"${NEW_VERSION}".zip
273273

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,23 @@ All notable changes to the Specify CLI and templates are documented here.
77
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
88
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
99

10+
## [0.0.25] - 2026-01-30
11+
12+
### Added
13+
14+
- **New `/speckit.pr-review` command**: Constitution-aware pull request review with actionable feedback for any PR in the repository. Reviews stored in `/specs/pr-review/pr-{id}.md` with metadata.
15+
- **New `/speckit.site-audit` command**: Comprehensive codebase audit against project constitution/standards, producing structured compliance reports. Supports multiple scopes (full, constitution, packages, quality, unused, duplicate).
16+
17+
### Changed
18+
19+
- **Spec Kit Spark Branding**: Release packages now use `spec-kit-spark-template-*` naming convention to differentiate from upstream github/spec-kit
20+
- **Repository References**: All references now point to `MarkHazleton/spec-kit` instead of `github/spec-kit`
21+
- Release title changed to "Spec Kit Spark Templates" to reflect fork identity
22+
23+
### Enhanced
24+
25+
- `/speckit.critic` command now included in all template packages
26+
1027
## [0.0.24] - 2026-01-29
1128

1229
### Added

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "specify-cli"
3-
version = "0.0.24"
3+
version = "0.0.25"
44
description = "Specify CLI, part of Spec Kit Spark. A community extension with constitution-powered commands for Spec-Driven Development (SDD)."
55
requires-python = ">=3.11"
66
dependencies = [

src/specify_cli/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -635,7 +635,7 @@ def deep_merge(base: dict, update: dict) -> dict:
635635
return merged
636636

637637
def download_template_from_github(ai_assistant: str, download_dir: Path, *, script_type: str = "sh", verbose: bool = True, show_progress: bool = True, client: httpx.Client = None, debug: bool = False, github_token: str = None) -> Tuple[Path, dict]:
638-
repo_owner = "github"
638+
repo_owner = "MarkHazleton"
639639
repo_name = "spec-kit"
640640
if client is None:
641641
client = httpx.Client(verify=ssl_context)
@@ -668,7 +668,7 @@ def download_template_from_github(ai_assistant: str, download_dir: Path, *, scri
668668
raise typer.Exit(1)
669669

670670
assets = release_data.get("assets", [])
671-
pattern = f"spec-kit-template-{ai_assistant}-{script_type}"
671+
pattern = f"spec-kit-spark-template-{ai_assistant}-{script_type}"
672672
matching_assets = [
673673
asset for asset in assets
674674
if pattern in asset["name"] and asset["name"].endswith(".zip")
@@ -1308,7 +1308,7 @@ def version():
13081308
pass
13091309

13101310
# Fetch latest template release version
1311-
repo_owner = "github"
1311+
repo_owner = "MarkHazleton"
13121312
repo_name = "spec-kit"
13131313
api_url = f"https://api.github.com/repos/{repo_owner}/{repo_name}/releases/latest"
13141314

0 commit comments

Comments
 (0)