| No DB in Routers | Database operations blocked | routers/ | | No HTTP in Services | HTTPException blocked | services/ | | No Business Logic in Routers | Complex logic blocked | routers/ | | Use Depends() | Direct instantiation blocked | routers/ | | Async Consistency | Sync calls in async blocked | all |
| File Naming | Must follow naming convention | all |
| Routers | router.py, routes.py, api.py, deps.py | users.py, UserRouter.py | | Services | service.py | users.py, UserService.py, service.py | | Repositories | repository.py, repo.py | users.py, repository.py | | Schemas | schema.py, dto.py, request.py, response.py | users.py, UserSchema.py |
Applica l'architettura FastAPI Clean con convalida del blocco. Da utilizzare quando si implementano modelli di repository di servizi router, si applica la separazione dei livelli o si convalida l'inserimento di dipendenze nel codice back-end. Fonte: yonatangross/skillforge-claude-plugin.