This monorepo uses Changesets for automated version management and publishing.
- Use
workspace:*dependencies indevDependenciesfor local development - Use proper version ranges in
dependenciesfor published packages - Changesets automatically handles version synchronization
- Create a changeset:
bun run changeset - Version packages:
bun run version-packages(or automated via CI) - Publish:
bun run release(or automated via CI)
@ai-sdk-tools/store(v0.1.0) - Base store package@ai-sdk-tools/artifacts(v0.2.1) - Depends on store@ai-sdk-tools/devtools(v0.6.0) - Independent package@ai-sdk-tools/chrome-extension(v1.0.0) - Depends on store and devtools
@ai-sdk-tools/store(no internal dependencies)@ai-sdk-tools/devtools(no internal dependencies)@ai-sdk-tools/artifacts(depends on store)@ai-sdk-tools/chrome-extension(depends on store and devtools)
# Development
bun run dev # Start all packages in watch mode
bun run build # Build all packages
bun run type-check # Type check all packages
# Stable Releases
bun run changeset # Create a new changeset
bun run version-packages # Update package versions
bun run release # Publish packages to npm
# Beta Releases
bun run changeset:beta # Enter beta mode
bun run changeset:exit-beta # Exit beta mode
bun run version-packages:beta # Update package versions with beta tag
bun run release:beta # Publish beta packages to npm
# Setup
./scripts/dev-setup.sh # Initial development setupThe main GitHub Actions workflow automatically:
- Builds all packages
- Creates release PRs when changesets are added
- Publishes packages when PR is merged
Two ways to trigger beta releases:
- Push to beta branch: Automatically triggers beta release workflow
- Manual workflow dispatch: Go to Actions → Release → Run workflow → Select "beta"
Beta releases will:
- Use
betatag on npm (e.g.,1.0.0-beta.1) - Create beta-specific changelogs
- Allow testing before stable release
- Exclude Chrome extension from beta releases (only includes store, devtools, and artifacts)
-
Enter beta mode:
bun run changeset:beta
-
Create changesets (same as stable):
bun run changeset
-
Version and publish beta:
bun run version-packages:beta bun run release:beta
-
Exit beta mode:
bun run changeset:exit-beta
Users can install beta versions using various package managers:
npm:
npm install @ai-sdk-tools/store@beta
npm install @ai-sdk-tools/artifacts@beta
npm install @ai-sdk-tools/devtools@betayarn:
yarn add @ai-sdk-tools/store@beta
yarn add @ai-sdk-tools/artifacts@beta
yarn add @ai-sdk-tools/devtools@betapnpm:
pnpm add @ai-sdk-tools/store@beta
pnpm add @ai-sdk-tools/artifacts@beta
pnpm add @ai-sdk-tools/devtools@betabun:
bun add @ai-sdk-tools/store@beta
bun add @ai-sdk-tools/artifacts@beta
bun add @ai-sdk-tools/devtools@betaNote: Chrome extension is not available in beta releases
Users can install stable versions using various package managers:
npm:
npm install @ai-sdk-tools/store
npm install @ai-sdk-tools/artifacts
npm install @ai-sdk-tools/devtools
npm install @ai-sdk-tools/chrome-extensionyarn:
yarn add @ai-sdk-tools/store
yarn add @ai-sdk-tools/artifacts
yarn add @ai-sdk-tools/devtools
yarn add @ai-sdk-tools/chrome-extensionpnpm:
pnpm add @ai-sdk-tools/store
pnpm add @ai-sdk-tools/artifacts
pnpm add @ai-sdk-tools/devtools
pnpm add @ai-sdk-tools/chrome-extensionbun:
bun add @ai-sdk-tools/store
bun add @ai-sdk-tools/artifacts
bun add @ai-sdk-tools/devtools
bun add @ai-sdk-tools/chrome-extension- Always create changesets for any changes that should be published
- Use semantic versioning (patch, minor, major)
- Test beta releases before promoting to stable
- Use beta releases for breaking changes or major features
- Test locally before creating changesets
- Review release PRs carefully before merging
- Keep dependencies up to date using proper version ranges
- Never use
workspace:*independenciesfor published packages - Use
workspace:*only indevDependenciesfor local development - Use proper version ranges (
^1.0.0) for published dependencies
- Changesets automatically handles version synchronization
- If manual intervention needed, update package.json versions and run
bun run version-packages
- Ensure all packages build successfully before publishing
- Check that NPM_TOKEN is set in GitHub secrets
- Verify package access permissions