Skip to content

Contributing

Read our Code of Conduct to keep our community approachable and respectful.

Make Changes

Create a branch, make your changes, and commit them. See GitHub flow for the basics.

When you're ready, open a pull request against main and fill in the PR template.

Code Review

Once a PR is opened, Zapier creates a task for it in our Teamster Asana project.

  • Find yours by title or number
  • Set the due date and assignee
  • Make sure you are a follower on the task

GitHub automatically assigns default reviewers based on the files changed:

Filepath Default approvers
src/dbt/kipptaf/models/extracts/ Analytics Engineers
src/dbt/kipptaf/models/marts/ Analytics Engineers
src/dbt/kipptaf/models/metrics/ Analytics Engineers
src/dbt/kipptaf/models/exposures/ Analytics Engineers
src/teamster/ Data Engineers
docs/ Data Team
All other directories Admins

Automated checks

Several checks run automatically on every non-draft PR:

Trunk — lints Python and SQL. Note: Pyright is excluded from the CI check; run trunk check locally to catch type errors before pushing. Fix any failures with trunk check and trunk fmt.

dbt Cloud — builds modified dbt models in a branch dataset on BigQuery. If it fails, click Details on the failing check, expand Invoke dbt build ..., and select Debug Logs.

Dagster Cloud — builds Docker images for any affected code locations and creates a branch deployment. Triggered only when relevant source paths change. Skipped on draft PRs.

Claude Code Review — posts an automated code review comment when the PR is opened or marked ready for review. Review the comment and address valid feedback; dismiss false positives with a brief reply explaining why. Claude is advisory — use your judgement, but don't ignore it. You can also tag Claude in a PR comment to ask it to investigate a CI failure or answer questions about the change.

Merge conflicts

If your branch has conflicts with main, see Resolving a merge conflict.

As you address review feedback, mark each conversation as resolved.

Reverting a merged commit

If a merged PR introduced a regression, revert via git rather than manually editing files:

git revert <commit-sha>  # SHA is on the PR page or in git log

This creates a new revert commit that undoes the change while preserving history. Open a PR with the revert commit as you would any other change.

After Merge

Once your PR merges to main, GitHub Actions rebuilds Docker images for any affected code locations and deploys them to Dagster Cloud production. Your changes are live once the deploy workflow completes.