go-web-ddd-framework

Generates Go web project scaffolding with configurable options.

Updated Mar 3, 2026
One-click install
npx skills add https://github.com/jacexh/skills --skill go-web-ddd-framework
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: go-web-ddd-framework
Source: https://github.com/jacexh/skills/tree/main/skills/go-web-ddd-framework
Command: npx skills add https://github.com/jacexh/skills --skill go-web-ddd-framework

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a complete blueprint for building Go web projects using Domain-Driven Design and Clean Architecture on the github.com/go-jimu/template ecosystem. It guides project bootstrapping, layer isolation (domain/application/infrastructure), aggregates with validation and events, value objects, CQRS, domain events via Mediator, repository patterns with XORM, ConnectRPC API layer, fx wiring, error handling with oops, and testing strategies.

Core Features & Use Cases

  • Covers end-to-end project setup from scratch to production-grade structure, including domain, application, infrastructure layers, and integration points.
  • Demonstrates CQRS handlers, domain events, repository patterns, and fx wiring for modular Go projects.
  • Provides guidance for creating new domain modules, bootstrapping templates, and wiring proto/ConnectRPC APIs.

Quick Start

Bootstrap a new Go web project from the template using the provided bootstrap flow.

Frequently Asked Questions about go-web-ddd-framework

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

FAQPage Schema
How do I bootstrap a Go web project with Clean Architecture and DDD?

To bootstrap a Go web project with Clean Architecture and DDD, this Skill automates project scaffolding by guiding domain, application, and infrastructure layer isolation, alongside CQRS and domain events. It enforces best practices using the github.com/go-jimu/template ecosystem.

How does CQRS work with domain events in a Go web application?

CQRS with domain events in a Go web application works by separating command and query handlers while routing events via a Mediator. This Skill guides setting up these handlers and repository patterns to maintain strict layer isolation and enforce business logic boundaries.

Can I use fx wiring with ConnectRPC in a Go DDD module?

Yes, you can use fx wiring with ConnectRPC in a Go DDD module. This Skill provides guidance for wiring proto/ConnectRPC APIs and configuring fx modular dependencies to ensure proper integration across the application and infrastructure layers.

What's the best way to structure a new domain module in Go?

The best way to structure a new domain module in Go is to enforce aggregates with validation, value objects, and repository semantics. This Skill provides a blueprint for adding modules that maintain strict Clean Architecture boundaries and manage XORM repository patterns.

How do I handle errors in a Go DDD project?

To handle errors in a Go DDD project, this Skill integrates the oops error handling library within its Clean Architecture blueprint. It guides consistent error propagation across the domain, application, and infrastructure layers to ensure robust production-grade structure.

When do I need domain events and Mediator in Go web projects?

You need domain events and Mediator in Go web projects when decoupling business logic across aggregates and application layers. This Skill applies these patterns during scaffolding to ensure domain changes propagate correctly without creating tight coupling between modules.