diff --git a/README.md b/README.md
index a9e14875b245ae0a194b5b888e17f43489b47e00..45c65f377d0484204048e1238c0dbb498920e26c 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,53 @@
 # repdav
 
+## Development
+
+1. Prerequisites
+    - Python 3.8
+    - Docker 20.10
+    - Docker Compose 1.25
+1. Create/activate virtual environment (ensure you use the correct python version!).
+
+    ```sh
+    python -m venv venv
+    . venv/bin/activate
+    ```
+
+1. Install requirements.
+
+    ```sh
+    pip install $(cat requirements.txt requirements.dev.txt)
+    ```
+
+1. Configure the service by setting the following variables either in your environment or in the `docker-compose.yml` file.
+    - host
+    - port
+    - tg_auth_wsdl
+    - tg_auth_address
+
+1. Start the service.
+
+    ```sh
+    python main.py
+    ```
+
+For your convenience, a Docker Compose setup is delivered with this repository that configures the service accordingly. Build and start the stack.
+
+```sh
+docker-compose up --build
+```
+
+## Contributing
+
+Commit convention:
+
+- Use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/)
+
+Style constraints:
+
+- Code: [PEP 8](https://www.python.org/dev/peps/pep-0008/)
+- Documentation: [PEP 287](https://www.python.org/dev/peps/pep-0287/)
+
+Coding constraints:
+
+- Objects that are not supposed to be used outside the current scope MUST be named starting with `_` (underscore): [PEP 316](https://www.python.org/dev/peps/pep-0316/#id12)