diff --git a/config.yml b/config.yml
index 79a19b5..d927854 100644
--- a/config.yml
+++ b/config.yml
@@ -27,6 +27,7 @@ repos:
description: Design-first API development toolkit enforcing OpenAPI contracts as the single source of truth.
section: libraries
docs:
+ wiki: site
lib: site
mcp: { bundle: docs/mcp, server: openapi_first, port: 8004 }
diff --git a/openapi-first/lib/app/index.html b/openapi-first/lib/app/index.html
index 4280106..a62ecff 100644
--- a/openapi-first/lib/app/index.html
+++ b/openapi-first/lib/app/index.html
@@ -385,21 +385,6 @@
-
-
@@ -705,21 +690,6 @@
-
-
@@ -791,7 +761,7 @@ that enforces OpenAPI as the single source of truth for a FastAPI service.
Python handler function.
- Handlers are plain Python callables (no FastAPI decorators).
- FastAPI route registration is derived exclusively from the spec.
-- FastAPI's autogenerated OpenAPI schema is fully overridden.
+- FastAPI's autogenerated OpenAPI schema is fully overridden.
Responsibilities:
1
@@ -855,60 +825,6 @@ that enforces OpenAPI as the single source of truth for a FastAPI service.
- `OpenAPIFirstApp` subclasses `FastAPI` and replaces manual route
- registration with OpenAPI-driven binding.
-- All routes are derived from the provided OpenAPI specification,
- and each ``operationId`` is mapped to a Python function in the
- supplied routes module.
-- Auth dependencies are auto-injected from the spec's
- ``securitySchemes`` and per-operation ``security`` fields.
-
-
Guarantees:
-
1
-2
-3
-4
-5
-6
- No route can exist without an OpenAPI declaration.
-- No OpenAPI operation can exist without a handler.
-- Swagger UI and ``/openapi.json`` always reflect the provided spec.
-- Handler functions remain framework-agnostic and testable.
-- Auth enforcement is driven entirely by the spec — no manual
- middleware or decorators required.
-
- `OpenAPIFirstApp` subclasses `FastAPI` and replaces manual route
+ registration with OpenAPI-driven binding.
+- All routes are derived from the provided OpenAPI specification,
+ and each ``operationId`` is mapped to a Python function in the
+ supplied routes module.
+- Auth dependencies are auto-injected from the spec's
+ ``securitySchemes`` and per-operation ``security`` fields.
+
+
Guarantees:
+
1
+2
+3
+4
+5
+6
- No route can exist without an OpenAPI declaration.
+- No OpenAPI operation can exist without a handler.
+- Swagger UI and ``/openapi.json`` always reflect the provided spec.
+- Handler functions remain framework-agnostic and testable.
+- Auth enforcement is driven entirely by the spec — no manual
+ middleware or decorators required.
+
If no servers are defined, spec has no paths, operationIds are missing/duplicate, or required parameters are missing.
-
-
-
-
-
-
@@ -994,7 +964,7 @@ derives all callable operations directly from an OpenAPI 3.x specification.
-
Functions
+
diff --git a/openapi-first/lib/codegen/index.html b/openapi-first/lib/codegen/index.html
index 6d0ad4c..b0cde69 100644
--- a/openapi-first/lib/codegen/index.html
+++ b/openapi-first/lib/codegen/index.html
@@ -767,7 +767,7 @@ definitions.
output_dir:Path,*,use_models:bool=False,
-models_module:str="models"
+models_module:str="models")->list[Path]
diff --git a/openapi-first/lib/codegen_routes/index.html b/openapi-first/lib/codegen_routes/index.html
index 8d3c3e2..ca4285a 100644
--- a/openapi-first/lib/codegen_routes/index.html
+++ b/openapi-first/lib/codegen_routes/index.html
@@ -687,7 +687,7 @@ must define an operationId, which becomes the handler function name
output_dir:Path,*,use_models:bool=False,
-models_module:str="models"
+models_module:str="models")->list[Path]
diff --git a/openapi-first/lib/errors/index.html b/openapi-first/lib/errors/index.html
index cd96197..af3b3ac 100644
--- a/openapi-first/lib/errors/index.html
+++ b/openapi-first/lib/errors/index.html
@@ -512,21 +512,6 @@
-
-
@@ -705,21 +690,6 @@
-
-
@@ -833,26 +803,6 @@ specification and its Python implementation.
Raised when an OpenAPI operation cannot be resolved to a handler.
-
- Notes
-
Scenarios:
-
1
-2
-3
- An OpenAPI operation does not define an `operationId`.
-- An `operationId` is defined but no matching function exists in
- the provided routes module.
-
-
Guarantees:
-
1
-2
-3
- This represents a violation of the OpenAPI-first contract and
- indicates that the specification and implementation are out of
- sync.
-
-
-
Initialize the error.
-
-
Parameters:
@@ -910,6 +860,24 @@ specification and its Python implementation.
+
+ Notes
+
Scenarios:
+
1
+2
+3
- An OpenAPI operation does not define an `operationId`.
+- An `operationId` is defined but no matching function exists in
+ the provided routes module.
+
+
Guarantees:
+
1
+2
+3
- This represents a violation of the OpenAPI-first contract and
+ indicates that the specification and implementation are out of
+ sync.
+
+
+
@@ -920,7 +888,7 @@ specification and its Python implementation.
-
+
diff --git a/openapi-first/lib/openapi_first/app/index.html b/openapi-first/lib/openapi_first/app/index.html
index 520ab1a..3c8caa9 100644
--- a/openapi-first/lib/openapi_first/app/index.html
+++ b/openapi-first/lib/openapi_first/app/index.html
@@ -587,21 +587,6 @@
-
-
@@ -673,7 +658,7 @@ that enforces OpenAPI as the single source of truth for a FastAPI service.
Python handler function.
- Handlers are plain Python callables (no FastAPI decorators).
- FastAPI route registration is derived exclusively from the spec.
-- FastAPI's autogenerated OpenAPI schema is fully overridden.
+- FastAPI's autogenerated OpenAPI schema is fully overridden.
Responsibilities:
1
@@ -737,60 +722,6 @@ that enforces OpenAPI as the single source of truth for a FastAPI service.
- `OpenAPIFirstApp` subclasses `FastAPI` and replaces manual route
- registration with OpenAPI-driven binding.
-- All routes are derived from the provided OpenAPI specification,
- and each ``operationId`` is mapped to a Python function in the
- supplied routes module.
-- Auth dependencies are auto-injected from the spec's
- ``securitySchemes`` and per-operation ``security`` fields.
-
-
Guarantees:
-
1
-2
-3
-4
-5
-6
- No route can exist without an OpenAPI declaration.
-- No OpenAPI operation can exist without a handler.
-- Swagger UI and ``/openapi.json`` always reflect the provided spec.
-- Handler functions remain framework-agnostic and testable.
-- Auth enforcement is driven entirely by the spec — no manual
- middleware or decorators required.
-
- `OpenAPIFirstApp` subclasses `FastAPI` and replaces manual route
+ registration with OpenAPI-driven binding.
+- All routes are derived from the provided OpenAPI specification,
+ and each ``operationId`` is mapped to a Python function in the
+ supplied routes module.
+- Auth dependencies are auto-injected from the spec's
+ ``securitySchemes`` and per-operation ``security`` fields.
+
+
Guarantees:
+
1
+2
+3
+4
+5
+6
- No route can exist without an OpenAPI declaration.
+- No OpenAPI operation can exist without a handler.
+- Swagger UI and ``/openapi.json`` always reflect the provided spec.
+- Handler functions remain framework-agnostic and testable.
+- Auth enforcement is driven entirely by the spec — no manual
+ middleware or decorators required.
+
If no servers are defined, spec has no paths, operationIds are missing/duplicate, or required parameters are missing.
-
-
-
-
-
-
@@ -878,7 +863,7 @@ derives all callable operations directly from an OpenAPI 3.x specification.
-
Functions
+
diff --git a/openapi-first/lib/openapi_first/codegen/index.html b/openapi-first/lib/openapi_first/codegen/index.html
index 051c058..5815d6f 100644
--- a/openapi-first/lib/openapi_first/codegen/index.html
+++ b/openapi-first/lib/openapi_first/codegen/index.html
@@ -767,7 +767,7 @@ definitions.
output_dir:Path,*,use_models:bool=False,
-models_module:str="models"
+models_module:str="models")->list[Path]
diff --git a/openapi-first/lib/openapi_first/codegen_routes/index.html b/openapi-first/lib/openapi_first/codegen_routes/index.html
index dc6a385..d93ac56 100644
--- a/openapi-first/lib/openapi_first/codegen_routes/index.html
+++ b/openapi-first/lib/openapi_first/codegen_routes/index.html
@@ -687,7 +687,7 @@ must define an operationId, which becomes the handler function name
output_dir:Path,*,use_models:bool=False,
-models_module:str="models"
+models_module:str="models")->list[Path]
diff --git a/openapi-first/lib/openapi_first/errors/index.html b/openapi-first/lib/openapi_first/errors/index.html
index 864e023..df01301 100644
--- a/openapi-first/lib/openapi_first/errors/index.html
+++ b/openapi-first/lib/openapi_first/errors/index.html
@@ -587,21 +587,6 @@
-
-
@@ -715,26 +700,6 @@ specification and its Python implementation.
Raised when an OpenAPI operation cannot be resolved to a handler.
-
- Notes
-
Scenarios:
-
1
-2
-3
- An OpenAPI operation does not define an `operationId`.
-- An `operationId` is defined but no matching function exists in
- the provided routes module.
-
-
Guarantees:
-
1
-2
-3
- This represents a violation of the OpenAPI-first contract and
- indicates that the specification and implementation are out of
- sync.
-
-
-
Initialize the error.
-
-
Parameters:
@@ -792,6 +757,24 @@ specification and its Python implementation.
+
+ Notes
+
Scenarios:
+
1
+2
+3
- An OpenAPI operation does not define an `operationId`.
+- An `operationId` is defined but no matching function exists in
+ the provided routes module.
+
+
Guarantees:
+
1
+2
+3
- This represents a violation of the OpenAPI-first contract and
+ indicates that the specification and implementation are out of
+ sync.
+
+
+
@@ -802,7 +785,7 @@ specification and its Python implementation.
-
payload : dict
Item attributes excluding the id field.
-response : fastapi.Response
+response : Response
Response object used to set the HTTP status code.
diff --git a/openapi-first/lib/openapi_first/templates/health_app/index.html b/openapi-first/lib/openapi_first/templates/health_app/index.html
index 0709527..11a222d 100644
--- a/openapi-first/lib/openapi_first/templates/health_app/index.html
+++ b/openapi-first/lib/openapi_first/templates/health_app/index.html
@@ -632,13 +632,13 @@ services via the openapi-first CLI. It is not part of the
Scaffolding via CLI
Create a new OpenAPI-first health check service using the bundled
template:
payload : ItemCreate
Request body describing the item to create.
-response : fastapi.Response
+response : Response
Response object used to set the HTTP status code.