hexagonal-architecture
Design, implement, and refactor Ports & Adapters systems with clear domain boundaries, dependency inversion, and testable use-case orchestration across TypeScript, Java, Kotlin, and Go services.
npx skills add mturac/everything-openai-codex --skill hexagonal-architecture --agent codex
Same command for any agent — swap --agent for claude-code, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Hexagonal Architecture Hexagonal architecture (Ports and Adapters) keeps business logic independent from frameworks, transport, and persistence details. The core app depends on abstract ports, and adapters implement those ports at the edges. ## When to Use - Building new features where long-term maintainability and testability matter. - Refactoring layered or framework-heavy code where domain logic is mixed with I/O concerns. - Supporting multiple interfaces for the same use case (HTTP, CLI, queue workers, cron jobs). - Replacing infrastructure (database, external APIs, message bus) without rewriting business rules. Use this skill when the request involves boundaries, domain-centric design, refactoring tightly coupled services, or decoupling application logic from specific libraries. ## Core Concepts - **Domain model**: Business rules and entities/value objects. No framework imports. - **Use cases (application layer)**: Orchestrate domain behavior and workflow steps. - **Inbound ports**: Contracts describing what the application can do (commands/queries/use-case interfaces). - **Outbound ports**: Contracts for dependencies the application needs (repositories, gateways, event publ
- When to Use
- Core Concepts
- How It Works
- Step 1: Model a use case boundary
- Step 2: Define outbound ports first
- Step 3: Implement the use case with pure orchestration
- Step 4: Build adapters at the edge
- Step 5: Wire everything in a composition root
- Step 6: Test per boundary
- Architecture Diagram
- Suggested Module Layout
- TypeScript Example
- Port definitions
- Use case
What does the hexagonal-architecture skill do?
Design, implement, and refactor Ports & Adapters systems with clear domain boundaries, dependency inversion, and testable use-case orchestration across TypeScript, Java, Kotlin, and Go services.
How do I install it?
Run `npx skills add mturac/everything-openai-codex --skill hexagonal-architecture --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From mturac/everything-openai-codex, a repository with 84 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
