summaryrefslogtreecommitdiffstats
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md54
1 files changed, 42 insertions, 12 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7c77767..451d7d4 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,33 +2,63 @@
## Getting Started
-Takahē requires Python 3.11
+Development can be done "bare metal" or with Docker. We'll describe both here.
-Create and activate a virtual environment
-```
-python3 -m venv .venv
-. .venv/bin/activate
-```
+### Bare Metal
-Install the development requirements:
+Takahē requires Python 3.11, so you'll need that first. Then, create and
+activate a virtual environment:
+```shell
+$ python3 -m venv .venv
+$ . .venv/bin/activate
```
-pip install -r requirements-dev.txt
+
+You can install the development requirements:
+
+```shell
+$ pip install -r requirements-dev.txt
```
-Enable git commit hooks:
+...and enable git commit hooks if you like:
```bash
-pre-commit install
+$ pre-commit install
```
-Try running the tests:
+Finally, you can run the tests with PyTest:
```bash
-pytest
+$ pytest
```
+
+### Docker
+
+The docker build process will take care of much of the above, but you just have
+to be sure that you're executing it from the project root.
+
+First, you need to build your image:
+
+```shell
+$ docker build -f ./docker/Dockerfile -t "takahe:latest" .
+```
+
+Then start the `compose` session:
+
+```shell
+$ docker compose -f docker/docker-compose.yml up
+```
+
+Once your session is up and running, you can run the tests inside your
+container:
+
+```shell
+$ docker compose -f docker/docker-compose.yml exec web pytest
+```
+
+
# Code of Conduct
As a contributor, you can help us keep the Takahē community open and inclusive. Takahē