hexagonal-architecture

Decouple business logic from frameworks using Ports & Adapters.

86|21|Updated Feb 9, 2026
One-click install
npx skills add https://github.com/Jamkris/everything-gemini-code --skill hexagonal-architecture-jamkris
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hexagonal-architecture
Source: https://github.com/Jamkris/everything-gemini-code/tree/main/skills/hexagonal-architecture
Command: npx skills add https://github.com/Jamkris/everything-gemini-code --skill hexagonal-architecture-jamkris

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Hexagonal architecture decouples business logic from infrastructure and frameworks, enabling easier maintenance, testing, and evolution of complex systems across languages.

Core Features & Use Cases

  • Domain model and pure business rules with no framework dependencies
  • Use-case orchestration via explicit boundaries and ports
  • Adapters at the edges (inbound/outbound) with a central composition root
  • Cross-language guidance for TypeScript, Java, Kotlin, and Go to support multi-platform architectures
  • Migration and refactoring playbooks that preserve behavior while decoupling concerns

Quick Start

Define a single use-case boundary and wire ports and adapters to connect the domain to infrastructure.

Frequently Asked Questions about hexagonal-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decouple business logic from frameworks to improve maintainability?

Hexagonal architecture decouples business logic from frameworks by defining explicit ports and adapters, ensuring pure domain models remain isolated from infrastructure. This isolation centralizes use cases and composition roots, enabling easier testing and system evolution without framework dependencies.

What is the best way to refactor tightly coupled code into clear boundaries?

Refactoring tightly coupled code into clear boundaries requires defining inbound and outbound ports around your domain model. By applying hexagonal architecture migration playbooks, you preserve existing behavior while progressively moving infrastructure code into isolated edge adapters.

Does hexagonal architecture work with TypeScript, Java, Kotlin, and Go?

Hexagonal architecture provides cross-language guidance for TypeScript, Java, Kotlin, and Go. It supports multi-platform architectures by mapping use-case orchestration, ports, adapters, and composition roots to the specific idioms and testing frameworks of each language.

How do I start implementing ports and adapters for a new feature?

To implement ports and adapters, define a single use-case boundary and wire inbound and outbound ports to connect the pure domain model to external infrastructure. Centralize this wiring at a composition root to orchestrate the feature and its adapters.

When should I not use hexagonal architecture for my software design?

Hexagonal architecture may be unnecessary for simple CRUD applications lacking complex business rules or multiple interfaces. If your software design does not require strict domain model isolation or multi-platform support, the overhead of defining explicit ports and adapters adds little value.