This is the contribute.md of our project. Great to have you here! Here are a few ways you can help make this project better.
There area number of ways to become Major Contributor which includes getting your mug & link to your blog/twitter on dbatools.io and adding dbatools to your experience on LinkedIn and your resume! Major Contributors of dbatools have done at least one of the following:
- Contributed one approved command
- Added over 100 lines of code
- Setup Jenkins for continuous integration
- Became a designated tester
- Added lots of/fixed documentation
- Fixed some super hard bugs
We aim to be inclusive. If you'd like to become a Major Contributor, just let us know your intent and we'll help get you there.
Learn & Hangout
Want to join the team or just come hang out? You can find us here:
- Slack: #dbatools on the SQL Server Community Slack
- Trello: come see what we're working on and what we need help with
- Blog: our blog
- Twitter: we tweet, too
- YouTube: and we've got some videos
- LinkedIn: our "company" page
Adding new commands and features
This is how we like people to add new commands
New command proposals must be approved by Chrissy LeMaire, the original creator of dbatools. This ensures the proposed command aligns with the intended spirit of the toolset. You can message Chrissy on Slack (@ctrlb) or post your proposal on the Trello Ideas list.
Check out the Ideas list on our Trello board to get a feel for the types of commands we like. Also take a look at Microsoft's SqlServer Trello board to see the commands that are more appropriate for the official SQL Server PowerShell module (and vote while you're there!)
Here are some specifics on the coding style we prefer
This will be available on the Wiki shortly. Until then, please look inside the .ps1 files or the dbatools-templates repository.
This is how you send your pull request
This information will also be available on the Wiki as as step-by-step. The most important thing to note is that all pull requests must be made into the development branch. We only push to the master branch once a month.
You should include the following documentation
Please look at the available dbatools-templates to see the kind of documentation we're looking for (basically everything that PowerShell allows - SYNOPSIS, DESCRIPTION, PARAMETERS, NOTES, EXAMPLES and so on.
You should include the following tests
Please include at least 3 Examples in your command's documentation section. We use these to perform our tests. You can also look at this awesome Pull Request comment that has step-by-step tests and expected outcomes for our QA team.
This sections explains how bug triaging is done for our project.
- You can help report bugs by filing them on our GitHub Issues page
- You can look through the existing bugs on our GitHub Issues page
- You can help us diagnose and fix existing bugs by asking and providing answers for the following:
- Is the bug reproducible as explained?
- Is it reproducible in other environments (for instance, on different browsers or devices)?
- Are the steps to reproduce the bug clear? If not, can you describe how you might reproduce it?
- What tags should the bug have?
- Is this bug something you have run into? Would you appreciate it being looked into faster?
Early releases require heavy testing and how they can help with specially across different versions, editions and environments.
- For our project you will be able to find the roadmap and features that require testing on the wiki (but it's not there yet).
- You can help us translate our project by submitting a PR with the translation. We hope to add localization to the project by version 1.0
Code needs explanation, and sometimes those who know the code well have trouble explaining it to someone just getting into it.
- Help us with documentation by modifying the command's Help section and submitting a Pull Request. You can also message @ctrlb on Slack with modifications for the documentation on the dbatools website.
This section includes ideas on how non-developers can help with the project.