Contributing¶
Contributions are welcome, and they are greatly appreciated! Every little helps, and credit will always be given. You can contribute in many ways.
Types of Contributions¶
Report Bugs¶
Report bugs at https://github.com/gabor-boros/minutes/issues.
If you are reporting a bug, please use the bug report template, and include:
- your operating system name and version
- any details about your local setup that might be helpful in troubleshooting
- detailed steps to reproduce the bug
Fix Bugs¶
Look through the GitHub issues for bugs. Anything tagged with "bug" and "help wanted" is open to whoever wants to implement it.
Implement Features¶
Look through the GitHub issues for features. Anything tagged with "enhancement" and "help wanted" is open to whoever wants to implement it. In case you added a new source or target, do not forget to add them to the docs as well.
Write Documentation¶
Minutes could always use more documentation, whether as part of the docs, in docstrings, or even on the web in blog posts, articles, and such.
Submit Feedback¶
The best way to send feedback is to file an issue.
If you are proposing a feature:
- explain in detail how it would work
- keep the scope as narrow as possible, to make it easier to implement
- remember that this is a volunteer-driven project, and that contributions are welcome :)
Get Started!¶
Ready to contribute? Here's how to set up minutes
for local development.
As step 0 make sure you have Go 1.17+ and Python 3 installed.
- Fork the repository
- Clone your fork locally
$ git clone git@github.com:your_name_here/minutes.git
- Install prerequisites
$ cd minutes
$ make prerequisites
$ make deps
$ python -m virtualenv -p python3 virtualenv
$ pip install -r www/requirements.txt
- Create a branch for local development
$ git checkout -b github-username/bugfix-or-feature-name
- When you're done making changes, check that your changes are formatted, passing linters, and tests are succeeding
$ make format
$ make lint
$ make test
- Update documentation and check the results by running
make docs
- Commit your changes and push your branch to GitHub
We use conventional commits, and we require every commit to follow this pattern.
$ git add .
$ git commit -m "action(scope): summary"
$ git push origin github-username/bugfix-or-feature-name
- Submit a pull request on GitHub
Pull Request Guidelines¶
Before you submit a pull request, check that it meets these guidelines:
- The pull request should include tests
- Tests should pass for the PR
- If the pull request adds new functionality, or changes existing one, the docs should be updated
Releasing¶
A reminder for the maintainers on how to release.
Before doing anything, ensure you have git-cliff installed, and you already executed make prerequisites
.
- Make sure every required PR is merged
- Make sure every test is passing both on GitHub and locally
- Make sure that formatters are not complaining (
make format
returns 0) - Make sure that linters are not complaining (
make lint
returns 0) - Take a note about the next release version, keeping semantic versioning in mind
- Update the CHANGELOG.md using
TAG="<CURRENT RELEASE VERSION>" make changelog
- Compare the CHANGELOG.md changes and push to master
- Cut a new tag for the next release version
- Run
GITHUB_TOKEN="<TOKEN>" make release
to package the tool and create a GitHub release - Provide a changelog for the release using CHANGELOG.md
- Create a new milestone following the
v<NEXT RELEASE VERSION>
pattern