# 🙏 Contributing Create branches from the `main` branch and name it in accordance to **conventional commits** [here](https://www.conventionalcommits.org/en/v1.0.0/), or follow the examples bellow: ```txt test: 💍 Adding missing tests feat: 🎸 A new feature fix: 🐛 A bug fix chore: 🤖 Build process or auxiliary tool changes docs: ✏️ Documentation only changes refactor: 💡 A code change that neither fixes a bug or adds a feature style: 💄 Markup, white-space, formatting, missing semi-colons... ``` The following example, demonstrates how to branch-out from `main`, creating a `test/a-test-scenario` branch and commit two changes! ```sh git checkout main git checkout -b test/a-test-scenario git commit -m 'test: 💍 verified X equals Z when Foobar' git commit -m 'refactor: 💡 input value changes' ``` Here's an example of a refactor of an hypotetical `address-panel`: ```sh git checkout main git checkout -b refactor/address-panel git commit -m 'fix: 🐛 font-size used in the address description' git commit -m 'refactor: 💡 simplified markup for the address panel' ``` Once you're done with your feat, chore, test, docs, task: - Push to [remote origin](https://github.com/Psychedelic/DIP721) - Create a new PR targeting the base **main branch**, there might be cases where you need to target to a different branch in accordance to your use-case - Use the naming convention described above, for example PR named `test: some scenario` or `fix: scenario amend x` - On approval, make sure you have `rebased` to the latest in **main**, fixing any conflicts and preventing any regressions - Complete by selecting **Squash and Merge**