feat: add package-first release flow

This commit is contained in:
2026-03-20 15:10:46 +08:00
parent 3600f3fcd9
commit e13a60369d
16 changed files with 764 additions and 191 deletions
+22 -16
View File
@@ -2,21 +2,28 @@
This directory is the release-intent ledger for Cadence UI.
The repo is still an internal/private monorepo, so Changesets is used conservatively:
Changesets now drives the package-first release flow for:
- track version intent for releasable workspace packages
- keep release notes attached to code changes
- avoid tagging private packages during early internal iteration
- let CI verify release intent before package work merges
- `@ai-ui/ui`
- `@ai-ui/tokens`
The two packages move as a fixed version pair. Changesets remains the source of truth for:
- version intent
- consumer-facing release notes
- version PR generation
- publish coordination for the package pair
## CI behavior
This repo now has two release-adjacent workflows:
This repo now has four release-adjacent workflows:
- `Changeset Status` runs on pull requests and checks whether changes to releasable packages
include a `.changeset/*.md` entry, while also verifying that `registry/index.json` is current.
include a `.changeset/*.md` entry, while also verifying both package and registry consumer flows.
- `Release Version PR` runs on `main` and opens or updates a version PR by running
`pnpm release:version`.
- `Create Release Tag` runs on `main` after the version pair changes and creates `cadence-ui-vX.Y.Z`.
- `Publish Packages` runs on `cadence-ui-v*` tags and publishes the package pair.
The PR check intentionally focuses on the releasable packages in scope today:
@@ -62,14 +69,13 @@ Refactor dialog wrapper internals and update story coverage.
## Current release posture
The root repo is private and package publishing is not fully wired yet. Until the main release
flow is enabled, treat Changesets as the source of truth for:
The root repo remains private, but `@ai-ui/ui` and `@ai-ui/tokens` are now treated as published
packages. The automated flow is:
- which package versions should move
- which changes deserve release notes
- which internal dependency bumps should be coordinated
1. merge a changeset-backed package change
2. merge the version PR generated on `main`
3. let the tag and publish workflows ship the fixed package pair
The current automation stops at version intent, registry metadata refresh, and version PR creation.
It does not publish to npm, create tags, or assume any package registry credentials exist yet.
See `docs/releasing.md` for the expected workflow around creating and consuming changesets.
See [docs/releasing.md](/Users/xd/project/cadence-ui/docs/releasing.md) for the current release
workflow and [docs/registry.md](/Users/xd/project/cadence-ui/docs/registry.md) for the optional
source-copy mode.
+6 -1
View File
@@ -5,7 +5,12 @@
"access": "restricted",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"fixed": [],
"fixed": [
[
"@ai-ui/tokens",
"@ai-ui/ui"
]
],
"linked": [],
"ignore": [
"@ai-ui/docs"
+6
View File
@@ -0,0 +1,6 @@
---
"@ai-ui/tokens": minor
"@ai-ui/ui": minor
---
Ship package-first distribution for `@ai-ui/ui` and `@ai-ui/tokens`, including publishable package exports, package consumer validation, and automated tag-to-publish release flow.