Skip to content

Comments

feat: introduce changeset for monorepo version management#12783

Open
EurFelux wants to merge 1 commit intomainfrom
build/monorepo
Open

feat: introduce changeset for monorepo version management#12783
EurFelux wants to merge 1 commit intomainfrom
build/monorepo

Conversation

@EurFelux
Copy link
Collaborator

@EurFelux EurFelux commented Feb 7, 2026

Summary

This PR introduces changesets to automate version management and publishing for the Cherry Studio monorepo.

Changes

New Files

  • .changeset/config.json - Changeset configuration with GitHub changelog integration
  • .changeset/README.md - Documentation for using changesets
  • .changeset/initial-setup.md - Initial changeset marking the setup
  • .github/workflows/release-packages.yml - Automated release workflow
  • .github/workflows/snapshot.yml - Manual snapshot release workflow
  • packages/extension-table-plus/CHANGELOG-OLD.md - Backup of historical changelog

Modified Files

  • package.json - Added changeset scripts (changeset, changeset:status, changeset:version, changeset:publish, build:packages, release:packages)
  • packages/aiCore/package.json - Added prepublishOnly script
  • packages/ai-sdk-provider/package.json - Added prepublishOnly script
  • packages/extension-table-plus/package.json - Added prepublishOnly script
  • packages/extension-table-plus/CHANGELOG.md - Reformatted for changeset

Packages Managed

Package Current Version
@cherrystudio/ai-core 1.0.9
@cherrystudio/ai-sdk-provider 0.1.3
@cherrystudio/extension-table-plus 3.0.11

Usage

# Add a changeset for your PR
pnpm changeset add

# Check status
pnpm changeset status

# Build all packages
pnpm build:packages

CI/CD Flow

  1. When changesets are merged to main, a "Version Packages" PR is automatically created
  2. Merging the "Version Packages" PR triggers publishing to npm
  3. Snapshot releases can be triggered manually via Actions

Requirements

  • NPM_TOKEN secret must be configured in GitHub repository settings

Test Plan

  • pnpm changeset status runs successfully
  • pnpm build:packages builds all packages in correct order
  • pnpm format passes

Release Note

NONE (internal tooling change)

🤖 Generated with Claude Code

- Add @changesets/cli and @changesets/changelog-github dependencies
- Configure changeset with GitHub integration for CherryHQ/cherry-studio
- Add release-packages.yml workflow for automated publishing
- Add snapshot.yml workflow for manual snapshot releases
- Add changeset scripts to root package.json:
  - changeset, changeset:status, changeset:version, changeset:publish
  - build:packages, release:packages
- Add prepublishOnly script to all publishable packages
- Backup extension-table-plus CHANGELOG and create changeset format

This enables automated version management and changelog generation
for the three publishable packages:
- @cherrystudio/ai-core
- @cherrystudio/ai-sdk-provider
- @cherrystudio/extension-table-plus

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
"changeset:status": "changeset status",
"changeset:version": "changeset version",
"changeset:publish": "changeset publish",
"build:packages": "pnpm --filter @cherrystudio/ai-sdk-provider build && pnpm --filter @cherrystudio/ai-core build && pnpm --filter @cherrystudio/extension-table-plus build",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里建议修改成为:packages:build, packages:release

@@ -0,0 +1,14 @@
{
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants