This document defines mandatory contribution rules for the chatboteval repository.
It is intended for internal team members only.
External contributions are currently not accepted. Pull requests from non-team members may be closed without review.
The goal is to ensure:
- regular, predictable development
- small, reviewable changes
- a clean and stable
mainbranch
These rules are not optional.
- The
mainbranch is protected. - Direct commits to
mainby non-admins are not allowed. - All work must be done on task-specific branches, created from
main. - Branches should be short-lived and scoped to a single PR.
Branches for PRs should follow a simple, consistent naming scheme.
- feature/short-description
- fix/short-description
- docs/short-description
- refactor/short-description
- All changes must be merged via Pull Requests.
- Each PR should represent exactly one substantively coherent change.
- Large, mixed-scope PRs will be closed.
Every PR must include:
- Brief summary (what this PR does)
- Detailed description (rationale and approach)
- Status flag at the end:
DraftReady for review
Commits within a PR should follow a simple, consistent naming scheme.
Expected prefixes:
feat:new functionalityfix:bug fixesrefactor:code restructuring without behavior changetest:adding or modifying testsdocs:documentation onlyci:CI or tooling changeschore:maintenance tasks without functional impact
- Feature PRs must include tests.
If tests are not added, the PR must explicitly explain why.
- PRs are merged into
mainusing squash merges only. - Merge commits are not allowed.
- Every PR must be reviewed by one other team member.
- Authors must assign a reviewer.
- Authors should not approve their own PRs.
- Review approval is required before merging.
Reviewers are expected to check:
- scope and clarity
- code quality
- tests (if applicable)
- CI checks (must pass)