# Claude-Utils Release Guide
## 🚀 Complete Release Process
### Prerequisites
- [ ] GitHub account
- [ ] Crates.io account (optional)
- [ ] Rust/Cargo installed
### Step 1: Pre-Release Check
```bash
./scripts/pre-release-check.sh
```
This verifies:
- Code compiles ✅
- Tests pass ✅
- Formatting correct ✅
- No warnings ✅
- Binary works ✅
### Step 2: Create GitHub Repository
1. Go to https://github.com/new
2. Name: `claude-utils`
3. Public repository
4. **DON'T** add any files
### Step 3: Initial Git Setup
```bash
./setup-git.sh
# Enter your GitHub username
# Then push:
git push -u origin main
```
### Step 4: Create Release
```bash
./scripts/create-release.sh 0.1.0
git push origin main
git push origin v0.1.0
```
### Step 5: Wait for CI Builds
- Go to: https://github.com/YOUR_USERNAME/claude-utils/actions
- Wait for builds to complete (5-10 minutes)
- Downloads will appear in Releases
### Step 6: Publish to Crates.io (Optional)
```bash
# First login at https://crates.io
cargo login [your-token]
./scripts/publish-crates-io.sh
```
### Step 7: Create Homebrew Tap
1. Create repo: `homebrew-claude-utils`
2. Run post-release script:
```bash
./scripts/post-release.sh 0.1.0 YOUR_USERNAME
```
3. Follow the Homebrew setup instructions
### Step 8: Update README
Add installation instructions:
```markdown
## Installation
### Homebrew (macOS/Linux)
```bash
brew tap YOUR_USERNAME/claude-utils
brew install claude-utils
```
### Cargo (All platforms)
```bash
cargo install claude-utils
```
### Direct Download
```bash
curl -sSL https://raw.githubusercontent.com/YOUR_USERNAME/claude-utils/main/install.sh | bash
```
```
### Step 9: Announce
Use the generated `ANNOUNCEMENT.md` to post on:
- Dev.to
- Reddit (r/rust, r/commandline)
- Twitter/X
- Discord/Slack
## 📋 Quick Checklist
```bash
# 1. Pre-flight
./scripts/pre-release-check.sh
# 2. Git setup (first time)
./setup-git.sh
git push -u origin main
# 3. Release
./scripts/create-release.sh 0.1.0
git push origin main
git push origin v0.1.0
# 4. After CI builds complete
./scripts/post-release.sh 0.1.0 YOUR_USERNAME
# 5. Publish to crates.io
./scripts/publish-crates-io.sh
# 6. Setup Homebrew tap
# Follow instructions from setup-homebrew-tap.sh
```
## 🔄 Future Releases
For version 0.2.0 and beyond:
1. Update `CHANGELOG.md`
2. Run `./scripts/create-release.sh 0.2.0`
3. Push tag
4. Update Homebrew formula
5. Announce
## 🆘 Troubleshooting
### GitHub Actions failing?
- Check `.github/workflows/ci.yml`
- Verify dependencies in workflow
### Homebrew formula issues?
- Verify SHA256 hashes
- Check download URLs
### Crates.io publish failed?
- Ensure unique version
- Check Cargo.toml metadata