Ship Release banner
rtk-ai rtk-ai

Ship Release

DevOps community intermediate

Description

Systematic release workflow for RTK: build verification, version bump, changelog update, git tag, and push to trigger CI/CD.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

Repository README

This is the README for rtk-ai/rtk, shared by 9 entries in this directory. It describes the repository, not this entry specifically.


description: Build, commit, push & version bump workflow - automates the complete release cycle

Ship Release

Systematic release workflow for RTK: build verification, version bump, changelog update, git tag, and push to trigger CI/CD.

When to Use

  • Manual invocation: When ready to release a new version
  • After feature completion: Before tagging and publishing
  • Before version bump: To automate the release checklist

Pre-Release Checklist (Auto-Verified)

Before running `/ship`, verify:

1. Quality Checks Pass

cargo fmt --all --check    # Code formatted
cargo clippy --all-targets # Zero warnings
cargo test --all           # All tests pass

2. Performance Benchmarks Pass

hyperfine 'target/release/rtk git status' --warmup 3
# Should show <10ms mean time

/usr/bin/time -l target/release/rtk git status
# Should show <5MB maximum resident set size

3. Integration Tests Pass

cargo install --path . --force  # Install locally
cargo test --ignored            # Run integration tests

4. Git Clean State

git status  # Should show "nothing to commit, working tree clean"

Release Workflow

Step 1: Determine Version Bump

**Semantic Versioning** (MAJOR.MINOR.PATCH):

  • MAJOR (v1.0.0): Breaking changes (rare for RTK)
  • MINOR (v0.X.0): New features, new filters, new commands
  • PATCH (v0.0.X): Bug fixes, performance improvements

**Examples**:

  • New filter added (rtk pytest) → MINOR bump (v0.16.0 → v0.17.0)
  • Bug fix in git log filter → PATCH bump (v0.16.0 → v0.16.1)
  • Breaking CLI arg change → MAJOR bump (v0.16.0 → v1.0.0)

Step 2: Update Version

**Files to update**:

  1. Cargo.toml (line 3): version = "X.Y.Z"
  2. CHANGELOG.md (add new section)
  3. README.md (if version mentioned)

**Example**:

# Cargo.toml (before)
[package]
name = "rtk"
version = "0.16.0"  # Current version

# Cargo.toml (after - MINOR bump)
[package]
name = "rtk"
version = "0.17.0"  # New version

**CHANGELOG.md template**:

## [0.17.0] - 2026-02-15

### Added
- `rtk pytest` command for Python test filtering (90% token reduction)
- Support for `pytest` JSON output parsing
- Integration with `uv` package manager auto-detection

### Fixed
- Shell escaping for PowerShell on Windows
- Memory leak in regex pattern caching

### Changed
- Updated `cargo test` filter to show test names in failures

Step 3: Build and Verify

# Clean build
cargo clean
cargo build --release

# Verify binary
target/release/rtk --version
# Should show new version

# Run full quality checks
cargo fmt --all --check
cargo clippy --all-targets
cargo test --all

# Benchmark performance
hyperfine 'target/release/rtk git status' --warmup 3
# Should still be <10ms

Step 4: Commit Version Bump

# Stage version files
git add Cargo.toml Cargo.lock CHANGELOG.md README.md

# Commit with version tag
git commit -m "chore(release): bump version to v0