-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
enhancementNew feature or requestNew feature or requestjavascriptPull requests that update javascript codePull requests that update javascript code
Description
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
- Scope detection: Determine which packages changed (
cli,server,core, etc.) - Version inference: Suggest
patch/minor/majorbased on conventional commits - Changelog generation: Write user-facing summaries (not dev-speak)
- Smart batching: Group related changes into single changeset
Implementation Options
- GitHub Action - Runs on PR events, commits changeset file
- GitHub App/Bot - Comments with suggested changeset, author approves
- CLI wrapper -
npx ai-changesetgenerates from recent commits
Prior Art
- Changesets - Core library
- semantic-release - Commit-based automation
- Release Please - Google's PR-based approach
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestjavascriptPull requests that update javascript codePull requests that update javascript code