Skip to content
releasing-versions logo

Releasing Versions

releasing-versions

Manages release preparation including validation, version bumping, documentation verification, and security checks.

aiskillstore/marketplace0installs430stars

SKILL.md

Full skill instructions

Releasing Versions

When to Use

  • Preparing a new release
  • Version bumping
  • Pre-release validation
  • Documentation verification before release

Release Workflow Overview

PhasePurposeBlocking?
1. Pre-Release ValidationTests, securityYes
2. Version BumpUpdate version stringsYes
3. DocumentationVerify/​update docsWarning
4. Template SyncCookiecutter alignmentWarning
5. Build VerificationPackage buildsYes
6. Git OperationsCommit and tagYes

Phase 1: Pre-Release Validation

1.1 Verify Sprint Tasks Complete

# Check for incomplete tasks
bpsai-pair task list --status in_progress
bpsai-pair task list --status blocked

# Check current state
bpsai-pair status

BLOCKER: All tasks must be complete or moved to next sprint.

1.2 Run Full Test Suite

# All tests must pass
pytest tests/ -v --tb=short

# Check coverage meets target (80%)
pytest tests/ --cov=bpsai_pair --cov-report=term-missing --cov-fail-under=80

BLOCKER: Release cannot proceed if tests fail.

1.3 Security Scans

# Scan for accidentally committed secrets
bpsai-pair security scan-secrets

# Scan dependencies for known vulnerabilities
bpsai-pair security scan-deps

BLOCKER: Secrets detected = cannot release. WARNING: Dependency vulnerabilities should be reviewed but may not block.

Phase 2: Version Bump

Locate Version Files

grep -E "^version|__version__" tools/​cli/​pyproject.toml tools/​cli/​bpsai_pair/​__init__.py

Update Both Files

FileFormat
pyproject.tomlversion = "X.Y.Z"
__init__.py__version__ = "X.Y.Z"

Note: Version in files has NO 'v' prefix. Git tags use 'v' prefix.

Related Files to Update

FileUpdate
capabilities.yamlversion: "X.Y.Z"
config.yamlversion: "X.Y.Z"

Phase 3: Documentation Verification

3.1 Required Documentation

# Check CHANGELOG has entry for this version
grep -A 20 "## \[X.Y.Z\]" CHANGELOG.md

# Check README mentions current features
head -100 README.md

# Check FEATURE_MATRIX is current
head -50 .paircoder/​docs/​FEATURE_MATRIX.md

3.2 Documentation Freshness

# Check modification dates
git log -1 --format="%ci" -- README.md
git log -1 --format="%ci" -- CHANGELOG.md
git log -1 --format="%ci" -- .paircoder/​docs/​FEATURE_MATRIX.md

WARNING if any required doc older than 7 days - may need update.

3.3 CHANGELOG Entry Format

If missing, create entry following Keep a Changelog format:

## [X.Y.Z] - YYYY-MM-DD

### Added
- Feature 1
- Feature 2

### Changed
- Change 1

### Fixed
- Fix 1

### Removed
- (if applicable)

Generate content from archived tasks:

bpsai-pair task changelog-preview --since <last-version>

Phase 4: Template Sync (PairCoder Only)

Verify cookiecutter template matches current version:

# Check template exists
ls -la tools/​cli/​bpsai_pair/​data/​cookiecutter-paircoder/

# Compare key files
diff .paircoder/​config.yaml \
  tools/​cli/​bpsai_pair/​data/​cookiecutter-paircoder/​{{cookiecutter.project_slug}}/​.paircoder/​config.yaml

diff CLAUDE.md \
  tools/​cli/​bpsai_pair/​data/​cookiecutter-paircoder/​{{cookiecutter.project_slug}}/​CLAUDE.md

Key files that should stay in sync:

  • config.yaml structure (not values)
  • CLAUDE.md instructions
  • capabilities.yaml format
  • Skill files

Phase 5: Build Verification

# Clean old builds
rm -rf tools/​cli/​dist/ tools/​cli/​build/ tools/​cli/​*.egg-info

# Build the package
cd tools/​cli && pip install build && python -m build

# Verify clean install
pip install dist/​*.whl --force-reinstall

# Verify version is correct
bpsai-pair --version

Phase 6: Release Checklist

  • All sprint tasks complete
  • Tests passing (100%)
  • Coverage ≥ 80%
  • No secrets in codebase
  • Version bumped in pyproject.toml
  • Version bumped in init.py
  • Version bumped in capabilities.yaml
  • Version bumped in config.yaml
  • CHANGELOG updated
  • README current
  • FEATURE_MATRIX updated
  • Cookiecutter template synced (if applicable)
  • Package builds successfully
  • Package installs cleanly

Phase 7: Git Operations

# Stage all changes
git add -A

# Commit with release message
git commit -m "Release vX.Y.Z"

# Create annotated tag
git tag -a "vX.Y.Z" -m "Release vX.Y.Z"

# Show what will be pushed
git log --oneline -5
git tag -l | tail -5

DO NOT push yet - let user review and confirm.

Phase 8: Report Summary

📦 **Release Prepared**: vX.Y.Z

**Pre-Release Checks**:
- ✅ All tasks complete
- ✅ Tests: XXX passed
- ✅ Coverage: XX%
- ✅ Security: Clean

**Documentation**:
- ✅ CHANGELOG: Updated
- ✅ README: Current
- ✅ FEATURE_MATRIX: Updated
- ⚠️ User guide: Last updated X days ago (review recommended)

**Cookiecutter**: 
- ✅ Template synced

**Build**:
- ✅ Package built: bpsai_pair-X.Y.Z-py3-none-any.whl
- ✅ Installs cleanly
- ✅ Version verified

**Ready to Release**:
```bash
git push origin main
git push origin vX.Y.Z

Then publish to PyPI:

cd tools/​cli && twine upload dist/​*

## Error Recovery

### Tests Fail
1. Do not proceed with release
2. Fix failing tests
3. Re-run from Phase 1

### Secrets Detected
1. Do not proceed with release
2. Remove secrets from history (git filter-branch or BFG)
3. Rotate any exposed credentials
4. Re-run security scan

### Documentation Stale
1. WARNING, not blocker
2. User can choose to update or proceed
3. Log the decision

### Cookiecutter Differs
1. Determine if difference is intentional
2. If template should be updated, do so
3. If difference is project-specific, document why

## Configuration Reference

Release configuration in `config.yaml`:

```yaml
release:
  version_source: tools/​cli/​pyproject.toml
  documentation:
    - CHANGELOG.md
    - README.md
    - .paircoder/​docs/​FEATURE_MATRIX.md
  cookie_cutter:
    template_path: tools/​cli/​bpsai_pair/​data/​cookiecutter-paircoder
    sync_required: true
  freshness_days: 7

Version Format Reference

LocationFormatExample
pyproject.tomlX.Y.Z2.9.0
init.pyX.Y.Z2.9.0
Git tagsvX.Y.Zv2.9.0
CHANGELOG[X.Y.Z][2.9.0]

More skills from aiskillstore

docx logo
aiskillstore/marketplace

docx

Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks

430 216
View
agent-development logo
aiskillstore/marketplace

agent-development

This handles everything around building autonomous agents for Claude Code plugins.

430 197
View
doc-coauthoring logo
aiskillstore/marketplace

doc-coauthoring

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

430 196
View
skill-development logo
aiskillstore/marketplace

skill-development

This is the meta-skill for building skills themselves.

430 196
View
canvas-design logo
aiskillstore/marketplace

canvas-design

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

430 193
View
webapp-testing logo
aiskillstore/marketplace

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

430 191
View
hook-development logo
aiskillstore/marketplace

hook-development

Helps you build event-driven automation for Claude Code using hooks that trigger on tool use, session events, and stop conditions.

430 187
View
algorithmic-art logo
aiskillstore/marketplace

algorithmic-art

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.

430 185
View
command-development logo
aiskillstore/marketplace

command-development

Shows Claude Code how to build slash commands from markdown files, covering the YAML frontmatter options, dynamic arguments with $1/$2...

430 185
View
plugin-structure logo
aiskillstore/marketplace

plugin-structure

This is your reference when scaffolding Claude Code plugins or figuring out why components aren't loading.

430 183
View
skill-installer logo
aiskillstore/marketplace

skill-installer

Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).

430 180
View
web-artifacts-builder logo
aiskillstore/marketplace

web-artifacts-builder

Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.

430 177
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View