本文へ移動
cccskills
無料GitHub で公開

go-clean-architecture

Arquitectura Go estilo Alizia-BE (Educabot). Clean Architecture híbrida KISS, DI manual, entities/providers/usecases/entrypoints/repositories. Multi-tenant OrgID scope.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcaneスター 3(GitHub 3 + cccskills 0)
連携ツールPostgreSQL

実行スコア 未検証

インストール方法を見る

含まれるファイル(3)

  • SKILL.md3.8 KB
  • references/anti-patterns.md376 B
  • references/checklist.md552 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Go Clean Architecture (estilo Alizia-BE)

Arquitectura canónica backends Go Educabot. KISS + Clean by layers, DI manual, separación estricta.

Cuándo usar / NO usar

UsarNO usar
API backend nueva con lógica no trivialCLI simple / tool interno
Multi-tenant con OrgID scopePrototipo throwaway
Necesitás testabilidad por capaWorker de una sola función

Filosofía

  • Simpleza primero — no DDD pesado, no event sourcing, no CQRS prematuro
  • DI manual en cmd/ — no wire/fx/dig. Verbosidad es feature
  • One file = one responsibility (especialmente usecases)
  • Código en inglés, comunicación en español

Estructura de Directorios

cmd/                         ← Entry point + DI manual
  main.go, app.go, repositories.go, usecases.go, handlers.go, routes.go
src/core/                    ← DOMINIO PURO (sin imports infra)
  entities/                  ← Structs planos (sin tags GORM/JSON)
  providers/                 ← Interfaces (contratos) + errors.go
  usecases/{domain}/         ← Business logic, un archivo por usecase
src/entrypoints/rest/        ← HTTP handlers (sin lógica de negocio)
src/repositories/{domain}/   ← GORM impl (tags GORM acá, no en entities)
src/mocks/                   ← Un mock por provider
config/                      ← Env vars
db/migrations/               ← SQL up/down (golang-migrate)

Regla de Dependencias

entrypoints → usecases → providers (interfaces) ← repositories

  • Usecases NUNCA importan gorm/http/redis/openai — solo entities + providers
  • Interfaces en core/providers/ (consumer side, Go idiom)

Capas

CapaResponsabilidadReglas
EntitiesStructs del dominioSin tags GORM/JSON, sin lógica de persistencia
ProvidersInterfaces + errores sentinelErrValidation, ErrNotFound, ErrForbidden, etc.
UsecasesRequest.Validate() + Execute()Validate siempre primera línea. Validar OrgID siempre
EntrypointsHTTP ↔ Request translationSin lógica de negocio. Mapea sentinel → HTTP code
RepositoriesGORM impl de providersRow structs con tags GORM acá. Traducen row ↔ entity

Patrón Canónico Usecase

  • Struct CreateXxxRequest con Validate() error — wrappea con providers.ErrValidation
  • Interface CreateXxx con Execute(ctx, req) (result, error)
  • Impl createXxxImpl con deps como providers
  • Constructor NewCreateXxx(deps) CreateXxx

Multi-tenant (OrgID)

  • OrgID en cada Request de usecase, Validate() chequea OrgID != uuid.Nil
  • Cada query filtra por organization_id. RLS en Postgres como última barrera
  • Middleware JWT extrae OrgID del token → context

DI Manual en cmd/

  • cmd/repositories.go: buildRepositories(db) → struct con todos los repos
  • cmd/usecases.go: buildUseCases(repos) → struct con todos los usecases
  • cmd/handlers.go: buildHandlers(ucs) → struct con todos los handlers
  • Lectura completa del grafo de deps en un vistazo

Testing

CapaTipoHerramientas
UsecasesUnit con mockstestify + mocks por provider
RepositoriesIntegrationPostgres real (testcontainers)
HandlersHTTP con usecase mockeadohttptest + testify

Anti-patterns

→ Read references/anti-patterns.md for common architecture violations

Checklist

→ Read references/checklist.md for 11-item architecture compliance checklist

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Plan, design, and implement A/B tests and experiments with statistical rigor. Covers hypothesis frameworks, sample sizing, metrics, and result analysis.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Web/mobile accessibility decision guide: WCAG 2.2 AA, ARIA, keyboard nav, focus management, contrast, testing. Use for: a11y, accessibility, wcag, aria, screen reader, keyboard, contrast.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Generate, iterate, and scale ad creative for paid advertising across Google, Meta, LinkedIn, and X. Covers platform specs, creative frameworks, and quality validation.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Musica interactiva para juegos: layering vertical, re-secuenciacion horizontal, stingers, reglas de transicion con sync points, y mapeo de estados de gameplay a musica. Usar para: musica adaptativa, sistema de musica dinamica, transiciones musicales, combat music.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Design multi-agent systems, create agent architectures, define communication patterns, and build autonomous agent workflows with structured evaluation frameworks.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, response formats, and quality loops.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

SebastianLuser のスキルをすべて見る

このスキルの問題を報告する