27 lines
1.1 KiB
Plaintext
27 lines
1.1 KiB
Plaintext
---
|
|
alwaysApply: true
|
|
description: Go EVE PI project structure and conventions
|
|
---
|
|
|
|
# Go EVE PI Project Structure
|
|
|
|
This is a Go project for EVE Online PI (Planetary Interaction) management with SSO authentication.
|
|
|
|
## Key Files
|
|
- [main.go](mdc:main.go) - Main entry point, loads configuration from .env file
|
|
- [esi_sso.go](mdc:esi_sso.go) - EVE SSO authentication implementation
|
|
- [db.go](mdc:db.go) - Database abstraction layer with high-level methods
|
|
|
|
## Project Conventions
|
|
- Uses `logger "git.site.quack-lab.dev/dave/cylogger"` for all logging
|
|
- Database operations use high-level methods like `GetTokenForCharacter()` and `SaveTokenForCharacter()`
|
|
- SSO interface: `GetToken(ctx, characterName)` returns access token for character
|
|
- Configuration loaded from .env file (ESI_CLIENT_ID, ESI_REDIRECT_URI, ESI_SCOPES, DB_PATH)
|
|
|
|
## Logging Standards
|
|
- Use `logger.Info()` for important business events
|
|
- Use `logger.Debug()` for detailed debugging information
|
|
- Use `logger.Warning()` for warning conditions
|
|
- Use `logger.Error()` for error conditions
|
|
- Never use `fmt.Printf` - always use the logger
|
|
- Avoid redundant log lines right next to each other |