2.7 KiB
How To Contribute
pa11y-dashboard accepts contributions from anyone, as long as you follow the guidelines below. If you'd like to contribute but aren't sure what there is for you to do, check the issue tracker for things ready to be worked on and known bugs.
It might be an idea to focus efforts on the goal of the next milestone before jumping onto anything too far ahead on the roadmap.
Features
We won't accept features without prior discussion in the issue tracker. Two heads are always better than one – this blanket rule stops you from spending your valuable time on features which may not make it back into pa11y-dashboard.
If you want to fork the project and build on it by yourself, of course that's absolutely fine! Just don't expect your code to me merged back upstream :)
Refactoring/Rewriting
We will accept refactors where it makes an improvement to the maintainability of the code-base or makes code more readable/understandable. If there's an argument about what's readable or not, chat about it in a pull-request.
Coding Guidelines
- No trailing whitespace please (except in Markdown)
- Generally follow the style that is currently present in the code – consistency is important
- Keep indentation consistent (tabs)
- Don't commit code with lint errors (run
grunt lint
to run JSHint with the correct configurations) - Don't commit code without passing tests (run
grunt test
).
Versioning
We use Semantic Versioning in this project. The process for releasing a new version is as follows; this should only be done by core contributors – you don't need to include a tagged version in your pull-requests.
- Switch to
master
and merge thedevelop
branch into it - Update the version number in
package.json
andREADME.md
- Commit the changes with the message: "Version x.x.x" (x.x.x being the new version number)
- Tag the commit with the version number (just the numbers, no "version" or "v"):
git tag x.x.x
- Push with tags:
git push && git push --tags
- Check out the
develop
branch, mergemaster
into it, and push - On GitHub, add release notes for the new version. The title should be "Version x.x.x", and the description should be a list of new features/fixes