Skip to content

ci(repo): add turborepo, commitlint, CI, and release-please - #86

Draft
trs wants to merge 6 commits into
masterfrom
ci/monorepo-turbo-release-please
Draft

trs wants to merge 6 commits into
masterfrom
ci/monorepo-turbo-release-please

Conversation

@trs

@trs trs commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Implements #52.

Also makes #31 redundant: the "Get Changes" step is gone, and release-please generates the changelog and release notes.

Changes

Tooling and CI

  • Turborepo runs build in dependency order, with a cache. cli builds with plain tsc and depends on api/get via workspace:^, so release PRs do not invalidate yarn.lock.
  • Husky commit-msg hook with commitlint (conventional commits, optional scope from api|get|cli|deps|ci|release|repo).
  • ci.yml: lints PR titles and pushes to master, and builds with a .turbo cache.
  • dependabot.yml: chore(deps) commit prefix.
  • Removed .deploy/tag.js and the tag script; recommended Yarn .gitignore; stop tracking .yarn/install-state.gz.
  • dev depends on ^build so yarn dev works on a clean checkout.

Releases

  • release-please config and manifest seeded at api 0.6.4, get 0.7.2, cli 1.3.7. bootstrap-sha is 81e65c8.
  • New release.yml replaces the tag-push workflow: api/get publish to npm when their version is missing from npm, then get tagged; cli publishes afterwards, builds the pkg binaries, and uploads them to its GitHub Release.
  • README documents the new flow.

Before merging

  • Create the RELEASE_PLEASE_TOKEN secret (PAT or GitHub App token)
  • Confirm each package's npm trusted-publisher config references release.yml
  • Release-please dry runs confirm the tag formats, the tag fallback for libraries, and that node-workspace leaves workspace:^ intact (yarn install --immutable passes on the release PR); then a full end-to-end run on a test branch with npm publishing disabled
  • Update bootstrap-sha if master moves before merge

The first commit (tooling + CI) has no release impact; the second (release-please) is the cutover and could be split out if V1–V3 are not done yet.

🤖 Generated with Claude Code

trs and others added 6 commits October 14, 2026 09:12
- turbo orchestrates builds in dependency order with a cache
- cli depends on api/get via workspace:^ and builds with plain tsc
- husky commit-msg hook and PR/push commitlint checks
- dependabot commits use chore(deps) prefix

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- release PR is opened on releasable conventional commits; merging releases
- api/get publish to npm when their version is missing from npm, then tag
- cli publishes after libs, builds pkg binaries, uploads to its GitHub Release
- replaces the tag-push workflow

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
dev failed on a clean checkout because api/get dist did not exist yet.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.

1 participant