Skip to content

feat: AI-powered Changesets workflow for monorepo releases #12

@activadee

Description

@activadee

Problem

Monorepo release management has two main approaches, each with trade-offs:

Approach Pros Cons
semantic-release Fully automated, zero friction Version spam, all packages bump together
Changesets Explicit intent, independent versions, better changelogs Manual step = friction = adoption barrier
Release Please PR-based, good monorepo support Changelog conflicts, complex config

Proposal: AI-Enhanced Changesets

Combine Changesets' explicit release model with AI automation to eliminate friction.

Workflow

PR opened/updated
       ↓
AI analyzes: diff, commit messages, PR description
       ↓
Generates .changeset/<random>.md:
  ---
  "cli": patch
  ---
  Fixed download retry logic for rate-limited requests
       ↓
Commits to PR branch (or suggests via comment)
       ↓
Human reviews/approves changeset
       ↓
Merge → Changesets bot handles release PR

AI Responsibilities

  1. Scope detection: Determine which packages changed (cli, server, core, etc.)
  2. Version inference: Suggest patch/minor/major based on conventional commits
  3. Changelog generation: Write user-facing summaries (not dev-speak)
  4. Smart batching: Group related changes into single changeset

Implementation Options

  1. GitHub Action - Runs on PR events, commits changeset file
  2. GitHub App/Bot - Comments with suggested changeset, author approves
  3. CLI wrapper - npx ai-changeset generates from recent commits

Prior Art

Context

This idea emerged from experimenting with Release Please for kanban-ai monorepo. Release Please had merge conflicts and complex configuration. Changesets has the right model but manual friction is a barrier.

AI can bridge this gap.


Labels: enhancement, ai, release-automation

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestjavascriptPull requests that update javascript code

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions