Skip to content

ADR 001 — repository and frameworks

Status: Accepted · Date: 2026-08-01

Decision

Keep the public API and documentation as separate applications in the existing OpenSoil monorepo. Use FastAPI/Pydantic for the API and MkDocs Material with Markdown for documentation. Deploy them independently from the main Node application and lab prototype.

Why

The repository already contains domain, deployment, database, and site context. A monorepo keeps shared decisions and cross-site links reviewable. FastAPI produces OpenAPI directly from typed route and response models and fits the server's Python runtime. MkDocs makes explanatory content editable without changing application code.

Consequences

The repository contains more than one runtime ecosystem, but pinned requirements and a Dockerfile make the API reproducible. Static docs and the API have separate release roots, service health, and rollback. The main site's working Node authentication/data service is not replaced.