Coordinate multi-repo platform releases with synchronized versioning, RC workflow, and GitFlow integration. Usage: /sw-release:platform create|promote|status
Orchestrate synchronized releases across multiple repositories with GitFlow integration. Use this when you need to coordinate versioning across services that must be released together as a unified platform.
/plugin marketplace add anton-abyzov/specweave/plugin install sw-release@specweavePurpose: Orchestrate releases across multiple repositories as a unified platform version.
When to Use: Multi-repo architectures where services must release together (umbrella versioning).
/sw-release:platform create <platform-version>
Example:
/sw-release:platform create v3.0.0
What it does:
release/v* branches in all repos (GitFlow)v5.0.0-rc.1, v2.9.0-rc.1, etc..specweave/platform-releases.json.specweave/docs/internal/delivery/version-matrix.mdOutput:
š Creating Platform Release: v3.0.0
Step 1: Validating repositories...
ā frontend: Clean (current: v4.2.0)
ā backend: Clean (current: v2.8.0)
ā api-gateway: Clean (current: v3.1.0)
Step 2: Analyzing changes...
š frontend: 12 commits (3 breaking, 5 features, 4 fixes) ā Suggest v5.0.0
š backend: 8 commits (0 breaking, 7 features, 1 fix) ā Suggest v2.9.0
š api-gateway: 15 commits (2 breaking, 8 features, 5 fixes) ā Suggest v4.0.0
Step 3: Creating release branches...
ā frontend: release/v5.0.0
ā backend: release/v2.9.0
ā api-gateway: release/v4.0.0
Step 4: Tagging RC.1...
ā frontend: v5.0.0-rc.1
ā backend: v2.9.0-rc.1
ā api-gateway: v4.0.0-rc.1
Step 5: Updating platform manifest...
ā Created .specweave/platform-releases.json
Step 6: Updating version matrix...
ā Created .specweave/docs/internal/delivery/version-matrix.md
ā
Platform v3.0.0-rc.1 created!
Next steps:
1. Deploy to staging
2. Run E2E tests
3. If tests pass: /sw-release:platform promote v3.0.0-rc.1
4. If tests fail: /sw-release:platform iterate v3.0.0-rc.1
/sw-release:platform iterate <platform-rc-version>
Example:
/sw-release:platform iterate v3.0.0-rc.1
What it does:
Output:
š Iterating Platform RC: v3.0.0-rc.1
Which repos need fixes?
[x] frontend
[ ] backend (no changes needed)
[x] api-gateway
Creating RC.2 for changed repos:
ā frontend: v5.0.0-rc.2
ā api-gateway: v4.0.0-rc.2
ā¹ļø backend: v2.9.0-rc.1 (unchanged)
ā
Platform v3.0.0-rc.2 created!
/sw-release:platform promote <platform-rc-version>
Example:
/sw-release:platform promote v3.0.0-rc.3
What it does:
Pre-Flight Checklist:
Output:
š Promoting Platform RC to Production: v3.0.0-rc.3
Pre-Flight Checks:
ā All repos on latest RC
ā Tests passing: frontend ā
, backend ā
, api-gateway ā
ā No blocking issues
Step 1: Merging to main...
ā frontend: release/v5.0.0 ā main
ā backend: release/v2.9.0 ā main
ā api-gateway: release/v4.0.0 ā main
Step 2: Tagging final versions...
ā frontend: v5.0.0
ā backend: v2.9.0
ā api-gateway: v4.0.0
Step 3: Merging back to develop...
ā frontend: main ā develop
ā backend: main ā develop
ā api-gateway: main ā develop
Step 4: Cleaning up release branches...
ā frontend: Deleted release/v5.0.0
ā backend: Deleted release/v2.9.0
ā api-gateway: Deleted release/v4.0.0
Step 5: Updating platform manifest...
ā Status: released
Step 6: Tracking DORA metrics...
ā Deployment frequency updated
ā Lead time calculated
ā Dashboard updated
ā
Platform v3.0.0 released to production!
Platform Version Matrix:
Product: v3.0.0
āā frontend: v5.0.0
āā backend: v2.9.0
āā api-gateway: v4.0.0
Deployment URLs:
- Production: https://app.example.com
- Docs: .specweave/docs/internal/delivery/version-matrix.md
/sw-release:platform status [platform-version]
Example:
/sw-release:platform status v3.0.0
Output:
š Platform Release Status: v3.0.0
Status: š” In Progress (RC.2)
Service Versions:
ā frontend: v5.0.0-rc.2 (from v4.2.0)
ā backend: v2.9.0-rc.1 (from v2.8.0)
ā api-gateway: v4.0.0-rc.2 (from v3.1.0)
RC History:
- v3.0.0-rc.1: Created 2025-11-11 10:00 UTC
- v3.0.0-rc.2: Created 2025-11-11 14:30 UTC (frontend, api-gateway fixed)
Tests:
ā frontend: All passing
ā backend: All passing
š“ api-gateway: 2 E2E tests failing
Blockers:
- api-gateway: Auth flow broken (issue #145)
Next Steps:
1. Fix api-gateway auth flow
2. Create RC.3: /sw-release:platform iterate v3.0.0-rc.2
3. Re-test
4. Promote: /sw-release:platform promote v3.0.0-rc.3
Location: .specweave/platform-releases.json
{
"v3.0.0": {
"status": "rc",
"currentRC": "rc.2",
"created": "2025-11-11T10:00:00Z",
"services": {
"frontend": {
"version": "v5.0.0-rc.2",
"previousVersion": "v4.2.0",
"changeType": "major",
"releaseNotes": "Breaking changes: New auth API"
},
"backend": {
"version": "v2.9.0-rc.1",
"previousVersion": "v2.8.0",
"changeType": "minor",
"releaseNotes": "Added dark mode support"
},
"api-gateway": {
"version": "v4.0.0-rc.2",
"previousVersion": "v3.1.0",
"changeType": "major",
"releaseNotes": "Breaking changes: Removed legacy endpoints"
}
},
"rcHistory": [
{
"rc": "rc.1",
"created": "2025-11-11T10:00:00Z",
"services": {
"frontend": "v5.0.0-rc.1",
"backend": "v2.9.0-rc.1",
"api-gateway": "v4.0.0-rc.1"
}
},
{
"rc": "rc.2",
"created": "2025-11-11T14:30:00Z",
"services": {
"frontend": "v5.0.0-rc.2",
"backend": "v2.9.0-rc.1",
"api-gateway": "v4.0.0-rc.2"
},
"changes": ["frontend: Fixed auth bug", "api-gateway: Fixed CORS issue"]
}
]
}
}
Location: .specweave/docs/internal/delivery/version-matrix.md
Content:
# Platform Version Matrix
**Last Updated**: 2025-11-11 15:00 UTC
## Current Production
**Platform Version**: v2.0.0
**Released**: 2025-10-15
| Service | Version | Changelog |
|---------|---------|-----------|
| frontend | v4.2.0 | Added user preferences |
| backend | v2.8.0 | Performance improvements |
| api-gateway | v3.1.0 | Rate limiting updates |
---
## In Progress
**Platform Version**: v3.0.0-rc.2
**Status**: Testing
| Service | RC Version | Change Type | Release Notes |
|---------|------------|-------------|---------------|
| frontend | v5.0.0-rc.2 | MAJOR | Breaking: New auth API |
| backend | v2.9.0-rc.1 | MINOR | Dark mode support |
| api-gateway | v4.0.0-rc.2 | MAJOR | Breaking: Removed legacy endpoints |
**Blockers**: api-gateway auth flow (issue #145)
---
## Release History
### v2.0.0 (2025-10-15)
- frontend: v4.2.0
- backend: v2.8.0
- api-gateway: v3.1.0
### v1.5.0 (2025-09-01)
- frontend: v4.0.0
- backend: v2.7.0
- api-gateway: v3.0.0
(Complete history...)
In .specweave/config.json:
{
"release": {
"platformMode": true,
"repositories": [
{
"name": "frontend",
"path": "../frontend",
"git": "https://github.com/org/frontend.git"
},
{
"name": "backend",
"path": "../backend",
"git": "https://github.com/org/backend.git"
},
{
"name": "api-gateway",
"path": "../api-gateway",
"git": "https://github.com/org/api-gateway.git"
}
],
"gitflow": {
"enabled": true,
"releaseBranchPrefix": "release/",
"deleteAfterMerge": true
}
}
}
When to Use Platform Releases:
When NOT to Use:
RC Best Practices:
Issue: Git conflicts during merge
# Solution: Resolve conflicts manually, then resume
git add .
git commit -m "Resolved conflicts"
/sw-release:platform promote v3.0.0-rc.3 --resume
Issue: One service fails tests
# Solution: Fix the service, create new RC
# (Don't bump other services that passed)
/sw-release:platform iterate v3.0.0-rc.2
Issue: Need to rollback
# Solution: Revert main to previous tag, create hotfix
git revert <commit>
/sw-release:platform create v3.0.1
Note: This command integrates with existing SpecWeave increment workflow. Each platform release should have its own increment (e.g., 0050-platform-v3-release).