Team Go Standards
Befolge bei der Entwicklung von Go-Code in diesem Repository die Team-Konventionen. Antworte und schreibe Code-Kommentare auf Chinesisch. Die detaillierten Standards in references/ werden bei Bedarf gemäß dem untenstehenden Index gelesen – lies nicht alle auf einmal, sondern nur die für die aktuelle Aufgabe relevante Datei.
Wann was lesen (Index)
| Was du tust | Lese dies |
|---|---|
| Beliebigen Go-Code schreiben (Grundlagen: Versionen, Logging, Fehler, Nebenläufigkeit, Benennung …) | references/rules.md ← standardmäßig zuerst lesen |
CLI-Befehle unter cmd/** entwerfen/schreiben (cobra + gox/cli) | references/cli.md |
Konfigurationsladung (config/**, main.go/config.go, bootstrap/, gox/config) | references/config.md |
Datenbank-Migrationen / Schema (migrations/, dbmigrate/, store.go, *migrate*, *migration*, *schema*, goose) | references/db-migrations.md |
Projekt-Grundgerüst (Makefile, .gitignore, .editorconfig, .golangci-lint-version, .github/workflows/*.yml) | references/scaffold.md |
Kernregeln (höchste Priorität; Details in rules.md)
- Go 1.26+; JSON/Protobuf-Felder verwenden snake_case.
- Logging: gox/log am Einstiegspunkt initialisieren, log/slog in Geschäftslogik verwenden; niemals mit fmt loggen.
- Konfiguration: ausschließlich gox/config verwenden; niemals direkt viper oder rohes
os.Getenvin Geschäftslogik. - Alle externen Aufrufe müssen ein Timeout setzen (intern 10s, extern 30s).
- Keine paketweiten veränderlichen globalen Zustände; Fehler mit einem Paket-Präfix umschließen.
Dies sind sanfte Leitlinien während der Sitzung; die endgültige Durchsetzung erfolgt durch das
golangci-lint/ CI / PR-Review des Repositories.