Skip to main content

Contributing to Upstream Engineering

Introduction​

Thank you for your consideration to contribute to the Upstream Engineering project repository. You Rock!

Code of Conduct​

This project and everyone participating in it is governed by the Contributor Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [[email protected]][mailto:opensource@optum.com].

How to Contribute​

We follow a fork and pull request model for contributions which is summarized below

  1. Create your own fork of the code
  2. Do the changes in your fork
  3. Create pull request
    • Be sure you have followed the code style for the project.
    • Use descriptive Pull Request (PR) names
    • If your PR is a Work in Progress (WIP) then prefix the title with "WIP-descriptive feature name"
  4. A lot of times, making a PR adhere to the standards above can be difficult. If the maintainers notice anything that we'd like changed, we'll ask you to edit your PR before we merge it. There's no need to open a new PR, just edit the existing one.

Style Guides​

Git Commit Messages​

  • Use the present tense ("Add feature" not "Added feature")
  • Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally after the first line
  • Consider starting the commit message with an applicable emoji:
    • 🎨 :art: when improving the format/structure of the code
    • 💻 :computer: when adding a feature in code
    • 🐎 :racehorse: when improving performance
    • 🚱 :non-potable_water: when plugging memory leaks
    • 📝 :memo: when writing docs
    • 🐧 :penguin: when fixing something on Linux
    • 🍎 :apple: when fixing something on macOS
    • 🏁 :checkered_flag: when fixing something on Windows
    • 🐛 :bug: when fixing a bug
    • 🔥 :fire: when removing code or files
    • 💚 :green_heart: when fixing the CI build
    • ✅ :white_check_mark: when adding tests
    • 🔒 :lock: when dealing with security
    • ⬆️ :arrow_up: when upgrading dependencies
    • ⬇️ :arrow_down: when downgrading dependencies
    • :shirt: :shirt: when removing linter warnings