go-microservice

Scaffold Go microservice domains with Uber FX module wiring.

Updated Oct 26, 2025
One-click install
npx skills add https://github.com/Conte777/config_for_claude_code --skill go-microservice
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: go-microservice
Source: https://github.com/Conte777/config_for_claude_code/tree/main/src/skills/go-microservice
Command: npx skills add https://github.com/Conte777/config_for_claude_code --skill go-microservice

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill guides engineers in creating and extending Go microservices using a standardized internal service template and Uber FX for dependency injection, reducing boilerplate and ensuring consistency across services.

Core Features & Use Cases

  • Structured domain scaffolding: entities, dto, deps, repository, usecase, delivery, and workers, all wired via fx modules.
  • Architecture guidance: Clean Architecture, domain-driven design patterns, and modularization for Go backends.
  • Practical workflows: adding new domains, exposing HTTP/gRPC endpoints, and integrating infrastructure components like databases and queues.
  • Use Case: rapidly spin up a new microservice domain (e.g., inventory) with consistent patterns and test coverage.

Quick Start

Create a new domain under internal/domain/{name} following the provided examples, register an fx.Module, implement repository and usecase layers, and run the standard Go test command to validate wiring.

Frequently Asked Questions about go-microservice

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

FAQPage Schema
How do I structure a Go microservice using Uber FX for dependency injection?

Structure a Go microservice using Uber FX by organizing domains under internal/domain/{name} with entities, dto, deps, repository, usecase, and delivery layers, then wiring them via fx.Module. This enforces clean architecture and reduces boilerplate.

What is the best way to apply domain-driven design in a Go backend?

Apply domain-driven design in a Go backend by scaffolding modular domain packages for entities, repositories, and usecases. Using a standardized internal service template ensures consistent modularization and clean architecture separation.

How do I add a new domain to an existing Go microservice?

Add a new domain to a Go microservice by creating a directory under internal/domain/{name}, registering an fx.Module, implementing repository and usecase layers, and running standard Go tests to validate the wiring.

Can I expose both HTTP and gRPC endpoints with this Go microservice template?

Yes, you can expose HTTP and gRPC endpoints within the delivery layer of the domain scaffold. The template guides practical workflows for integrating these delivery mechanisms alongside infrastructure components like databases and queues.

Does building Go microservices with Uber FX require a specific project structure?

Building Go microservices with Uber FX requires a specific project structure enforcing fx.Module wiring and domain packaging containing entities, dto, deps, repository, usecase, and delivery to ensure backend consistency.