Fork: github.com/MarkHazleton/spec-kit (Spec Kit Spark)
Upstream: github.com/github/spec-kit
Last Sync: 2026-02-20
Upstream Commit: b562438 (base divergence point)
Current Upstream: aeed11f
This document tracks how Spec Kit Spark has diverged from and absorbed changes from the upstream spec-kit repository. We maintain this fork to provide enhanced features for Adaptive System Life Cycle Development (ASLCD) while staying aware of upstream improvements.
Version Scheme: v1.x.x (vs upstream v0.x.x)
Core Philosophy: Adaptive, lightweight processes for varying task complexity
Directory Structure: .documentation/ (vs upstream docs/ and .specify/)
-
Agent-Agnostic Architecture
- Canonical prompts in
.documentation/commands/— single source of truth - Platform directories (
.claude/,.github/,.cursor/, etc.) hold thin shims only - 17+ AI agents supported as first-class citizens
- Mixed-agent teams work seamlessly on the same project
- Canonical prompts in
-
Multi-User Personalization
/speckit.personalizecreates per-user command overrides- User prompts stored in
.documentation/{git-user}/commands/ - Committed to git for team transparency and review
- Shared governance with individual customization freedom
-
New Commands
/speckit.critic- Adversarial risk analysis/speckit.pr-review- Constitution-based PR reviews/speckit.site-audit- Website health analysis/speckit.evolve-constitution- Constitution amendment proposals/speckit.quickfix- Lightweight fixes without full spec overhead/speckit.release- Release documentation management/speckit.personalize- Per-user prompt customization
-
Documentation Structure
- Renamed
.specify/→.documentation/for clarity - Extensive migration guides and tooling
- Constitution guide, critic usage guide, PR review implementation
- Adaptive lifecycle documentation
- Renamed
-
Scripts & Automation
evolution-context.sh/ps1- Constitution evolution supportget-pr-context.sh/ps1- PR context extractionquickfix-context.sh/ps1- Lightweight fix workflowrelease-context.sh/ps1- Release managementsite-audit.sh/ps1- Website auditing
-
Repository Health
- Git Spark reports (HTML/MD)
- Enhanced branch protection documentation
- Fork-specific release management
Bug Fixes
- Dependency version conflicts (e.g., click>=8.1 pinning)
- Path resolution errors
- CLI argument parsing issues
- Template syntax errors
Security Fixes
- Dependency vulnerabilities
- Path traversal fixes (Zip Slip, etc.)
- Input validation improvements
Agent Compatibility
- New agent support (if doesn't conflict with our structure)
- Agent CLI tool name fixes
- Agent configuration improvements
Criteria: ✅ Apply if:
- Pure bug fix with no structural dependencies
- No conflicts with
.documentation/structure - Improves stability or security
- Small, focused change
Template Changes
- Wording improvements
- Bias removal (OpenAPI/GraphQL → generic)
- New template sections
Script Enhancements
- Improvements to shared scripts (check-prerequisites, common, etc.)
- New utility functions
- Enhanced error handling
Documentation Updates
- README improvements
- CONTRIBUTING updates
- New documentation patterns
Criteria:
- Core concept applies but paths/structure differ
- Can be modified to work with
.documentation/folder - Improves user experience without breaking Spark features
- Requires manual merge but valuable
Adaptation Process:
- Cherry-pick to temporary branch
- Adjust paths:
docs/→.documentation/,.specify/→.documentation/ - Verify no conflicts with Spark commands
- Test and merge to main
Structural Changes
- Changes to
docs/folder structure (we use.documentation/) - Removal of files we've enhanced
- Directory reorganizations that conflict
Version Management
- Version bumps (we maintain independent versioning)
- Changelog entries (we maintain separate changelog)
Workflow Changes
- Release workflows tied to upstream structure
- CI/CD specific to github.com/github/spec-kit
Feature Conflicts
- Features that duplicate our Spark commands
- Templates that override our enhanced versions
Criteria: 🚫 Ignore if:
- Incompatible with our directory structure
- Duplicates existing Spark functionality
- Tied to upstream-specific infrastructure
- Would require extensive refactoring of Spark features
Major Features
- Extension system (#1551) - Modular plugin architecture
- Generic agent support (#1639) - Bring-your-own-agent
- AI Skills system (#1632) - Skills/prompts framework
Infrastructure
- New GitHub Actions workflows
- Testing frameworks (pytest, ruff)
- New release processes
Criteria: 🤔 Evaluate when:
- Large feature that might benefit Spark
- Requires significant testing
- May conflict with existing Spark architecture
- Needs team/maintainer decision
Evaluation Process:
- Create RFC or discussion
- Test in feature branch
- Document compatibility implications
- Decide: integrate, adapt, or defer
Upstream Range: b562438 (base) → aeed11f (current)
Commits Analyzed: 30
Action: Setup tracking and criteria
🟢 Auto Cherry-Pick Candidates (7):
fc3b98e - fix: rename Qoder AGENT_CONFIG key (qoder → qodercli)
6fca5d8 - fix: pin click>=8.1 dependency for Python 3.14
465acd9 - fix: include 'src/**' in release workflow triggers
04fc3fd - chore(deps): bump github/codeql-action 3→4
c78f842 - fix: typo in plan-template.md
36d9723 - fix: .specify.specify path error
4afbd87 - fix: preserve constitution.md during reinit
🟡 Adapt & Merge Candidates (6):
12405c0 - refactor: remove OpenAPI/GraphQL bias from templates
aeed11f - Add V-Model Extension Pack to catalog
0f7d04b - feat: add pull request template
686c91f - feat: add dependabot configuration
2203673 - Remove Maintainers section from README
b562438 - fix: resolve markdownlint errors
🔴 Ignore (5):
d410d18 - chore(deps): bump actions/stale 9→10
9a1e303 - Add stale workflow
76cca34 - Add new agent: Google Anti Gravity
[version bumps and upstream-specific changes]
🔵 Evaluate (3):
6150f1e - Add generic agent support with customizable directories
9402ebd - Feat/ai skills (prompt/skill system)
f14a47e - Add modular extension system
- Cherry-pick 7 bug fixes
- Adapt 6 template/doc improvements
- Evaluate extension system integration
- Evaluate generic agent support
- Evaluate AI skills system
Track successful cherry-picks and adaptations here
Status: ✅ Adapted & Merged
Upstream Commit: 68d1d3a
PR: #1655
Category: 🟡 ADAPT & MERGE
Changes Applied:
- Added
bug_report.ymlwith Spark-specific URLs and agent list (17 agents) - Added
feature_request.ymlwith Spark-specific URLs and agent list - Added
agent_request.ymlwith Spark-specific URLs and current agent list - Added
config.ymlwith Spark contact links (removed Extension Development Guide link)
Changes Deferred:
extension_submission.yml- Awaiting extension system implementation (upstream feature not yet in Spark)
Adaptations Made:
- All
github.com/github/spec-kit→github.com/MarkHazleton/spec-kit - All
github.com/manfredseee/spec-kit→github.com/MarkHazleton/spec-kit - Removed "Antigravity" agent (not yet supported in Spark)
- Updated agent lists to match current AGENTS.md (17 agents)
- Branding updated from "Spec Kit" to "Spec Kit Spark" where appropriate
- Removed extension development guide link (feature not yet available)
Validation:
- Templates render correctly on GitHub (requires push to verify)
- All links resolve to correct Spark repository locations
- Agent dropdowns match AGENTS.md exactly
- Blank issues disabled per config.yml
Status: ✅ Applied (Cherry-picked)
Upstream Commit: 12405c0 → Spark commit a5f9773
PR: #1652
Category: 🟡 ADAPT & MERGE
Applied: 2026-02-20 17:07:22
Changes Applied:
- Removed OpenAPI/GraphQL-specific language from templates
- Updated terminology: "API contracts" → "interface contracts"
- Updated: "endpoints" → "interfaces" (in generic contexts)
- Expanded Project Type field: "web/mobile" → "library/cli/web-service/mobile-app/compiler/desktop-app"
- Made templates applicable to CLI tools, libraries, compilers, desktop apps
Files Modified:
templates/commands/plan.md- Interface contracts sectiontemplates/commands/specify.md- Integration patterns defaultstemplates/commands/tasks.md- Contract/endpoint referencestemplates/plan-template.md- Project Type field
Adaptations Made:
- None required - upstream changes compatible with Spark structure
- All Spark-specific enhancements preserved
Validation:
- Templates use generic "interface contracts" terminology
- Project Type field includes diverse categories
- Web service backward compatibility maintained
- CLI/library project types properly supported
- No Spark-specific features removed
Notes: Cherry-picked directly from upstream without modification. Changes align perfectly with Spark's goal of supporting diverse project types through Adaptive System Life Cycle Development (ASLCD).
Status: ✅ Applied
Upstream Commits: aeed11f (extensions), 07077d0 (V-Model v0.2.0), fc3b98e (Qoder fix)
PRs: #1640, #1656, #1651
Category: 🟡 ADAPT & MERGE + 🟢 AUTO
Changes Applied:
- Created
extensions/directory structure for community extensions - Added
extensions/README.mdwith Spark-specific branding - Added
extensions/catalog.community.jsonwith V-Model Extension Pack v0.1.0 - Updated V-Model Extension Pack v0.1.0 → v0.2.0 (07077d0, added system-design and system-test commands)
- Fixed Qoder CLI tool name:
qoder→qodercliincreate-github-release.ps1
Adaptations Made:
- Updated README links:
github.com/github/spec-kit→github.com/MarkHazleton/spec-kit - Updated catalog URL to point to Spark's fork
- Enhanced README with Spark-specific context about extensions working alongside built-in commands
Integration Decisions:
- Extension System: Approved for integration. Enables community contributions without core modifications.
- V-Model v0.2.0 Update (07077d0): Applied - Updated catalog to v0.2.0 with 5 commands (added system-design, system-test).
Validation:
- Extension directory created successfully
- JSON validates correctly
- No conflicts with Spark's
.documentation/structure - Qoder CLI reference updated correctly
- V-Model v0.2.0 catalog updated
- Download URL verified (v0.2.0 tag)
- Command count reflects new capabilities (5 commands)
- Test extension installation workflow (future work)
Bug Fixes:
6fca5d8- click>=8.1 dependency pinc78f842- plan-template.md typo36d9723- path error fix4afbd87- preserve constitution.md
Template Improvements:
b562438- Markdownlint fixes
Extension Updates:
07077d0- V-Model v0.2.0 update (deferred, blocked by extension system testing)
Documentation:
0f7d04b- PR template for contributions
| Upstream | Spark | Status |
|---|---|---|
docs/ |
.documentation/ |
DIVERGED |
.specify/ |
.documentation/ |
DIVERGED |
templates/ |
templates/ (enhanced) |
ALIGNED |
scripts/ |
scripts/ (extended) |
COMPATIBLE |
src/specify_cli/ |
src/specify_cli/ |
MOSTLY ALIGNED |
| Upstream | Spark | Notes |
|---|---|---|
/specify |
/speckit.specify |
Different namespace |
/plan |
/speckit.plan |
Core commands aligned |
/tasks |
/speckit.tasks |
Core commands aligned |
| - | /speckit.critic |
Spark-only |
| - | /speckit.pr-review |
Spark-only |
| - | /speckit.site-audit |
Spark-only |
| - | /speckit.evolve-constitution |
Spark-only |
| - | /speckit.quickfix |
Spark-only |
| - | /speckit.release |
Spark-only |
| Repository | Scheme | Current |
|---|---|---|
| Upstream | v0.x.x | v0.1.4 |
| Spark | v1.x.x | v1.1.1 |
Spark maintains independent semantic versioning to reflect major enhancements.
Monthly Review: Check upstream for valuable changes On Major Upstream Release: Evaluate new features When Bugs Reported: Check if upstream has fix Before Spark Release: Ensure up-to-date with critical fixes
- Fetch upstream:
git fetch upstream - Run sync script:
./.documentation/scripts/powershell/sync-upstream.ps1or./.documentation/scripts/bash/sync-upstream.sh - Choose workflow:
- Interactive (recommended): Review each commit with detailed implications and choose actions
- Review: Quick categorized overview
- Auto: Apply safe fixes automatically
- Manual adaptation: Adapt template/doc changes as needed
- Update this document: Record absorbed changes
Path Conflicts (docs/ vs .documentation/):
# During cherry-pick conflict
git show :3:docs/file.md > .documentation/file.md
git add .documentation/file.md
git cherry-pick --continueTemplate Conflicts:
- Preserve Spark enhancements
- Merge upstream improvements manually
- Test commands after resolution
Script Conflicts:
- Favor upstream for shared scripts (common.sh, check-prerequisites.sh)
- Preserve Spark-only scripts
- Test all commands after merge
Commands (if generalized):
/speckit.pr-review- Valuable for any constitution-based review/speckit.site-audit- Generic web accessibility/SEO tool/speckit.quickfix- Lightweight workflow pattern
Documentation Improvements:
- Constitution guide patterns
- Migration tooling concepts
Bug Fixes:
- Any bugs found in shared code paths
- Create upstream-compatible branch
- Remove Spark-specific dependencies
- Adjust to upstream structure (docs/, .specify/)
- Submit PR to github.com/github/spec-kit
- Track in "Contributed to Upstream" section
Track PRs submitted back to upstream
- None yet
- None yet
- Extension System (f14a47e) - May complement our Spark commands
- Generic Agent Support (6150f1e) - Could strengthen agent compatibility
- AI Skills Framework (9402ebd) - Might enhance our command system
- Adapt extension system for Spark command distribution
- Use generic agent as fallback for unsupported agents
- Integrate AI skills with constitution/critic commands
- Maintain Fork: Continue Spark as enhanced variant
- Selective Sync: Cherry-pick valuable improvements
- Contribute Back: Share generalized innovations
- Community: Build Spark-specific community and extensions
# Fetch latest upstream
git fetch upstream
# View new commits
git log --oneline main..upstream/main
# Interactive review (recommended) - explains implications and prompts for action
./.documentation/scripts/bash/sync-upstream.sh --mode interactive
# or PowerShell:
.\.documentation\scripts\powershell\sync-upstream.ps1 -Mode interactive
# Quick categorized review
./.documentation/scripts/bash/sync-upstream.sh --mode review
# Auto-apply safe fixes
./.documentation/scripts/bash/sync-upstream.sh --mode auto
# Generate detailed report
./.documentation/scripts/bash/sync-upstream.sh --mode report > sync-report.md
# Manual cherry-pick if needed
git cherry-pick <commit-hash>
# Fix conflicts: docs/ → .documentation/
git cherry-pick --continueWhen adapting upstream changes, adjust these paths:
docs/*→.documentation/*.specify/*→.documentation/*- Any hardcoded references to
docs/folder
These files frequently change in both repos:
README.md- Merge changes carefullyAGENTS.md- Agent additions compatiblesrc/specify_cli/__init__.py- Core CLI logictemplates/commands/*- Enhance, don't replace.documentation/scripts/bash/*- Usually compatible.documentation/scripts/powershell/*- Usually compatible
Last Updated: 2026-02-20
Maintained By: Mark Hazleton
Next Review: 2026-03-20