Skip to content

Commit 1eaf184

Browse files
CONTRIBUTING.md: Initial version
1 parent 38f8583 commit 1eaf184

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

CONTRIBUTING.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
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

Comments
 (0)