Skip to content

gtupak/ai-release

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Release

airelease creates GitHub releases from merged pull requests and can ask OpenRouter (or custom endpoints) to suggest a semantic version and release title options.

Features

  • Interactive release creation flow
  • Auto-discovers PRs since the latest release
  • Uses gh release create to publish
  • Global config in ~/.airelease/config.json
  • Per-repo configurable base branch
  • Configurable OpenRouter model or custom endpoint
  • Dry run mode to preview changes

Requirements

  • git
  • gh (authenticated with gh auth login)
  • Go 1.22+

Install

From this repository:

go install .

Ensure your Go bin path is in PATH:

export PATH="$(go env GOPATH)/bin:$PATH"

Quick Start

Using OpenRouter

  1. Set your OpenRouter API key:
airelease config openrouter-api-key <your-api-key>
  1. Optional: set model globally:
airelease config model qwen/qwen3.5-flash-02-23
  1. Optional: set base branch for current repo:
airelease config base develop
  1. Run it inside a git repository:
airelease

Using a Custom Endpoint

  1. Set your custom endpoint:
airelease config model-url "https://your-endpoint.com/v1"
  1. Add required headers (e.g., Authorization):
airelease config model-header "Authorization: Bearer your-token"
  1. Set your model name:
airelease config model "your-model-name"
  1. Run it:
airelease

Dry Run Mode

Test without creating a release:

airelease --dry-run

Commands

Basic Usage

airelease                    # Create a GitHub release from merged PRs
airelease --dry-run          # Preview release without creating it

Configuration

airelease config base <branch>                    # Default base branch for current repo
airelease config openrouter-api-key <api-key>     # Set OpenRouter API key
airelease config openrouter <true|false>          # Enable/disable OpenRouter mode  
airelease config model <model-name>               # Set model name

Custom LLM Endpoints

airelease config model-url <url>                 # Set custom endpoint (full path)
airelease config model-header <key:value>        # Add custom header
airelease config model-header remove <key>       # Remove a header
airelease config model-header list               # List all custom headers

Note: When using model-url or model-header, OpenRouter mode is automatically disabled. The tool will append /chat/completions to the base URL if not present.

Notes

  • If OpenRouter is not configured, airelease still works without AI suggestions.
  • API key is stored in ~/.airelease/config.json with file mode 0600.
  • Custom endpoints are supported with the model-url and model-header config commands.
  • dry-run mode previews the release without actually creating it.

About

AI-assisted Github release creation tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages