Skip to content

Git Workflow

BranchPurpose
mainAlways deployable
feat/xxxFeatures
fix/xxxBug fixes
docs/xxxDocumentation only
refactor/xxxNo behavior change

Use Conventional Commits. Keep them short.

type(scope): description
feat(core): add galaxy type definitions
fix(ui): correct axis scale on scatter plot
docs: add data sources to handbook
refactor(viz): extract d3 bindings
chore: update dependencies
  • feat — New feature
  • fix — Bug fix
  • docs — Documentation only
  • refactor — Code change that doesn’t fix bug or add feature
  • test — Adding or fixing tests
  • chore — Maintenance tasks
  • Present tense (“add” not “added”)
  • Lowercase
  • No period at end
  • Body only if necessary
  • Keep under 72 characters

Follow commit format:

feat(core): add coordinate transforms
## What
[One sentence describing what this PR does]
## Why
[Optional if obvious from the issue]
## Notes
[Optional implementation details or decisions]

Before requesting review:

  • Tests pass (pnpm nx affected -t test)
  • Lint clean (pnpm nx affected -t lint)
  • Types complete (no any)
  • Commits are clean (rebase if needed)
Terminal window
git fetch origin
git rebase origin/main

If your commits tell a clear story, keep them. If they’re “fix typo” and “oops”, squash.

Every commit in history should:

  • Build successfully
  • Pass tests
  • Be meaningful on its own

Amend instead:

Terminal window
git add .
git commit --amend --no-edit