# spark-server Spark IM modular monolith. Architecture: [docs/architecture-v3.md](docs/architecture-v3.md). - Go 1.26 - Gin HTTP on `127.0.0.1:8080` - gnet TCP on `127.0.0.1:9000` (EventLoop + TaskPool). gnet v2.10 has no built-in TLS; production terminates TLS at Nginx or a PROXY+TLS wrapper in front of gnet. Loopback is not public. - Public entry is Nginx `:443` only (SNI split) ```bash go build -o bin/spark-server ./cmd/server ./bin/spark-server -config configs/config.yaml make lint ``` Agent conventions live in `.cursor/rules` and `.cursor/skills/spark-im-v3`. Lint conventions live in `.golangci.yaml`.