Thank you for your interest in contributing! This document describes our contributors ladder, governance policies, and workflows for issues and pull requests.
This project uses a four-tier contributors ladder mapped to GitHub repository roles:
| Tier | GitHub Role | Capabilities |
|---|---|---|
| Contributor | Read | File issues, submit PRs, participate in discussions |
| Reviewer | Write | All Contributor capabilities, plus: review and approve PRs, push to non-protected branches, triage issues |
| Maintainer | Maintain | All Reviewer capabilities, plus: merge PRs, manage releases, configure branch protection, maintain CI |
| Owner | Admin | All Maintainer capabilities, plus: manage repository settings, grant/revoke roles, make governance decisions |
| Name | Tier |
|---|---|
| mrizzi | Owner |
| ruromero | Maintainer |
| mrrajan | Contributor |
Promotions follow a hybrid model: approximately three months of sustained, quality contributions combined with maintainer judgment. Mechanical tenure alone is not sufficient — the quality, scope, and consistency of contributions matter more than the calendar.
| Transition | Who Nominates | Who Approves |
|---|---|---|
| Contributor to Reviewer | Any Maintainer or Owner | One other Maintainer or Owner (not the nominator) |
| Reviewer to Maintainer | Any Owner | Another Owner (not the nominator) |
| Maintainer to Owner | Existing Owners | Consensus among all existing Owners |
Nominations are made by opening a discussion in the repository. The nominee should be given the opportunity to accept or decline before any role change is applied.
Contributors who have been inactive for approximately one year may have their role adjusted. Before any role change:
- A Maintainer or Owner reaches out privately to the contributor to understand their situation and intentions.
- The contributor is given a reasonable opportunity to respond.
- Only after this private conversation may a role change be proposed.
Role changes due to inactivity are not punitive — contributors are welcome to re-engage at any time and work toward re-promotion through the normal promotion criteria.
GitHub Issues are the entry point for external contributors. Use the available issue templates:
- Bug report — describe unexpected behavior with steps to reproduce
- Feature request — propose new functionality or improvements
Internal team members are welcome to create issues directly in the project's Jira board. Link the Jira issue to a GitHub Issue when external visibility is needed.
This project uses a fork-and-PR model:
- Fork the repository to your own GitHub account.
- Create a branch in your fork for the change.
- Reference the GitHub Issue in your PR description (e.g.,
Closes #42). If no issue exists, consider creating one first. - Follow Conventional Commits for commit messages (e.g.,
feat(plan-feature): add validation step). See CONVENTIONS.md for the full commit message format. - Open a pull request against the
mainbranch of this repository. - Address review feedback — at least one Reviewer (Write role or above) must approve the PR before it can be merged.
- Merging — Maintainers or Owners merge approved PRs.
The main branch is protected with the following rules:
- Pull request reviews required — direct pushes to
mainare not allowed; all changes must go through a reviewed pull request. - Passing CI required — the CI pipeline must pass before a PR can be merged.
- At least one approval from a Write-level or above contributor — a Reviewer, Maintainer, or Owner must approve the PR.
Note: Applying and updating these rules in GitHub repository settings is a manual admin action performed by Owners.