autoship
v0.1.1
Published
CLI tool to automate changeset-based releases with AI-generated descriptions
Maintainers
Readme
autoship
CLI tool to automate changeset-based releases with AI-generated descriptions.
Features
- AI-Powered Release Analysis - Automatically suggests release type (patch/minor/major) based on commit history and code changes
- Smart Changeset Generation - Generates clear, concise changeset descriptions using AI
- End-to-End Automation - Handles the full release workflow from clone to publish
- CI Integration - Waits for checks to pass before merging
- Interactive & Headless Modes - Use interactively or fully automated with
-yflag - Multi-Repository Support - Configure and manage multiple repositories
- Changesets Compatible - Works with any repository using the changesets workflow
Requirements
- Node.js 18+
- Git
- GitHub CLI (
gh) - authenticated with repo access - AI_GATEWAY_API_KEY environment variable
The target repository must use changesets for versioning.
Setup
1. Authenticate GitHub CLI
gh auth login2. Set your API key
export AI_GATEWAY_API_KEY=your-key3. Add a repository
npx autoship add myprojectYou'll be prompted for:
- GitHub owner (org or username)
- Repository name
- Base branch (default:
main)
Usage
Start a release
npx autoship [repo]If no repo is specified, you'll be prompted to select one.
The tool will:
- Clone the repository
- Analyze changes since the last version tag
- Suggest a release type (patch/minor/major) using AI
- Generate a changeset description using AI
- Create a PR with the changeset
- Wait for CI checks to pass
- Merge the changeset PR
- Wait for the Version Packages PR (created by changesets action)
- Merge the Version Packages PR to publish
Options
-t, --type <type> Release type: patch, minor, or major
-m, --message <msg> Release description (skips AI generation)
-y, --yes Skip all confirmationsExamples
# Interactive release
npx autoship myproject
# Patch release with custom message
npx autoship myproject -t patch -m "Fixed login bug"
# Fully automated minor release
npx autoship myproject -t minor -yList configured repositories
npx autoship listConfiguration
Config is stored at ~/.autoship/config.json.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
# Clone the repo
git clone https://github.com/vercel-labs/autoship.git
# Install dependencies
pnpm install
# Run tests
pnpm test
# Build
pnpm buildLicense
Apache-2.0
