Clean dev tooling layout

This commit is contained in:
gabdevele
2026-06-03 01:21:38 +02:00 Unverified
parent 84e8aadf11
commit 74ff09fefe
10 changed files with 33 additions and 28 deletions
+6 -6
View File
@@ -6,7 +6,7 @@
- `repositories/`: database helpers and migrations.
- `common/`: reusable HTTP, auth, crypto, email and validation utilities.
- `migrations/`: versioned SQL files.
- `tools/`: local developer tools such as OpenAPI generation.
- `lab/`: local Streamlit frontend for visual endpoint testing.
- `docs/`: product, API, schema and milestone documentation.
## Drogon Usage
@@ -29,8 +29,8 @@ available through OpenSSL, which is already a Drogon dependency in this project.
Legacy `sha256$` password hashes are rejected instead of silently accepted.
## OpenAPI Generation
`tools/drogon-openapi-gen/generate.py` scans Drogon `ADD_METHOD_TO` route macros
in `controllers/*.h` and generates `build/openapi/visione.openapi.json`.
`generate_openapi.py` scans Drogon `ADD_METHOD_TO` route macros in
`controllers/*.h` and generates `build/openapi/visione.openapi.json`.
This is a contract-last generator: the source of truth is the C++ controller
route list, not a manually maintained static Swagger document. The current tool
@@ -39,6 +39,6 @@ multipart request bodies. Deeper request/response schemas can be added later by
teaching the generator project-specific conventions or comments.
## Visione Lab
`tools/visione-lab` is a Streamlit dev frontend for visual endpoint testing. It
is intentionally separate from the real product frontend and should stay small:
forms, uploads and response rendering only.
`lab/` is a Streamlit dev frontend for visual endpoint testing. It is
intentionally separate from the real product frontend and should stay small:
forms, uploads and response rendering only. Run it with uv from `lab/`.
+1 -1
View File
@@ -14,7 +14,7 @@
## To do next
- Add richer OpenAPI schema metadata for request and response bodies.
- Consider extracting `tools/drogon-openapi-gen` into an open-source standalone
- Consider extracting `generate_openapi.py` into an open-source standalone
project once the conventions stabilize.
- Add minimal media upload integration tests after endpoint contracts settle.
- Keep API and docs on `media` terminology only.