go-repository
Go Repository
Generate repository port interfaces and implementations for Go modular architecture conventions.
When to Use
- Create data access layers for entities
- CRUD operations (Create, FindAll, FindByID, Update, Delete)
- Custom queries, pagination, transactions
- Join queries and filtered lookups
Two-File Pattern
Every repository requires two files:
- Port interface:
internal/modules/<module>/ports/<entity>_repository.go - Repository implementation:
internal/modules/<module>/repository/<entity>_repository.go
Port Interface Structure
More from cristiano-pacheco/ai-tools
go-gorm-model
Generate GORM persistence models. Use when creating database models using GORM.
78go-chi-handler
Generate Chi HTTP handlers, use case orchestration, Use for REST endpoint handlers or web http handlers.
26go-usecase
Generate use cases. Use when creating business operations, CRUD use cases, or any Execute-based module operation.
22go-enum
Generate type-safe enums with validation. Use when creating enums, defining constants, or adding enum types.
20go-cache
Generate Redis-backed Go cache. Invoke whenever user mentions cache or Redis.
20go-integration-tests
Generate Go integration tests with real database/infrastructure via itestkit containers. Use when testing use cases against real databases, verifying end-to-end flows, or adding integration test coverage.
20