diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml index 9d450cc..20e8a93 100644 --- a/.github/workflows/beta.yml +++ b/.github/workflows/beta.yml @@ -4,11 +4,10 @@ on: push: branches: - 'feature/**' - - 'beta' + - 'main' pull_request: types: [opened, synchronize, reopened, closed] branches: - - 'beta' - 'main' jobs: @@ -76,16 +75,11 @@ jobs: echo "preid=beta" >> $GITHUB_OUTPUT echo "tag=beta" >> $GITHUB_OUTPUT echo "Release type: BETA (experimental features)" - elif [[ "${{ github.event_name }}" == "push" && "${{ github.ref }}" == refs/heads/beta ]]; then - echo "type=beta" >> $GITHUB_OUTPUT - echo "preid=beta" >> $GITHUB_OUTPUT - echo "tag=beta" >> $GITHUB_OUTPUT - echo "Release type: BETA (testing phase - direct push)" - elif [[ "${{ github.event_name }}" == "pull_request" && "${{ github.base_ref }}" == "beta" ]]; then - echo "type=beta" >> $GITHUB_OUTPUT - echo "preid=beta" >> $GITHUB_OUTPUT - echo "tag=beta" >> $GITHUB_OUTPUT - echo "Release type: BETA (testing phase - PR merge)" + elif [[ "${{ github.event_name }}" == "push" && "${{ github.ref }}" == refs/heads/main ]]; then + echo "type=stable" >> $GITHUB_OUTPUT + echo "preid=" >> $GITHUB_OUTPUT + echo "tag=latest" >> $GITHUB_OUTPUT + echo "Release type: STABLE (production ready)" elif [[ "${{ github.event_name }}" == "pull_request" && "${{ github.base_ref }}" == "main" ]]; then echo "type=stable" >> $GITHUB_OUTPUT echo "preid=" >> $GITHUB_OUTPUT @@ -111,8 +105,8 @@ jobs: # For stable releases, analyze commits to determine semantic version echo "Analyzing commits to determine semantic version..." - # Get commits since last stable release - LAST_STABLE=$(npm view "$PKG" versions --json 2>/dev/null | jq -r ".[] | select(startswith(\"0.\") and (contains(\"-alpha.\") | not) and (contains(\"-beta.\") | not))" | tail -1) || echo "" + # Get commits since last stable release (excluding beta versions) + LAST_STABLE=$(npm view "$PKG" versions --json 2>/dev/null | jq -r ".[] | select(startswith(\"0.\") and (contains(\"-beta.\") | not))" | tail -1) || echo "" if [ -n "$LAST_STABLE" ] && [ "$LAST_STABLE" != "null" ]; then echo "Last stable version: $LAST_STABLE" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b4218ec..f3aea3b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -107,7 +107,7 @@ jobs: echo "Analyzing commits to determine semantic version..." # Get commits since last stable release - LAST_STABLE=$(npm view "$PKG" versions --json 2>/dev/null | jq -r ".[] | select(startswith(\"0.\") and (contains(\"-alpha.\") | not) and (contains(\"-beta.\") | not))" | tail -1) || echo "" + LAST_STABLE=$(npm view "$PKG" versions --json 2>/dev/null | jq -r ".[] | select(startswith(\"0.\") and (contains(\"-beta.\") | not))" | tail -1) || echo "" if [ -n "$LAST_STABLE" ] && [ "$LAST_STABLE" != "null" ]; then echo "Last stable version: $LAST_STABLE" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eac860f..8e85e38 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,6 @@ name: Release (semantic-release) - DISABLED -# DISABLED: Using custom alpha/beta workflow instead +# DISABLED: Using custom beta workflow instead # This will be re-enabled when we're ready for stable releases on: workflow_dispatch: # Manual trigger only, no automatic triggers diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index f393012..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,15 +0,0 @@ -## 1.0.0-beta.1 (2025-09-07) - -### ⚠ BREAKING CHANGES - -- **story/iteration-one:** new features - -### Features - -- add initial project structure and configuration files ([03c77bd](https://github.com/jwill9999/openrouter-cli/commit/03c77bdb9eef1a5daa496383e6708625419fc6b2)) -- **story/iteration-one:** add husky, github workflows, releases and tags, npm release ([147b78c](https://github.com/jwill9999/openrouter-cli/commit/147b78cee9d56fd1d6cfe33e382db215e7b7e760)) -- **story/iteration-one:** fix release workflow ([ac42562](https://github.com/jwill9999/openrouter-cli/commit/ac42562cf525ae42e5804b25a080bf5bc877dfa0)) - -### Bug Fixes - -- **story/iteration-one:** Fix failing release ([496821b](https://github.com/jwill9999/openrouter-cli/commit/496821b94161f14f717b791dfd686f0cbe798479)) diff --git a/README.md b/README.md index 7ea5926..cdd934c 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,47 @@ [![npm latest](https://img.shields.io/npm/v/@letuscode/openrouter-cli)](https://www.npmjs.com/package/@letuscode/openrouter-cli) [![npm beta](https://img.shields.io/npm/v/@letuscode/openrouter-cli/beta)](https://www.npmjs.com/package/@letuscode/openrouter-cli?activeTab=versions) -OpenAI‑compatible CLI for OpenRouter. Ask questions, chat in a REPL, and fuzzy‑search models. +OpenAI‑compatible CLI for `OpenRouter`. Ask questions, chat in a REPL, and fuzzy‑search models. + +> **Note**: This project is in MVP development. Beta releases are for testing, and stable releases are for general use. See [Release Strategy](docs/RELEASE_STRATEGY.md) for details. You can change your model any time. In a terminal, run `openrouter models` to browse, or in the REPL type `/model` to search inline. Tip: search for `free` to see free models. + + + + + +
+ +
Monitor your current session costs +
+ +
Get Billing Information +
+ +## Fuzzy Search Models + + + + + +
+ +
Monitor your current session costs +
+ +## Repl Chat Configurations + + + + + +
+ +
Repl Chat Configurations +
+ ## Install ### Stable Release (Recommended) @@ -19,13 +56,6 @@ You can change your model any time. In a terminal, run `openrouter models` to br - Global: `npm i -g @letuscode/openrouter-cli@beta` - One‑off: `npx @letuscode/openrouter-cli@beta --help` -### Alpha Release (Experimental) - -- Global: `npm i -g @letuscode/openrouter-cli@alpha` -- One‑off: `npx @letuscode/openrouter-cli@alpha --help` - -> **Note**: This project is in MVP development. Alpha releases are experimental, beta releases are for testing, and stable releases are for general use. See [Release Strategy](docs/RELEASE_STRATEGY.md) for details. - Tip: Running `openrouter` with no args starts the setup wizard and then opens the REPL (in a terminal). ### Requirements @@ -111,13 +141,3 @@ Pick 1-10 or type a model id: ## License - MIT - -# Test alpha release - -# Testing GitHub release creation - -# Final test of alpha workflow - -# Testing improved version bumping - -# Testing version increment diff --git a/assets/img/billing.png b/assets/img/billing.png new file mode 100644 index 0000000..59d0b48 Binary files /dev/null and b/assets/img/billing.png differ diff --git a/assets/img/chat.png b/assets/img/chat.png new file mode 100644 index 0000000..749e953 Binary files /dev/null and b/assets/img/chat.png differ diff --git a/assets/img/fuzzy search.png b/assets/img/fuzzy search.png new file mode 100644 index 0000000..90bb39a Binary files /dev/null and b/assets/img/fuzzy search.png differ diff --git a/assets/img/session.png b/assets/img/session.png new file mode 100644 index 0000000..0e7150e Binary files /dev/null and b/assets/img/session.png differ diff --git a/docs/RELEASE_STRATEGY.md b/docs/RELEASE_STRATEGY.md index 66e1e7c..4a393b6 100644 --- a/docs/RELEASE_STRATEGY.md +++ b/docs/RELEASE_STRATEGY.md @@ -13,15 +13,6 @@ This document outlines our automated release strategy for the OpenRouter CLI pro - **When to use**: When developing new features that may have breaking changes - **Automation**: Automatic version bumping and publishing on push -### Beta Branch (`beta`) - -- **Purpose**: Feature-complete functionality ready for testing -- **Release Type**: Beta releases -- **NPM Tag**: `beta` -- **Version Pattern**: `0.1.3-beta.0`, `0.1.4-beta.0`, etc. (next patch version + beta) -- **When to use**: When features are complete and ready for broader testing -- **Automation**: Automatic version bumping and publishing on push - ### Main Branch (`main`) - **Purpose**: Stable, production-ready releases @@ -35,9 +26,8 @@ This document outlines our automated release strategy for the OpenRouter CLI pro 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. **Merge to beta**: `beta` branch -4. **Test thoroughly**: Push commits → Automatic beta releases (`0.1.4-beta.0`, `0.1.4-beta.1`) -5. **Merge to main**: When ready → Automatic stable release (semantic versioning: `0.2.0`, `1.0.0`, etc.) +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 @@ -110,7 +100,7 @@ npm install @letuscode/openrouter-cli@0.1.0-beta.1 ### GitHub Actions Workflow - **File**: `.github/workflows/beta.yml` -- **Triggers**: Push to `feature/*`, `beta`, or merge to `main` +- **Triggers**: Push to `feature/*` or `main` - **Permissions**: Full repository access for automated commits - **Features**: - Automatic version bumping @@ -123,7 +113,6 @@ npm install @letuscode/openrouter-cli@0.1.0-beta.1 ```bash # Beta releases Main: 0.1.2 → Feature branch → 0.1.3-beta.0 -Main: 0.1.2 → Beta branch → 0.1.3-beta.0 # Main releases (semantic versioning) Commits: "feat: add feature" → 0.2.0 diff --git a/existing_structure.md b/docs/existing_structure.md similarity index 100% rename from existing_structure.md rename to docs/existing_structure.md diff --git a/package.json b/package.json index db4b2ba..3715a74 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@letuscode/openrouter-cli", - "version": "0.1.7", + "version": "0.1.9-beta.0", "description": "CLI tool for OpenRouter (OpenAI-compatible)", "bin": { "openrouter": "bin/openrouter"