diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 0000000..8a5fd3e
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,32 @@
+# Contributing to venvstacks
+
+Thank you for your interest in contributing to `venvstacks`! There are many ways to
+contribute, and we appreciate all of them.
+
+While `venvstacks` is not a Python Packaging Authority project, it is nevertheless
+part of the Python packaging ecosystem, and hence likely to be discussed in
+PyPA-managed communication channels. All contributors are expected to abide by the
+[PyPA Code of Conduct][pypa-coc].
+
+[pypa-coc]: https://www.pypa.io/en/latest/code-of-conduct/
+
+## Before you start
+
+If you are planning to add a feature or fix a bug,
+please [open an issue](https://github.com/lmstudio-ai/venvstacks/issues) first to discuss it.
+This is mainly to avoid duplicate work and to make sure that your contribution is in line
+with the project's goals,
+so please check if there is an existing issue before filling a new one.
+
+For general `venvstacks` discussion (not specific to its use in LM Studio), there is a
+`#venvstacks` channel within the [PyPA Discord server](https://discord.com/invite/pypa).
+
+For questions specifically related to the Python environment stacks used in LM Studio,
+the team is available through the `#dev-chat` channel within the
+[LM Studio Discord server](https://discord.gg/pwQWNhmQTY).
+
+## Development Documentation
+
+Our [development documentation](https://venvstacks.github.io/development/) contains
+details on how to get started with contributing to `venvstacks`,
+and details of our development processes.