|
| 1 | +# Contributing to ComfyStream |
| 2 | + |
| 3 | +Hey there, potential contributor! |
| 4 | + |
| 5 | +Thanks for your interest in this project. Every contribution is welcome and |
| 6 | +appreciated. We're super excited to help you to get started 😎 |
| 7 | + |
| 8 | +> **Note:** If you still have questions after reading through this guide, |
| 9 | +> [open an issue](https://github.com/livepeer/comfystream/issues) or |
| 10 | +> [talk to us on Discord](https://discordapp.com/invite/7wRSUGX). |
| 11 | +
|
| 12 | +### How You Can Help |
| 13 | + |
| 14 | +ComfyStream contributions will generally fall into one of the following |
| 15 | +categories: |
| 16 | + |
| 17 | +#### 📖 Updating documentation |
| 18 | + |
| 19 | +This could be as simple as adding some extra notes to a README.md file, or as |
| 20 | +complex as creating some new `package.json` scripts to generate docs. Either |
| 21 | +way, we'd really really love your help with this 💖. Look for |
| 22 | +[open documentation issues](https://github.com/livepeer/comfystream/labels/type%3A%20documentation), |
| 23 | +create your own, or submit a PR with the updates you want to see. |
| 24 | + |
| 25 | +If you're interested in updating documentation, please refer to the relevant documentation on [pipelines.livepeer.org/docs](https://pipelines.livepeer.org/docs/technical/getting-started/install-comfystream). |
| 26 | + |
| 27 | +#### 💬 Getting involved in issues |
| 28 | +As a starting point, check out the issues that we've labeled as |
| 29 | +[help wanted](https://github.com/livepeer/comfystream/issues?q=is:issue%20is:open) |
| 30 | +and |
| 31 | +[good first issues](https://github.com/livepeer/comfystream/labels/good%20first%20issue). |
| 32 | + |
| 33 | +Many issues are open discussions. Feel free to add your own concerns, ideas, and |
| 34 | +workarounds. If you don't see what you're looking for, you can always open a new |
| 35 | +issue. |
| 36 | + |
| 37 | +#### 🐛 Fixing bugs, 🕶️ adding feature/enhancements, or 👌 improving code quality |
| 38 | + |
| 39 | +If you're into coding, maybe try fixing a |
| 40 | +[bug](https://github.com/livepeer/comfystream/issues?q=is%3Aissue%20is%3Aopen%20label%3Abug) |
| 41 | +or taking on a |
| 42 | +[feature request](https://github.com/livepeer/comfystream/issues?q=is%3Aissue%20is%3Aopen%20label%3Aenhancement). |
| 43 | + |
| 44 | +If picking up issues isn't your thing, no worries -- you can always add more |
| 45 | +tests to improve coverage or refactor code to increase maintainability. |
| 46 | + |
| 47 | +> Note: Bonus points if you can delete code instead of adding it! 👾 |
| 48 | +
|
| 49 | +#### 🛠️ Updating scripts and tooling |
| 50 | + |
| 51 | +We want to make sure ComfyStream contributors have a pleasant developer |
| 52 | +experience (DX). The tools we use to code continually change and improve. If you |
| 53 | +see ways to reduce the amount of repetition or stress when it comes to coding in |
| 54 | +this project, feel free to create an issue and/or PR to discuss. Let's continue |
| 55 | +to improve this codebase for everyone. |
| 56 | + |
| 57 | +> Note: These changes generally affect multiple packages, so you'll probably |
| 58 | +> want to be familiar with each project's layout and conventions. Because of |
| 59 | +> this additional cognitive load, you may not want to begin here for you first |
| 60 | +> contribution. |
| 61 | +
|
| 62 | +#### Commits |
| 63 | + |
| 64 | +- We generally prefer to logically group changes into individual commits as much as possible and like to follow these [guidelines](https://github.com/lightningnetwork/lnd/blob/master/docs/code_contribution_guidelines.md#ideal-git-commit-structure) for commit structure |
| 65 | +- We like to use [fixup commits and auto-squashing when rebasing](https://thoughtbot.com/blog/autosquashing-git-commits) during the PR review process to a) make it easy to review incremental changes and b) make it easy to logically group changes into individual commits |
| 66 | +- We like to use descriptive commit messages following these [guidelines](https://github.com/lightningnetwork/lnd/blob/master/docs/code_contribution_guidelines.md#model-git-commit-messages). Additionally, we like to prefix commit titles with the package/functionality that the commit updates (i.e. `api: ...`) as described [here](https://github.com/lightningnetwork/lnd/blob/master/docs/code_contribution_guidelines.md#ideal-git-commit-structure) |
| 67 | + |
| 68 | +## FAQ |
| 69 | + |
| 70 | +### How is a contribution reviewed and accepted? |
| 71 | + |
| 72 | +- **If you are opening an issue...** |
| 73 | + |
| 74 | + - Fill out all required sections for your issue type. Issues that are not |
| 75 | + filled out properly will be flagged as `need: more info` and will be closed if not |
| 76 | + updated. |
| 77 | + - _Keep your issue simple, clear, and to-the-point_. Most issues do not |
| 78 | + require many paragraphs of text. In fact, if you write too much, it's |
| 79 | + difficult to understand what you are actually trying to communicate. |
| 80 | + **Consider |
| 81 | + |
| 82 | +- **If you are submitting a pull request...** |
| 83 | + - Write tests to increase code coverage |
| 84 | + - Tag the issue(s) your PR is closing or relating to |
| 85 | + - Make sure your PR is up-to-date with `master` (rebase please 🙏) |
| 86 | + - Wait for a maintainer to review your PR |
| 87 | + - Push additional commits to your PR branch to fix any issues noted in review. |
| 88 | + - Avoid force pushing to the branch which will clobber commit history and makes it more difficult for reviewing incremental changes in the PR |
| 89 | + - Instead use [fixup commits](#commits) that can be squashed prior to merging |
| 90 | + - Wait for a maintainer to merge your PR |
| 91 | + - For a small changesets, the Github "squash and merge" option can be an acceptable |
| 92 | + - For larger changesets, the Github "rebase and merge" option is preferable and a maintainer may request you do a local rebase first to cleanup the branch commit history before merging |
| 93 | + |
| 94 | +### When is it appropriate to follow up? |
| 95 | + |
| 96 | +You can expect a response from a maintainer within 7 days. If you haven’t heard |
| 97 | +anything by then, feel free to ping the thread. |
| 98 | + |
| 99 | +### How much time is spent on this project? |
| 100 | + |
| 101 | +Currently, there are several teams dedicated to maintaining this project. |
| 102 | + |
| 103 | +### What types of contributions are accepted? |
| 104 | + |
| 105 | +All of the types outlined in [How You Can Help](#how-you-can-help). |
| 106 | + |
| 107 | +### What happens if my suggestion or PR is not accepted? |
| 108 | + |
| 109 | +While it's unlikely, sometimes there's no acceptable way to implement a |
| 110 | +suggestion or merge a PR. If that happens, maintainer will still... |
| 111 | + |
| 112 | +- Thank you for your contribution. |
| 113 | +- Explain why it doesn’t fit into the scope of the project and offer clear |
| 114 | + suggestions for improvement, if possible. |
| 115 | +- Link to relevant documentation, if it exists. |
| 116 | +- Close the issue/request. |
| 117 | + |
| 118 | +But do not despair! In many cases, this can still be a great opportunity to |
| 119 | +follow-up with an improved suggestion or pull request. Worst case, this repo is |
| 120 | +open source, so forking is always an option 😎. |
0 commit comments