Skip to content

Ship Process

Standard Workflow

local test -> PR (draft) -> CI green -> AI review -> human review -> squash merge

1. Local Testing

Run tests locally before opening a PR. Don't open PRs with known failures.

2. Pull Request

  • Branch from main
  • Open as draft while in progress
  • Mark as ready for review when CI is green
  • Link Linear issue: Closes IT-XXXX in PR description
  • Fill in the PR template completely

3. CI Pipeline

  • Must be green before requesting human review
  • CI runs: lint, type check, tests, build
  • If CI is red, fix it before re-requesting review

4. AI + Human Review

  • Claude reviews automatically on PR open
  • Request human review from CODEOWNERS
  • Both must approve before merge

5. Squash Merge

  • Always squash merge (not regular merge or rebase)
  • Squash commit message follows Conventional Commits format
  • PR is deleted after merge

Releases

Releases are automatic: - release-please creates a CHANGELOG entry on each merge to main - Deployment is per-repo — see the repo's README.md for specifics

Incidents

If a merge causes an incident: 1. Revert immediately: git revert the squash commit and open a PR 2. Notify: email hello@liflode.com with impact summary 3. Post-mortem: add a docs/runbooks/<incident>.md after resolution