Contributing
Releases & Versioning
How versioning, changelogs, and releases work in the monorepo.
Overview
We use Changesets to manage versioning and changelogs. Only deployable apps are versioned — utility packages are excluded.
Versioned packages
| Package | Description |
|---|---|
app | Main web application |
editor | Bridge deal editor |
web | Marketing website |
docs | Documentation site |
All other packages (@workspace/ui, @workspace/bridge-core, etc.) are ignored by changesets.
Git flow
feature branch → PR → develop → release/x.y.z → PR → main → tags + version bumpAdding a changeset
When your PR includes a user-facing change to a versioned package, add a changeset:
pnpm changesetThis prompts you to:
- Select which packages changed (
app,editor,web, ordocs) - Choose a bump type (
patch,minor, ormajor) - Write a summary of the change
A markdown file is created in .changeset/ — commit it with your PR.
When to add a changeset
- Yes: new features, bug fixes, breaking changes in
app,editor,web, ordocs - No: documentation content-only updates, CI updates, refactors with no user impact, changes to utility packages
Bump types
| Type | When |
|---|---|
patch | Bug fixes, small improvements |
minor | New features, non-breaking enhancements |
major | Breaking changes |
Release process
- Merge to
main— the Release workflow runschangesets/action, which creates (or updates) a "Version Packages" PR - Review the Version PR — it consumes all
.changeset/files, bumpspackage.jsonversions, and generatesCHANGELOG.mdentries - Merge the Version PR — git tags are created automatically via
privatePackages.tag: true - Sync — the
sync-developworkflow mergesmainback intodevelop
CI pipeline
All PRs to develop and main run:
| Job | Condition |
|---|---|
| lint | Always |
| typecheck | Source or config files changed |
| test | Package files changed |
| build-app | App files changed |
| build-web | Web files changed |
| build-docs | Docs files changed |
Commands reference
pnpm changeset # Add a new changeset
pnpm changeset status # Check pending changesets
pnpm version-packages # Apply changesets (CI only)