openrouter-cli

Release Strategy

This document outlines our automated release strategy for the OpenRouter CLI project during its MVP development phase.

Branch Strategy

Feature Branches (feature/*)

Main Branch (main)

Development Workflow

  1. Create feature branch: feature/your-feature-name
  2. Develop feature: Push commits → Automatic beta releases (0.1.3-beta.0, 0.1.3-beta.1)
  3. Test thoroughly: Use beta NPM package for testing
  4. Merge to main: When satisfied → Automatic stable release (semantic versioning: 0.2.0, 1.0.0, etc.)

Automated Version Management

Beta Versioning

Main Release Versioning

Git Integration

Quality Gates

Beta Releases

Stable Releases

Version Constraints

NPM Installation

# Install latest stable release
npm install @letuscode/openrouter-cli

# Install latest beta release
npm install @letuscode/openrouter-cli@beta

# Install specific version
npm install @letuscode/openrouter-cli@0.1.0-beta.1

GitHub Releases

Automated Workflow Details

GitHub Actions Workflow

Version Bumping Logic

# Beta releases
Main: 0.1.2 → Feature branch → 0.1.3-beta.0

# Main releases (semantic versioning)
Commits: "feat: add feature" → 0.2.0
Commits: "fix: resolve bug" → 0.1.3
Commits: "BREAKING CHANGE" → 1.0.0

Package.json Synchronization

Commit Message Requirements

Conventional Commits Format

Use the following commit message format for automatic semantic versioning:

# Features (minor bump)
feat: add new user dashboard
feat(api): implement new endpoint

# Fixes (patch bump)
fix: resolve authentication bug
fix(ui): update error message display

# Breaking changes (major bump)
feat!: remove deprecated API
BREAKING CHANGE: change authentication method

Merge Strategy

When to Release to Main

A feature is ready for main when: