diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b84af9cb0c..a9319706f3 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,10 +4,14 @@ Welcome! We're happy to have you here. Thank you in advance for your contributio
## The basics
-Ruff welcomes contributions in the form of Pull Requests. For small changes (e.g., bug fixes), feel
-free to submit a PR. For larger changes (e.g., new lint rules, new functionality, new configuration
-options), consider submitting an [Issue](https://github.com/charliermarsh/ruff/issues) outlining
-your proposed change.
+Ruff welcomes contributions in the form of Pull Requests.
+
+For small changes (e.g., bug fixes), feel free to submit a PR.
+
+For larger changes (e.g., new lint rules, new functionality, new configuration options), consider
+creating an [**issue**](https://github.com/charliermarsh/ruff/issues) outlining your proposed
+change. You can also join us on [**Discord**](https://discord.gg/Z8KbeK24) to discuss your idea with
+the community.
If you're looking for a place to start, we recommend implementing a new lint rule (see:
[_Adding a new lint rule_](#example-adding-a-new-lint-rule), which will allow you to learn from and
diff --git a/README.md b/README.md
index 639ddf2987..7ab5dfb684 100644
--- a/README.md
+++ b/README.md
@@ -8,9 +8,9 @@
[](https://pypi.python.org/pypi/ruff)
[](https://github.com/charliermarsh/ruff/actions)
-An extremely fast Python linter, written in Rust.
+[**Discord**](https://discord.gg/Z8KbeK24) | [**Docs**](https://beta.ruff.rs/docs/) | [**Playground**](https://play.ruff.rs/)
-This README is also available as [documentation](https://beta.ruff.rs/docs/).
+An extremely fast Python linter, written in Rust.
@@ -38,15 +38,11 @@ This README is also available as [documentation](https://beta.ruff.rs/docs/).
Ruff aims to be orders of magnitude faster than alternative tools while integrating more
functionality behind a single, common interface.
-Ruff can be used to replace [Flake8](https://pypi.org/project/flake8/) (plus a variety of plugins), [`isort`](https://pypi.org/project/isort/),
-[`pydocstyle`](https://pypi.org/project/pydocstyle/), [`yesqa`](https://github.com/asottile/yesqa),
-[`eradicate`](https://pypi.org/project/eradicate/), [`pyupgrade`](https://pypi.org/project/pyupgrade/),
-and [`autoflake`](https://pypi.org/project/autoflake/), all while executing tens or hundreds of
-times faster than any individual tool.
-
-Ruff goes beyond the responsibilities of a traditional linter, instead functioning as an advanced
-code transformation tool capable of upgrading type annotations, rewriting class definitions, sorting
-imports, and more.
+Ruff can be used to replace [Flake8](https://pypi.org/project/flake8/) (plus dozens of plugins),
+[`isort`](https://pypi.org/project/isort/), [`pydocstyle`](https://pypi.org/project/pydocstyle/),
+[`yesqa`](https://github.com/asottile/yesqa), [`eradicate`](https://pypi.org/project/eradicate/),
+[`pyupgrade`](https://pypi.org/project/pyupgrade/), and [`autoflake`](https://pypi.org/project/autoflake/),
+all while executing tens or hundreds of times faster than any individual tool.
Ruff is extremely actively developed and used in major open-source projects like:
@@ -77,7 +73,8 @@ Ruff is extremely actively developed and used in major open-source projects like
- [featuretools](https://github.com/alteryx/featuretools)
- [meson-python](https://github.com/mesonbuild/meson-python)
-Read the [launch blog post](https://notes.crmarsh.com/python-tooling-could-be-much-much-faster).
+Read the [launch blog post](https://notes.crmarsh.com/python-tooling-could-be-much-much-faster) or
+the most recent [project update](https://notes.crmarsh.com/ruff-the-first-200-releases).
## Testimonials
@@ -116,6 +113,8 @@ developer of [Zulip](https://github.com/zulip/zulip):
## Table of Contents
+This README is also available as [documentation](https://beta.ruff.rs/docs/).
+
1. [Installation and Usage](#installation-and-usage)
1. [Configuration](#configuration)
1. [Supported Rules](#supported-rules)
@@ -163,13 +162,15 @@ developer of [Zulip](https://github.com/zulip/zulip):
1. [Editor Integrations](#editor-integrations)
1. [FAQ](#faq)
1. [Contributing](#contributing)
-1. [Releases](#releases)
+1. [Support](#support)
1. [Benchmarks](#benchmarks)
1. [Reference](#reference)
1. [License](#license)
## Installation and Usage
+This README is also available as [documentation](https://beta.ruff.rs/docs/).
+
### Installation
@@ -1921,14 +1922,16 @@ If you find a case where Ruff's autofix breaks your code, please file an Issue!
## Contributing
-Contributions are welcome and hugely appreciated. To get started, check out the
-[contributing guidelines](https://github.com/charliermarsh/ruff/blob/main/CONTRIBUTING.md).
+Contributions are welcome and highly appreciated. To get started, check out the
+[**contributing guidelines**](https://github.com/charliermarsh/ruff/blob/main/CONTRIBUTING.md). You
+can also join us on [**Discord**](https://discord.gg/Z8KbeK24).
-## Releases
+## Support
-Ruff is distributed on [PyPI](https://pypi.org/project/ruff/), and published via [`maturin`](https://github.com/PyO3/maturin).
+Having trouble? Check out the existing issues on [**GitHub**](https://github.com/charliermarsh/ruff/issues),
+or feel free to [**open a new one**](https://github.com/charliermarsh/ruff/issues/new).
-See: `.github/workflows/release.yaml`.
+You can also ask for help on [**Discord**](https://discord.gg/Z8KbeK24).
## Benchmarks