AgentSkillsCN

monolith-database-and-services

适用于开展依赖于应用配置与模型的持久化设置、迁移,以及服务集成(如邮件)时使用。

SKILL.md
--- frontmatter
name: monolith-database-and-services
description: Use when working on persistence setup, migrations, and service integrations (like email) that depend on app config and models.

Monolith Database and Services

Use this skill when

  • Modifying DB initialization or model migration behavior.
  • Implementing external integrations in app/services/.

Database flow

  • Initialized by db.InitDB().
  • Uses GORM with SQLite driver by default.
  • AutoMigrate runs for registered models at startup.

Model registration rule

Any new model must be included in db/db.go AutoMigrate call. The model generator handles this automatically.

Services pattern

  • Service code belongs under app/services/ (e.g., app/services/email).
  • Keep HTTP controllers thin; push external API logic into services.
  • Source environment settings from app/config/config.go.

Email specifics

  • Uses MAILGUN_DOMAIN, MAILGUN_API_KEY, and MAILGUN_API_BASE.
  • Missing mail variables are warned by config init.