Contributions to Prefect Server are always welcome! We welcome your help, whether it's adding new functionality, tweaking documentation, or writing a new tutorial.
When possible, try to craft useful commits. Each commit should be logically distinct and self-contained, which makes reviewing code easier and understanding why changes were made easier.
We recommend following Chris Beam's style guide, which has 7 rules for effective commit messages:
- Separate subject from body with a blank line
- Limit the subject line to 50 characters
- Capitalize the subject line
- Do not end the subject line with a period
- Use the imperative mood in the subject line
- Wrap the body at 72 characters
- Use the body to explain what and why vs. how
It's important to update Prefect Server's changelog with any adjustments to the project. Each release has a few sections:
- Features: headline additions to the system
- Enhancements: improvements to existing functionality, or minor additions
- Fixes: adjustments that fix bugs or other conditions
- Deprecations: any deprecated functionality
- Breaking Changes: any changes that break Prefect Server's backwards-compatibility
To avoid merge conflicts, Prefect tracks changelog entries as separate files in
the changes/
directory. To add a new entry:
-
Create a new file in the
changes/
directory. The file name doesn't matter as long as it is unique (we recommend using the issue or PR number e.g.issue1234.yaml
orpr1234.yaml
). -
Choose one (or more if a PR encompasses multiple changes) of the following headers:
feature
enhancement
fix
deprecation
breaking
-
Fill in one (or more) bullet points under the heading, describing the change. Markdown syntax may be used. Each entry should consist of a brief description and a link to the relevant GitHub issue(s) or PR(s).
-
If you would like to be credited as helping with this release, add a contributor section with your name and github username.
Here's an example of a PR that adds an enhancement
enhancement:
- "Added an awesome new feature to Prefect Server - [#255](https://github.com/PrefectHQ/server/issues/255)"
contributor:
- "[Zachary Hughes](https://github.com/zdhughes)"
Make sure that any new functionality is well tested!
A helpful PR explains WHAT changed and WHY the change is important. Please take time to make your PR descriptions as helpful as possible -- both for code review today and information in the future.