feat: add data table and release checks

This commit is contained in:
2026-03-19 20:10:36 +08:00
parent d5e4d5ece3
commit 3f77070802
12 changed files with 2157 additions and 86 deletions
+51 -8
View File
@@ -8,13 +8,14 @@ The current goal is modest:
- version `@ai-ui/ui` and `@ai-ui/tokens` deliberately
- keep release notes attached to the changes that caused them
- avoid inventing ad hoc version bumps when the component system evolves
- make release intent enforceable in CI before package work merges
## Current assumptions
- The repository root is private.
- Workspace packages currently use explicit package versions even when they are not yet published.
- `@ai-ui/docs` is a consumer app, not a releasable package, so it is ignored by Changesets.
- Publishing mechanics, registry credentials, and CI release automation are still to be added.
- Publishing mechanics and registry credentials are still to be added.
Because of that, this baseline is intentionally conservative.
@@ -44,6 +45,9 @@ You can usually skip a changeset for:
- test-only edits
- internal refactors with no consumer-visible behavior change
If CI would otherwise require a changeset for one of those exceptions, apply the
`no-changeset-needed` pull request label and explain the reason in the PR description.
## Versioning guidance
Use semver pragmatically:
@@ -100,7 +104,7 @@ keep the dependency graph coherent without requiring manual package edits.
### 4. Version the packages
When it is time to cut a release, run the Changesets version step:
When it is time to cut a release manually, run the Changesets version step:
```bash
pnpm changeset version
@@ -114,6 +118,10 @@ That step is expected to:
Review the resulting package diffs carefully before merging.
On `main`, the repository also runs a `Release Version PR` workflow that opens or updates a
version PR with the same command. That workflow is intentionally limited to version-file updates;
it does not publish packages.
### 5. Publish or tag
Publishing is not fully wired in this repo yet, so treat this step as pending infrastructure.
@@ -126,6 +134,45 @@ pnpm changeset publish
But until registry, auth, and CI behavior are explicit, do not assume publish is automated.
## CI workflows
### Pull request check
The `Changeset Status` workflow runs on pull requests and enforces a simple rule:
- if a PR changes `@ai-ui/ui` or `@ai-ui/tokens`, it should usually include a new
`.changeset/*.md` file
- if the work is intentionally non-releasable, maintainers can apply the
`no-changeset-needed` label
When a changeset is present, the workflow also runs:
```bash
pnpm changeset:status --since origin/main
```
This validates that pending changesets resolve cleanly against the base branch.
### Version PR workflow
The `Release Version PR` workflow runs on pushes to `main` and on manual dispatch. It:
- installs dependencies
- runs `pnpm changeset version`
- opens or updates a version PR using `changesets/action`
This is a versioning skeleton, not a publish pipeline. It is safe to enable before registry
credentials or publish commands exist.
## Future publish prerequisites
Before turning the version workflow into a publish workflow, the repo still needs:
- a root publish script, for example `pnpm changeset publish` or a guarded wrapper around it
- registry credentials such as `NPM_TOKEN`
- a decision on which workspace packages should actually be published versus versioned internally
- any extra validation that must run before publish is allowed
## Notes for maintainers
- Keep `packages/ui/src/index.ts` and package exports aligned with any release-worthy surface.
@@ -136,9 +183,5 @@ But until registry, auth, and CI behavior are explicit, do not assume publish is
## Main-thread follow-up still needed
This baseline adds config and process docs only. To make it operational, the repo still needs:
- `@changesets/cli` added to root `devDependencies`
- root scripts such as `changeset`, `version-packages`, or `release`
- a decision on whether private packages should be published, mirrored internally, or versioned only
- CI wiring for version PRs and/or publish jobs
This baseline now covers changeset intent checks in PRs and version PR creation on `main`.
What remains is the publish decision and any registry-specific automation.