xref: /wasmtime-44.0.1/docs/contributing.md (revision a7f592a0)
1# Contributing
2
3We're excited to work on Wasmtime and/or Cranelift together with you! This guide
4should help you get up and running with Wasmtime and Cranelift development. But
5first, make sure you've read the [Code of Conduct](./contributing-coc.html)!
6
7Wasmtime and Cranelift are very ambitious projects with many goals, and while
8we're confident we can achieve some of them, we see many opportunities for
9people to get involved and help us achieve even more.
10
11## Join Our Chat
12
13We chat about Wasmtime and Cranelift development on Zulip — [join
14us!](https://bytecodealliance.zulipchat.com/). You can also join specific
15streams:
16
17* [#wasmtime](https://bytecodealliance.zulipchat.com/#narrow/stream/217126-wasmtime)
18* [#cranelift](https://bytecodealliance.zulipchat.com/#narrow/stream/217117-cranelift)
19
20If you're having trouble building Wasmtime or Cranelift, aren't sure why a test
21is failing, or have any other questions, feel free to ask on Zulip. Not
22everything we hope to do with these projects is reflected in the code or
23documentation yet, so if you see things that seem missing or that don't make
24sense, or even that just don't work the way you expect them to, we're also
25interested to hear about that!
26
27As always, you're more than welcome to [open an
28issue](https://github.com/bytecodealliance/wasmtime/issues/new) too!
29
30## Finding Something to Hack On
31
32If you're looking for something to do, these are great places to start:
33
34* [Issues labeled "good first
35  issue"](https://github.com/bytecodealliance/wasmtime/labels/good%20first%20issue)
36  — these issues tend to be simple, what needs to be done is well known,
37  and are good for new contributors to tackle. The goal is to learn Wasmtime's
38  development workflow and make sure that you can build and test Wasmtime.
39
40* [Issues labeled "help
41  wanted"](https://github.com/bytecodealliance/wasmtime/labels/help%20wanted)
42  — these are issues that we need a little help with!
43
44If you're unsure if an issue is a good fit for you or not, feel free to ask in a
45comment on the issue, or in chat.
46
47### Mentoring
48
49We're happy to mentor people, whether you're learning Rust, learning about
50compiler backends, learning about machine code, learning about wasm, learning
51about how Cranelift does things, or all together at once.
52
53We categorize issues in the issue tracker using a tag scheme inspired by
54[Rust's issue tags]. For example, the [E-easy] marks good beginner issues,
55and [E-rust] marks issues which likely require some familiarity with Rust,
56though not necessarily Cranelift-specific or even compiler-specific
57experience. [E-compiler-easy] marks issues good for beginners who have
58some familiarity with compilers, or are interested in gaining some :-).
59
60See also the [full list of Cranelift labels].
61
62Also, we encourage people to just look around and find things they're
63interested in. This a good time to get involved, as there aren't a lot of
64things set in stone yet.
65
66[Rust's issue tags]: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#issue-triage
67[E-easy]: https://github.com/bytecodealliance/wasmtime/labels/cranelift%3AE-easy
68[E-rust]: https://github.com/bytecodealliance/wasmtime/labels/cranelift%3AE-rust
69[E-compiler-easy]: https://github.com/bytecodealliance/wasmtime/labels/cranelift%3AE-compiler-easy
70[full list of Cranelift labels]: https://github.com/bytecodealliance/wasmtime/labels?q=cranelift
71