Thank you for your interest in contributing! This document will guide you through the contribution process and explain the Git workflow we use.
We use a Trunk-Based Development workflow with feature branches and pull requests (PRs) to manage changes.
- The
mainbranch is always stable and deployable. - All development is done in short-lived branches created from
main. - Changes are merged into
mainvia pull requests. - Releases are tagged on
main.
- All work starts from the
mainbranch. - You create a short-lived branch for your change (feature, fix, etc).
- When done, you open a pull request (PR) into
main. - The PR is reviewed, tested, and merged (usually with squash merge).
- Tags are created for releases.
- Simple and intuitive for contributors
- Easy to review and test changes
- Keeps history clean and linear
- Avoids confusion with multiple long-lived branches
Use the "Fork" button on GitHub to fork the repo into your account.
git clone https://github.com/YOUR_USERNAME/PROJECT_NAME.git
cd PROJECT_NAMEgit checkout -b feat/your-feature-nameUse a clear and descriptive branch name, e.g.:
feat/login-formfix/typo-in-readmechore/update-deps
Make commits with meaningful messages:
git commit -m "Add login button to header"git push origin feat/your-feature-name- Go to your fork on GitHub
- Click "Compare & Pull Request"
- Fill out the PR template
- Select
mainas the base branch
We use GitHub labels to guide contributors:
good first issue: Great for newcomershelp wanted: We need help on thisbug: Something is brokenenhancement: New feature or improvementdocumentation: Docs-only changeswontfix: Closed but not fixedin progress: Being actively worked ondiscussion: Needs more input
Make sure all tests pass before submitting a PR.
Be respectful, collaborative, and constructive. This project follows the Contributor Covenant Code of Conduct.
- PRs should be small and focused
- We prefer squash merges to keep history clean
- Automated CI must pass for a PR to be merged
Open an issue or start a discussion! We’re happy to help.
Happy coding!