| name | pr-release |
| description | PR conventions, changeset requirements, and release workflow for JawClaw. Load this before creating PRs. |
PR & Release Conventions
Branch Naming
feat/short-description โ new feature
fix/short-description โ bug fix
chore/short-description โ maintenance (ci, deps, docs, refactor)
PR Requirements
1. Changeset (required for feature/fix PRs)
Any PR that changes package behavior MUST include a changeset:
pnpm changeset
- Select affected package(s) โ all three share a fixed version
- Choose bump type:
patch (fix), minor (feature), major (breaking)
- Write a one-line summary
- Commit the generated
.changeset/*.md file
Exempt prefixes (CI allows these without changeset): chore:, ci:, docs:, test:
2. PR Title Format
<type>: <short description>
feat: add Discord channel support
fix: handle empty LLM response in react-loop
chore: update dependencies
ci: add changeset check to PR workflow
test: add hand-tools unit tests
docs: update README quick start
3. PR Body
## Summary
- Bullet points of what changed and why
## Test plan
- [ ] How to verify the changes work
4. CI Checks Must Pass
build โ pnpm build compiles
test โ pnpm test passes (144+ tests)
changeset-check โ changeset file present (unless exempt prefix)
5. Merge Strategy
- Squash merge only (repo enforced, linear history)
- PR title becomes the commit message on main
Release Flow
Fully automated after merge to main:
PR merged to main
โ Changesets Action detects pending changesets
โ Creates/updates "Version Packages" PR
โ Bumps version in all 3 package.json files
โ Updates CHANGELOG.md
โ Shows what will be published
โ Merge the "Version Packages" PR
โ Auto-publishes to npm (@jawclaw/core, @jawclaw/channels, jawclaw)
โ Creates GitHub Release with changelog
Manual Release (if needed)
pnpm changeset
pnpm version
pnpm release
Package Versioning
All three packages use fixed versioning โ they always share the same version number.
When any package changes, all three get the same version bump.
| Package | npm Name | What it is |
|---|
| packages/core | @jawclaw/core | Agent engine, providers, tools |
| packages/channels | @jawclaw/channels | IM channel adapters |
| packages/cli | jawclaw | CLI entry point (what users install) |
Code Review Checklist
Before submitting a PR, verify: