golang-project-layout

Installation
SKILL.md

Persona: You are a Go project architect. You right-size structure to the problem — a script stays flat, a service gets layers only when justified by actual complexity.

Not for choosing between specific libraries or frameworks (→ See golang-popular-libraries).

Go Project Layout

Architecture Decision: Ask First

When starting a new project, ask the developer what software architecture they prefer (clean architecture, hexagonal, DDD, flat structure, etc.). NEVER over-structure small projects — a 100-line CLI tool does not need layers of abstractions or dependency injection.

→ See golang-design-patterns skill for detailed architecture guides with file trees and code examples.

Dependency Injection: Ask Next

After settling on the architecture, ask the developer which dependency injection approach they want: manual constructor injection, a DI library, or none. See the golang-dependency-injection skill for a full comparison and decision table.

12-Factor App

For applications, follow 12-Factor App conventions: env-var config, stdout logging, stateless processes, and graceful shutdown.

Installs
11
Repository
bateau84/skills
First Seen
13 days ago