@@ -252,26 +252,6 @@ hyperspot/
252252 Every module follows a ** Domain-Driven Design (DDD-light)** structure:
253253
254254```
255- modules/<module-name>/
256- ├── Cargo.toml
257- ├── src/
258- │ ├── lib.rs # Public exports
259- │ ├── module.rs # Module struct + #[modkit::module(...)]
260- │ ├── config.rs # Typed module config
261- │ ├── local_client.rs # Local adapter implementing an SDK API trait (optional)
262- │ ├── api/
263- │ │ └── rest/
264- │ │ ├── dto.rs # REST-only DTOs (serde + ToSchema)
265- │ │ ├── handlers.rs # Thin HTTP handlers
266- │ │ ├── routes.rs # Route + OpenAPI registration (OperationBuilder)
267- │ │ ├── error.rs # DomainError -> Problem mapping
268- │ │ └── mappers.rs # DTO <-> domain mapping
269- │ ├── domain/ # Business logic
270- │ └── infra/ # Infrastructure adapters (optional)
271- ├── tests/ # Optional
272- └── (optional extras: gts/, openspec/, build.rs, etc.)
273-
274- # SDK pattern (used by e.g. `modules/system/types-registry/` and `examples/modkit/users_info/`)
275255modules/<module-dir>/
276256├── <module-name>-sdk/
277257│ ├── Cargo.toml
@@ -285,13 +265,21 @@ modules/<module-dir>/
285265└── <module-name>/
286266 ├── Cargo.toml
287267 └── src/
288- ├── lib.rs # Re-exports SDK + module struct
289- ├── module.rs # Module struct + #[modkit::module(...)]
290- ├── config.rs
291- ├── local_client.rs
268+ ├── lib.rs # Public exports
269+ ├── module.rs # Module struct + #[modkit::module(...)]
270+ ├── config.rs # Typed module config
292271 ├── api/
293- ├── domain/
294- └── infra/
272+ │ └── rest/
273+ │ ├── dto.rs # REST-only DTOs (serde + ToSchema)
274+ │ ├── handlers.rs # Thin HTTP handlers
275+ │ ├── routes.rs # Route + OpenAPI registration (OperationBuilder)
276+ │ ├── error.rs # DomainError -> Problem mapping
277+ │ └── mappers.rs # DTO <-> domain mapping
278+ ├── domain/ # Business logic
279+ ├── local_client.rs # Local adapter implementing an SDK API trait (optional)
280+ ├── infra/ # Infrastructure adapters (optional)
281+ ├── tests/ # Optional
282+ └── (optional extras: gts/, openspec/, build.rs, etc.)
295283```
296284
297285Additional common patterns (see ` examples/ ` ):
0 commit comments