code-simplifier
Review RTK Rust code for idiomatic simplification. Detects over-engineering, unnecessary allocations, verbose patterns. Applies Rust idioms without changing…
Build, commit, push & version bump workflow - automates the complete release cycle
$ npx -y skills add rtk-ai/rtk --skill ship --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/shipContext preview
The summary Claude sees to decide when to auto-load this skill.
Build, commit, push & version bump workflow - automates the complete release cycle
description: Build, commit, push & version bump workflow - automates the complete release cycle allowed-tools: Read Write Edit Bash Grep Glob
Systematic release workflow for RTK: build verification, version bump, changelog update, git tag, and push to trigger CI/CD.
Before running `/ship`, verify:
cargo fmt --all --check # Code formatted cargo clippy --all-targets # Zero warnings cargo test --all # All tests 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
cargo install --path . --force # Install locally cargo test --ignored # Run integration tests
git status # Should show "nothing to commit, working tree clean"
**Semantic Versioning** (MAJOR.MINOR.PATCH):
**Examples**:
**Files to update**: 1. `Cargo.toml` (line 3): `version = "X.Y.Z"` 2. `README.md` (if version mentioned)
> **Note**: `CHANGELOG.md` is auto-generated by release-please from conventional commit messages — do not edit manually.
**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
# 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
# Stage version files git add Cargo.toml Cargo.lock README.md # Commit with version tag git commit -m "chore(release): bump version to v0.17.0 - Updated Cargo.toml version - Verified all quality checks pass - Benchmarked performance (<10ms startup) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>"
# Create annotated tag with changelog excerpt git tag -a v0.17.0 -m "Release v0.17.0 Added: - rtk pytest command (90% token reduction) - Support for uv package manager Fixed: - Shell escaping for PowerShell - Memory leak in regex caching Performance: <10ms startup, <5MB memory"
# Push commit and tags git push origin main git push origin v0.17.0 # Trigger GitHub Actions release workflow # (CI/CD will build binaries, create GitHub release, publish to crates.io if configured)
After pushing, verify:
# Check GitHub Actions workflow status gh run list --limit 1 # Watch latest run gh run watch
# Check if release created gh release view v0.17.0 # Should show: # - Release notes from git tag # - Binaries attached (macOS, Linux x86_64/ARM64, Windows) # - Checksums for verification
# Test installation from release curl -sSL https://github.com/rtk-ai/rtk/releases/download/v0.17.0/rtk-macos-latest -o rtk chmod +x rtk ./rtk --version # Should show v0.17.0
If release has critical issues:
# Fix issue in new branch git checkout -b hotfix/v0.17.1 # Apply fix cargo test --all git commit -m "fix: critical issue in pytest filter" # Release v0.17.1 (PATCH bump) # Follow release workflow above
# Yank broken version from crates.io cargo yank --vers 0.17.0 # Users can't download yanked version, but existing installs work
# Delete tag locally git tag -d v0.17.0 # Delete tag on remote git push origin :refs/tags/v0.17.0 # Delete GitHub release gh release delete v0.17.0 --yes # Revert commit git revert HEAD git push origin main
Save as `scripts/ship.sh`:
#!/bin/bash
set -euo pipefail
# Parse version argument
if [ $# -ne 1 ]; then
echo "Usage: $0 <version>"
echo "Example: $0 0.17.0"
exit 1
fi
NEW_VERSION=$1
echo "🚀 Starting release workflow for v$NEW_VERSION"
# 1. Quality checks
echo "📦 Running quality checks..."
cargo fmt --all --check
cargo clippy --all-targets
cargo test --all
# 2. Update version
echo "🔢 Updating version to $NEW_VERSION..."
sed -i '' "s/^version = .*/version = \"$NEW_VERSION\"/" Cargo.toml
# 3. Build
echo "🔨 Building release binary..."
cargo build --release
# 4. Verify version
echo "✅ Verifying version..."
target/release/rtk --version | grep "$NEW_VERSION"
# 5. CCLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies
Repo: rtk-ai/rtk
Review RTK Rust code for idiomatic simplification. Detects over-engineering, unnecessary allocations, verbose patterns. Applies Rust idioms without changing…
Rust design patterns for RTK. Newtype, Builder, RAII, Trait Objects, State Machine. Applied to CLI filter modules. Use when designing new modules or…
Issue triage: audit open issues, categorize, detect duplicates, cross-ref PRs, risk assessment, post comments. Args: "all" for deep analysis of all, issue…
CLI performance optimization - startup time, memory usage, token savings benchmarking
Batch review des PRs RTK par ordre de complexité croissante (XS → S → M → L). Pour chaque PR : vérifie l'état (conflits, CLA, reviews), lit le diff complet,…
PR triage: audit open PRs, deep review selected ones, draft and post review comments. Args: "all" to review all, PR numbers to focus (e.g. "42 57"), "en"/"fr"…