Thank you for your interest in making Skipper even better and more awesome. Your contributions are highly welcome.
There are multiple ways of getting involved:
Below are a few guidelines we would like you to follow. If you need help, please reach out to us: community channels
Reporting bugs is one of the best ways to contribute. Before creating a bug report, please check that an issue reporting the same problem does not already exist. If there is an such an issue, you may add your information as a comment.
To report a new bug you should open an issue that summarizes the bug and set the label to "bug".
If you want to provide a fix along with your bug report: That is great! In this case please send us a pull request as described in section Contribute Code.
To request a new feature you should open an issue and summarize the desired functionality and its use case. Set the issue label to "enhancement".
This is a rough outline of what the workflow for code contributions looks like:
- Check the list of open issues. Either assign an existing issue to yourself, or create a new one that you would like work on and discuss your ideas and use cases.
- Fork the repository on GitHub
- Create a topic branch, for example feature/foo fix/bar refactor/baz, from where you want to base your work. The base is usually master.
- Make commits of logical units and use
git commit --sign-off
to comply with DCO. - Write good commit messages (see below).
- Push your changes to a topic branch in your fork of the repository.
- Submit a pull request to zalando/skipper
- Your pull request must receive a 👍 from two Maintainers
- Major changes need to include tests. Features need additionally include documentation for developers as godoc and add user documentation in markdown in the docs/ directory.
Thanks for your contributions!
Skipper is formatted with gofmt. Please run it on your code before making a pull request. The coding style suggested by the Golang community is the preferred one for the cases that are not covered by gofmt, see the style doc for details.
Your commit messages ideally can answer two questions: what changed and why. The subject line should feature the “what” and the body of the commit should describe the “why”.
When creating a pull request, its comment should reference the corresponding issue id.
Have fun and enjoy hacking!
The project owner and lead makes all final decisions, if there is a disagreement between contributors and maintainers.