diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000000..da65b034be3 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,30 @@ +# Contributing to rust-analyzer + +Thank you for your interest in contributing to rust-analyzer! There are many ways to contribute +and we appreciate all of them. + +To get a quick overview of the crates and structure of the project take a look at the +[./docs/dev](./docs/dev) folder. + +If you have any questions please ask them in the [rust-analyzer zulip stream]( +https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer) or if unsure where +to start out when working on a concrete issue drop a comment on the related issue for mentoring +instructions (general discussions are recommended to happen on zulip though). + +## Fixing a bug or improving a feature + +Generally it's fine to just work on these kinds of things and put a pull-request out for it. If there +is an issue accompanying it make sure to link it in the pull request description so it can be closed +afterwards or linked for context. + +If you want to find something to fix or work on keep a look out for the `C-bug` and `C-enhancement` +labels. + +## Implementing a new feature + +It's advised to first open an issue for any kind of new feature so the team can tell upfront whether +the feature is desirable or not before any implementation work happens. We want to minimize the +possibility of someone putting a lot of work into a feature that is then going to waste as we deem +it out of scope (be it due to generally not fitting in with rust-analyzer, or just not having the +maintenance capacity). If there already is a feature issue open but it is not clear whether it is +considered accepted feel free to just drop a comment and ask! diff --git a/README.md b/README.md index 8c3f6f8468b..552f71f1518 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,9 @@ https://rust-analyzer.github.io/manual.html#installation ## Documentation -If you want to **contribute** to rust-analyzer or are just curious about how -things work under the hood, check the [./docs/dev](./docs/dev) folder. +If you want to **contribute** to rust-analyzer check out the [CONTRIBUTING.md](./CONTRIBUTING.md) or +if you are just curious about how things work under the hood, check the [./docs/dev](./docs/dev) +folder. If you want to **use** rust-analyzer's language server with your editor of choice, check [the manual](https://rust-analyzer.github.io/manual.html) folder.