diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..6bdccfa
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,25 @@
+# Contribution guidelines
+
+Thank you for your interest in contributing to this project!
+We welcome external contributions and aim to make the process as smooth as possible.
+
+## Workflow
+
+1. **Fork the repository**
+ Please begin by creating a public fork of the repository on your own GitHub account.
+ We disabled the creation of branches on the upstream repository for all users to prevent that stale branches are left hanging around.
+
+2. **Enable the CI on your fork**
+ Enable Github Actions on your fork to run the CI.
+ This will run a broader set of jobs than the PR-triggered CI, which require permissions on the repo's cache and container registry.
+ The maintainers will check your fork's CI to validate your PR.
+
+3. **Open a PR to `devel`**
+ Once your changes are ready, open a PR targeting the `devel` branch (**not** `main`).
+ If your contributions are still a work-in-progress, e.g. some of the CI checks on your fork are still failing, please open the PR as a draft.
+ Once your PR is merged into `devel`, additional CI jobs will run on our internal servers, with access to commercial licenses and proprietary tools.
+ The maintainers will take care of any issues, and push the contributions to `main` once all issues are fixed.
+
+## Communication
+
+If you're planning a larger contribution or need clarification, feel free to open an issue. We're happy to help guide you.
diff --git a/README.md b/README.md
index fe4f208..9b42662 100644
--- a/README.md
+++ b/README.md
@@ -26,6 +26,10 @@ Unless specified otherwise in the respective file headers, all code in this repo
- Register file code (e.g. [hw/regs/*.sv](hw/regs/)) is generated using a fork of lowRISC's [regtool](https://github.com/lowRISC/opentitan/blob/master/util/regtool.py) and is licensed under Apache 2.0 (see [LICENSE-APACHE](LICENSE-APACHE)).
- All software sources are licensed under Apache 2.0.
+## 👥 Contributing
+
+If you would like to contribute to this project, please check our [contribution guidelines](CONTRIBUTING.md).
+
## 🚀 Getting started
### Environment setup for IIS-members
For IIS members, set up the environment by sourcing the `iis-env.sh` script:
@@ -117,3 +121,5 @@ python scripts/run_clang_format.py -ir sw/ --clang-format-executable=/usr/pack/r
python scripts/run_clang_format.py -ir hw/ --clang-format-executable=/usr/pack/riscv-1.0-kgf/pulp-llvm-0.12.0/bin/clang-format
```
If you're not using the IIS setup, specify a valid `clang-format-12` binary instead.
+.
+