|
| 1 | +# Introduction |
| 2 | + |
| 3 | +Thanks for thinking about contributing to the Yosys project. If this is your |
| 4 | +first time contributing to an open source project, please take a look at the |
| 5 | +following guide: |
| 6 | +https://opensource.guide/how-to-contribute/#orienting-yourself-to-a-new-project. |
| 7 | + |
| 8 | + |
| 9 | +# Using the issue tracker |
| 10 | + |
| 11 | +The [issue tracker](https://github.com/YosysHQ/yosys/issues) is used for |
| 12 | +tracking bugs or other problems with Yosys or its documentation. It is also the |
| 13 | +place to go for requesting new features. |
| 14 | +When [creating a new issue](https://github.com/YosysHQ/yosys/issues/new/choose), |
| 15 | +we have a few templates available. Please make use of these! It will make it |
| 16 | +much easier for someone to respond and help. |
| 17 | + |
| 18 | +### Bug reports |
| 19 | + |
| 20 | +Before you submit an issue, please have a search of the existing issues in case |
| 21 | +one already exists. Making sure that you have a minimal, complete and |
| 22 | +verifiable example (MVCE) is a great way to quickly check an existing issue |
| 23 | +against a new one. Stack overflow has a guide on [how to create an |
| 24 | +MVCE](https://stackoverflow.com/help/minimal-reproducible-example). The |
| 25 | +[`bugpoint` |
| 26 | +command](https://yosyshq.readthedocs.io/projects/yosys/en/latest/cmd/bugpoint.html) |
| 27 | +in Yosys can be helpful for this process. |
| 28 | + |
| 29 | + |
| 30 | +# Using pull requests |
| 31 | + |
| 32 | +If you are working on something to add to Yosys, or fix something that isn't |
| 33 | +working quite right, make a PR! An open PR, even as a draft, tells everyone |
| 34 | +that you're working on it and they don't have to. It can also be a useful way |
| 35 | +to solicit feedback on in-progress changes. See below to find the best way to |
| 36 | +[ask us questions](#asking-questions). |
| 37 | + |
| 38 | +In general, all changes to the code are done as a |
| 39 | +[PR](https://github.com/YosysHQ/yosys/pulls), with [Continuous Integration |
| 40 | +(CI)](https://github.com/YosysHQ/yosys/actions) tools that automatically run the |
| 41 | +full suite of tests compiling and running Yosys. Please make use of this! If |
| 42 | +you're adding a feature: add a test! Not only does it verify that your feature |
| 43 | +is working as expected, but it can also be a handy way for people to see how the |
| 44 | +feature is used. If you're fixing a bug: add a test! If you can, do this |
| 45 | +first; it's okay if the test starts off failing - you already know there is a |
| 46 | +bug. CI also helps to make sure that your changes still work under a range of |
| 47 | +compilers, settings, and targets. |
| 48 | + |
| 49 | + |
| 50 | +### Labels |
| 51 | + |
| 52 | +We use [labels](https://github.com/YosysHQ/yosys/labels) to help categorise |
| 53 | +issues and PRs. If a label seems relevant to your work, please do add it; this |
| 54 | +also includes the labels beggining with 'status-'. The 'merge-' labels are used |
| 55 | +by maintainers for tracking and communicating which PRs are ready and pending |
| 56 | +merge; please do not use these labels if you are not a maintainer. |
| 57 | + |
| 58 | + |
| 59 | +# Asking questions |
| 60 | + |
| 61 | +If you have a question about how to use Yosys, please ask on our [discussions |
| 62 | +page](https://github.com/YosysHQ/yosys/discussions) or in our [community |
| 63 | +slack](https://join.slack.com/t/yosyshq/shared_invite/zt-1aopkns2q-EiQ97BeQDt_pwvE41sGSuA). |
| 64 | +The slack is also a great place to ask questions about developing or |
| 65 | +contributing to Yosys. |
| 66 | + |
| 67 | +We have open dev 'jour fixe' (JF) meetings where developers from YosysHQ and the |
| 68 | +community come together to discuss open issues and PRs. This is also a good |
| 69 | +place to talk to us about how to implement larger PRs. Please join the |
| 70 | +community slack if you would like to join the next meeting, the link is |
| 71 | +available in the description of the #devel-discuss channel. |
0 commit comments