Git workflow guide for the rc-unified-crm-extension monorepo. Covers commit message conventions, branching strategy, release process, and version bumping. Use when committing changes, creating branches, cutting releases, updating release notes, or asking about the project's Git conventions.
96
96%
Does it follow best practices?
Impact
93%
1.75xAverage score across 3 eval scenarios
Passed
No known issues
npm workspaces monorepo with three packages (packages/core, packages/template, packages/cli) plus the root app (src/connectors/). Tests run on every push via GitHub Actions (tests.yml). Releases are triggered by pushing a semver tag.
Use a <type>: <short description> format. Keep the description lowercase and concise.
| Type | When to use |
|---|---|
feat | New feature or capability |
fix | Bug fix |
update | Incremental improvement to existing behavior |
add | New file, config, or data (non-feature) |
docs | Documentation only |
refactor | Code restructuring, no behavior change |
test | Test additions or fixes |
chore | Build scripts, CI, dependencies |
Examples from this repo:
feat: group sms logging
feat: return 401 would log user out
fix: clio image issue
fix: sms log tracking issue
update: version
update: data tracking for transcripts
docs: clio demo video link
add: sample UIFor quick one-off fixes that don't warrant a type, quick fix or quick patch are acceptable locally — but prefer typed messages for anything pushed to main.
| Branch | Purpose |
|---|---|
main | Primary development — all day-to-day work lands here |
release | Release staging — merge main → release before tagging |
feat/<name> | Feature branches — e.g. feat/group-sms-support |
docs/<name> | Docs-only branches — e.g. docs/zoho |
Typical flow:
main: git checkout -b feat/<feature-name>mainmain → release, then tagnpm run updateThis runs scripts/update-version.js to bump the version across packages.
Edit docs/release-notes.md. Add a new section at the top:
## <new-version>
- New: <description of new feature>
- Better: <description of improvement>
- Fix: <description of bug fix>Use only New:, Better:, and Fix: categories. Keep each bullet to one sentence.
git add .
git commit -m "update: version"Releases are auto-created by .github/workflows/auto-release.yml when a semver tag is pushed:
git tag <version> # e.g. git tag 1.7.19
git push origin main
git push origin <version>The workflow extracts the matching section from docs/release-notes.md and creates the GitHub Release automatically.
| Trigger | What runs |
|---|---|
| Any push / PR | npm run test-coverage on Node 20 |
Push of *.*.* tag | Extract release notes → create GitHub Release |
Push/PR to stable | Test coverage + Coveralls report |
Before pushing, run tests locally:
npm test # all tests (root + core)
npm run test:root # integration tests only
cd packages/core && npm test # core unit tests onlyWhen adding or modifying a CRM connector:
src/connectors/<name>/index.jssrc/connectors/manifest.jsonpackages/core/handlers/Commit scope examples for connector work:
feat: clio time entries associated with matters
fix: bullhorn note author assignment for contacts
update: follow-up changes for data tracking for transcriptsf59d4a2
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.