golang-architecture

Guide Golang developers in structuring projects with Hexagonal and DDD architectures.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/ep0ll/bons-ci --skill golang-architecture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: golang-architecture
Source: https://github.com/ep0ll/bons-ci/tree/main/.agents/skills/architecture
Command: npx skills add https://github.com/ep0ll/bons-ci --skill golang-architecture

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses the need for establishing clean and maintainable software architectures in Golang projects.

Core Features & Use Cases

  • Architecture Planning: Guides structuring Go services using Hexagonal Architecture and Domain-Driven Design principles.
  • Best Practices: Emphasizes separation of concerns, dependency management, and layered architecture.
  • Use Case: When designing a new microservice, apply this Skill to implement a modular, testable, and scalable structure.

Quick Start

Use the golang-architecture skill to blueprint your new Go project with recommended directory layouts and patterns.

Frequently Asked Questions about golang-architecture

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

FAQPage Schema
What is hexagonal architecture in Golang and when should I use it?

Hexagonal architecture in Golang separates core domain logic from external concerns using ports and adapters. Apply it when designing complex microservices requiring strict separation of concerns, dependency management, and layered structures for scalable systems.

How do I structure a Golang project using Domain-Driven Design principles?

Structure a Golang project using DDD by organizing code into bounded contexts with distinct domain layers. This Skill guides directory layouts and layering to enforce separation of concerns, dependency management, and maintainable software architectures for complex systems.

What's the best way to implement CQRS and event sourcing in Go?

Implement CQRS and event sourcing in Go by applying conceptual frameworks that separate command and query models. This approach uses detailed architectural blueprints for structuring these patterns, enabling scalable systems without requiring external library dependencies.

Can I apply these Go architecture patterns without adding external dependencies?

Yes, you can apply these Go architecture patterns without external dependencies. This Skill provides detailed conceptual frameworks for architecture design, focusing on structuring projects, dependency management, and layering rather than relying on specific libraries.

When should I avoid hexagonal architecture in my Go application?

Avoid hexagonal architecture in Go applications when building simple scripts or small utilities, as the strict layering and separation of concerns add unnecessary complexity. Reserve this pattern for complex systems requiring modularity and scalable structures.