English | 简体中文 | 繁體中文 | 한국어 | 日本語 | Tiếng Việt | Español | العربية
Simple, vibe-coding-friendly admin and API starter for pure Go teams.
Templ UI + HTMX + Fiber v3 + GORM + Goose + go-i18n + Swagger
Features | Stack | How to Run | AI Workflow
Pure Go admin starter for teams that want server-rendered pages, documented APIs, and a clean project structure without a heavy admin framework.
- Frontend and backend in Pure Go flow
- Vibe-coding-friendly structure for routes, pages, models, migrations, and translations
- ShadCN-like UI with Templ UI
- React-like component workflow in Go with
templ - HTMX-powered partial rendering without React or Vue
- Plain API server with Swagger docs at
/openapi/swagger - Built-in auth, RBAC, i18n, pagination, and CRUD examples
- PostgreSQL + GORM + Goose + seed scripts
- No Node or npm required for runtime
This repo sits between raw Go web apps and heavy admin frameworks:
- simpler than Go + Javascript(React/Vue) stacks
- less opinionated than config-driven admin frameworks
- complete enough to ship common admin features fast
- flexible enough to keep writing normal Go
- Frontend: Templ UI + HTMX
- Web: Fiber v3
- Auth: pkgz/auth
- RBAC: casbin
- DB: PostgreSQL 18 + GORM + goose
- i18n: go-i18n
- OpenAPI: swaggo
- auth pages
- dashboard and inbox
- product, SKU, and inventory management
- user, role, and permission management
- English, Simplified Chinese, and Traditional Chinese translations
- admin layout and reusable UI blocks
- migration and seed workflow
- Swagger UI
![]() |
![]() |
![]() |
![]() |
| Home Screen | Login | Products | Users |
Fastest path:
docker compose up --build- app:
http://localhost:3000 - Swagger UI:
http://localhost:3000/openapi/swagger - dev login:
superadmin01/password01
Docker Compose will start Postgres, run migrations, run seeds, and boot the app.
For local iteration, use the VS Code task dev.
Useful tasks:
templ genGoose UpGoose DownGoose StatusGORM Seed
- Start with llm.md
- Use the docs in
skills/for common tasks - Let AI edit source files, then regenerate
templ, GORM, or Swagger output when needed - Follow existing feature modules instead of inventing new patterns
This is both:
- an admin UI server
- a documented API server
Routes live under internal/admsvr/router, and Swagger is served from /openapi/*.



