| name | kratos-biz-layer |
| description | Generates business logic layer components for go-kratos microservices following Clean Architecture. Creates use cases, repository interfaces, business models, and validators. Use when adding business logic to kratos services. |
Clean Architecture Dependency Rule
The business layer (biz) is the core of Clean Architecture in Kratos microservices:
Dependency Flow: Service → Biz → Data
- Biz defines interfaces that data layer implements
- Biz contains business logic independent of frameworks
- Biz uses domain models not ORM entities
Three Key Components
1. Business Models (internal/biz/models.go)
- Domain entities with validation tags
- Independent of database structure
- Use
validatorstruct tags for validation
2. Repository Interfaces (internal/biz/interfaces.go)
- Define data access contracts
- Implemented by data layer
- Accept/return business models, not ORM entities
3. Use Cases (internal/biz/{entity}.go)
- Orchestrate business logic
- Depend on repository interfaces
- Handle validation, logging, error mapping
Wire Dependency Injection
All constructors must be added to ProviderSet in internal/biz/biz.go:
var ProviderSet = wire.NewSet(NewSymbolValidator, NewSymbolUseCase)
After changes, run make generate to regenerate Wire code.
- Create a new entity (use case + interface + model + validator)
- Add methods to existing use case
- Create standalone validator
- View examples and patterns
Wait for response before proceeding.
After reading the workflow, follow it exactly.
Core Patterns: use-case-pattern.md, interface-pattern.md, model-pattern.md Code Style: naming-conventions.md
Additional patterns (error handling, logging, transactions, testing) are covered within use-case-pattern.md.