Development Guide
Project layout, dev commands, and where features live.
Stack
- Backend: Go (Gin) in
api/, services inservices/, DB access indatabase/. - Frontend: React + Vite + TanStack Query + Zustand in
ui/. - Docs: Fumadocs (Next.js) in
docs/docs.
Commands
# Backend
go run main.go
# Frontend
cd ui && npm install && npm run dev
# Docs
cd docs/docs && npm install && npm run devAPI highlights
- Routes defined in
api/server.go. - Handlers under
api/handlers/(middlewares, services, resources, plugins, mtls, traefik). - Config merge logic in
services/config_proxy.go. - Data source management in
services/config_manager.go.
UI highlights
- State:
ui/src/stores/* - API client:
ui/src/services/api.ts - Feature pages:
ui/src/components/* - Theme & layout:
ui/src/components/common,ui/src/components/ui
Repo layout (condensed)
Contributions
- Follow Go fmt/linters; keep handlers thin and service logic in
services/. - Frontend: favor TanStack Query for data, Zustand for UI state; keep API types in
ui/src/types. - Add docs in this Fumadocs site for new features to keep operators aligned.
Screenshot placeholder — repository layout or dev workflow diagram.