Contributing
Thank you for considering contributing! There are many ways you can help.
What to Work On
Screwdriver is a “distributed” project where each component sits in its own GitHub Repo. If you’re not sure what repositories you need to change, please refer to our Where to Contribute doc. For pointers on developing, checkout the Development docs.
Our documentation, however, is centralized at
General Guidelines for Contributing
Please try to:
- update issues you’re working on with a daily summary
- open a Discord channel
with the issue number and feature in the channel title (e.g.
#911-subdirectory-support
) and discuss work in there - submit a design doc if applicable
Submitting Pull Requests
Patches for fixes, features, and improvements are accepted through pull requests. Here are some tips for contributing:
- Write good commit messages in the present tense (“Add X”, not “Added X”) with a short title, blank line, and bullet points if needed. Capitalize the first letter of the title and any bullet items. No punctuation in the title.
- Code must pass lint and style checks.
- All external methods must be documented. Add README docs and/or user documentation in our guide when appropriate.
- Include tests to improve coverage and prevent regressions.
- Squash changes into a single commit per feature/fix. Ask if you’re unsure how to discretize your work.
- Whenever possible, tag your pull request with appropriate Github labels.
Please ask before embarking on a large improvement so you’re not disappointed if it does not align with the goals of the project or owner(s).