# Development ## Prerequisites - Go 1.26.2 (pinned in `mise.toml`) - `mise` (https://mise.jdx.dev) — run `mise install` to install toolchain ## Build ```bash go build ./... go build -o mygo . ``` ## Test ```bash go test ./... go test -v -run TestName ./internal/... ``` ## Lint & Format ```bash go vet ./... go fmt ./... ``` ## Dependencies ```bash go mod tidy # after adding/removing imports ``` ## Config Server config is loaded via viper from `config.yaml` (defaults in `internal/config/load.go`). ```yaml server: host: 0.0.0.0 port: 10086 database: driver: sqlite3 sqlite: path: data/mygo.db storage: driver: local local: path: data/files jwt: secret: changeme-in-production access_ttl: 15m refresh_ttl: 168h ``` Environment variables use `MYGO_` prefix with underscore separators: `MYGO_SERVER_PORT=8080`, `MYGO_JWT_SECRET=...`