2018-01-29 00:20:27 +00:00
# Contributing
We love pull requests from everyone. By participating in this project, you agree to abide by our [code of conduct ](CODE_OF_CONDUCT.md ).
## Getting Started
- Make sure you have a [GitHub account ](https://github.com/join ).
- [Open an issue ](https://github.com/mas-cli/mas/issues/new ) to simply ask a question or request a new feature.
2021-05-03 20:42:10 +00:00
- Search for similar issues with the
[ERROR MESSAGE ](https://github.com/mas-cli/mas/issues?utf8=%E2%9C%93&q=is%3Aopen+ERROR+MESSAGE )
you are exeriencing.
2018-01-29 00:20:27 +00:00
- If one doesn't exist, [open a new issue ](https://github.com/mas-cli/mas/issues/new )
2021-05-03 20:42:10 +00:00
- Clearly describe the issue including steps to reproduce when it is a bug.
- Include the earliest version of `mas` that you know has the issue.
- Include your macOS version.
2018-01-29 00:20:27 +00:00
## Making Changes
- [Fork the repository ](https://github.com/mas-cli/mas#fork-destination-box ) on GitHub.
2021-05-08 18:09:05 +00:00
- Clone your fork
2018-01-29 00:20:27 +00:00
`git clone git@github.com:your-username/mas.git`
- Create a topic branch from where you want to base your work.
2021-05-08 17:23:59 +00:00
- This is usually the `main` branch.
- To quickly create a topic branch based on `main` , run
`git checkout -b awesome-feature main`
- Please avoid working [directly on the main branch ](https://softwareengineering.stackexchange.com/questions/223400/when-should-i-stop-committing-to-master-on-new-projects ).
2021-05-03 20:42:10 +00:00
- Make commits of logical units.
2021-03-29 00:16:37 +00:00
- Run script/format before committing your changes. Fix anything that isn't automatically fixed by the linters.
2021-05-08 17:23:59 +00:00
- Push your topic branch to your fork and [submit a pull request ](https://github.com/mas-cli/mas/compare/main...your-username:topic-branch ).
2018-01-29 00:20:27 +00:00
Some things that will increase the chance that your pull request is accepted:
- Write tests. (Tests target is still [in progress ](https://github.com/mas-cli/mas/issues/123 ))
2021-05-03 20:42:10 +00:00
- If you need help with tests, feel free to open a PR in the meantime and just ask for some help.
- Add "[WIP]" to the title of your PR to indicate that it's not ready to be merged.
2018-01-29 00:20:27 +00:00
- Follow our [style guide ](docs/style.md ).
- Write a [good commit message ](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ).
2021-05-03 20:42:10 +00:00
- Including [appropriate emoji ](https://gitmoji.carloscuesta.me/ ) in the first line of commit messages is fun :wink:.
2018-01-29 00:20:27 +00:00
## Becoming a Contributor
Once you have had a few PRs accepted, if you are interested in joining the
[@mas-cli/contributors ](https://github.com/orgs/mas-cli/teams/contributors )
team to help with the issue/PR backlog and even release new versions of this project,
[open a new issue ](https://github.com/mas-cli/mas/issues/new )
titled "Add Contributor: @YourGitHubUsername ", with a brief message asking to join the team.
This project was created by [@argon ](https://github.com/argon ), who is unable to continue contributing
to this project, but must remain an owner. By becoming a contributor, you agree to the terms in [#47 ](https://github.com/mas-cli/mas/issues/47 ).
## Branching and Releases
2021-05-08 17:23:59 +00:00
- This project follows [trunk-based development ](https://trunkbaseddevelopment.com/ ), where `main` is our trunk.
2018-01-29 00:20:27 +00:00
- Release commits will be tagged in the format: `v1.2.3` .
2021-05-03 20:42:10 +00:00
- Once releases are tagged, high-level release notes are published on the
[releases ](https://github.com/mas-cli/mas/releases ) page.
2018-01-29 00:20:27 +00:00
See GitHub's post on creating [Contributing Guidelines ](https://github.com/blog/1184-contributing-guidelines )
if you would like to set up something like this for your projects.