Files
msd-core/MAINTAINERS.md
Lex Christopherson a3a16be296 feat: add CI/CD and release automation
- Add GitHub Actions CI for cross-platform testing (ubuntu/windows/macos × node 18/20/22)
- Add release workflow that auto-creates GitHub Releases and publishes to npm on tag push
- Add CONTRIBUTING.md with branching strategy (maintainers direct commit, contributors PR)
- Add MAINTAINERS.md with release workflows and recovery procedures
- Add PR template for contributors

Closes #221

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 10:37:22 -06:00

2.9 KiB

GSD Maintainer Guide

Quick reference for release workflows and maintenance tasks.

Release Workflow

Standard Release

/gsd-publish-version

The command walks you through:

  1. Check uncommitted changes
  2. Generate changelog from commits
  3. Review and approve changelog
  4. Update CHANGELOG.md
  5. Bump version (npm version patch|minor|major)
  6. Push to GitHub with tags

GitHub Actions then:

  • Creates GitHub Release from CHANGELOG.md
  • Publishes to npm

Pre-release (Experimental Features)

For risky features, ship as alpha first:

# Bump to alpha
npm version prerelease --preid=alpha

# Push
git push origin main --tags

Pre-release tags (v1.10.0-alpha.0) don't trigger npm publish or GitHub Release creation. Users opt-in explicitly.

If it works, promote to stable:

npm version minor  # or patch
git push origin main --tags

If it fails, delete the tag and move on.

Hotfix

Production broken? Skip changelog ceremony:

# Fix the issue
git add . && git commit -m "fix(install): handle Windows UNC paths"

# Bump and push
npm version patch
git push origin main --tags

Version Cadence

Type When Example
MAJOR Breaking changes Command removed, format changed
MINOR New features New command, new capability
PATCH Bug fixes Batch weekly, or immediately if critical

Changelog Format

Follow Keep a Changelog:

## [1.10.0] - 2025-01-22

### Added
- New `/gsd:whats-new` command

### Changed
- Improved parallel execution

### Fixed
- STATE.md progress calculation

### Removed
- **BREAKING:** Deprecated ISSUES.md system

Dependency Policy

Before adding dependencies:

  1. Check bundle size impact
  2. Evaluate if it's worth the weight
  3. Consider if the functionality can be implemented without it

The codebase intelligence system was removed partly because sql.js added 21MB.

Recovery Procedures

Broken npm Release

Within 72 hours:

npm unpublish get-shit-done-cc@1.9.5

After 72 hours: Publish a fix as new patch version.

Wrong Tag

# Delete local and remote
git tag -d v1.9.5
git push origin :refs/tags/v1.9.5

# Recreate correctly
git tag -a v1.9.5 -m "Release v1.9.5"
git push origin v1.9.5

Missing Changelog Entry

Either amend the release commit or add a follow-up commit with the missing content.

CI/CD Setup

Required Secrets

In GitHub repo settings → Secrets → Actions:

  • NPM_TOKEN: npm automation token with publish access

GITHUB_TOKEN is provided automatically.

Branch Protection (Optional)

Settings → Branches → Add rule for main:

  • Require status checks: test, lint
  • Disable force pushes

Reviewing Contributor PRs

Checklist:

  • Follows conventional commit format
  • No enterprise patterns or filler
  • CHANGELOG.md updated for user-facing changes
  • No unnecessary dependencies
  • Tested on Windows if touching paths