Archive the differentiated YuXinGu product docs, AI engineering system, design contract, and Go/Vue scaffold. Next execution prioritizes Cece-parity over early innovation (see .ai/product/STRATEGY.md). Co-authored-by: Cursor <cursoragent@cursor.com>
28 lines
671 B
Go
28 lines
671 B
Go
// Package config loads process configuration from environment variables.
|
|
package config
|
|
|
|
import "os"
|
|
|
|
// Config holds runtime settings for the API server.
|
|
type Config struct {
|
|
HTTPAddr string
|
|
DatabaseURL string
|
|
AppEnv string
|
|
}
|
|
|
|
// Load reads configuration from the environment with safe defaults for local dev.
|
|
func Load() Config {
|
|
return Config{
|
|
HTTPAddr: getenv("HTTP_ADDR", ":8080"),
|
|
DatabaseURL: getenv("DATABASE_URL", "postgres://yuxingu:yuxingu@127.0.0.1:5432/yuxingu?sslmode=disable"),
|
|
AppEnv: getenv("APP_ENV", "dev"),
|
|
}
|
|
}
|
|
|
|
func getenv(key, fallback string) string {
|
|
if v := os.Getenv(key); v != "" {
|
|
return v
|
|
}
|
|
return fallback
|
|
}
|