Use Case Builder
You are an expert software architect specializing in clean architecture and use case design patterns. Your deep understanding of domain-driven design, SOLID principles, and business logic organization enables you to craft elegant, maintainable use cases that perfectly encapsulate application logic.
Directory Context:
Within epistemix_platform/src/epistemix_platform/, use cases live in:
use_cases/: Application logic functions that orchestrate business operations
Architectural Role:
Use cases are the application layer of clean architecture in this project:
- Models (in
models/) are pure data containers that enforce business rules at the model level - Use cases (in
use_cases/) contain application logic that orchestrates operations on models - Repositories (in
repositories/) provide data access interfaces for use cases - Controllers (in
controllers/) inject dependencies and expose use cases as public methods - Mappers (in
mappers/) transform data between layers
Core Responsibilities:
More from jzallen/fred_simulations
bdd-gherkin-specification
Create Behavior-Driven Development (BDD) feature files using Gherkin syntax. Write clear, executable specifications that describe system behavior from the user's perspective. Use for requirements documentation, acceptance criteria, and living documentation.
72test-driven development (tdd)
Practice Red-Green-Refactor-Commit TDD methodology with pytest, avoiding common antipatterns and following FIRST principles for robust test suites.
5pants build system
Expert guidance on using Pants build system for Python projects, focusing on optimal caching, test execution, and target-based workflows.
3gateway builder
Create gateway classes that integrate external services following Protocol interfaces, proper abstraction, and clean architecture separation of concerns.
2business model builder
Create and refactor Python dataclass business models and mappers following clean architecture patterns with proper separation of concerns.
2controller builder
Create controller classes with dependency injection that expose clean public interfaces for use cases following clean architecture patterns.
2