🏷️ GAMES-Reborn Naming Conventions
To maintain absolute enterprise consistency across the organization, all repositories, branches, and codebases MUST follow this strict naming pattern.
📦 Repository Patterns
We use a rigid prefix system so developers immediately know the scope of a repository.
- core-[service]: Foundational platform microservices that all games rely on.
- Examples: core-auth, core-shared, core-tools
- game-[title]: Isolated game-specific server implementations and reverse-engineering logic.
- Examples: game-mu3, game-lineagew, game-aion2
- web-[component]: Frontend, CMS, and user-facing panels.
- Examples: web-platform, web-admin
- infra-[component]: DevOps, IaC, and DRM tooling.
- Examples: infra-setup, infra-drm
(Note: We will gradually rename our current repos, e.g. gr-universal-auth -> core-auth, to perfectly match this standard).
🌿 Branching Patterns (GitFlow)
Never push directly to main unless it's a critical hotfix.
- main: Always production-ready, compiled, and stable.
- eat/[name]: For new functionality (e.g., eat/stripe-webhooks).
- ix/[name]: For patches (e.g., ix/memory-leak).
- docs/[name]: For documentation updates.
🦀 Code Level (Rust Standard)
Since the backend is standardized on Rust, we strictly enforce Rust idioms:
Crates/Packages: snake_case (e.g., games_reborn_auth)
Structs/Enums: PascalCase (e.g., PlayerAccount, GameServerConfig)
Functions/Variables: snake_case (e.g., erify_token(), max_players)
Constants: SCREAMING_SNAKE_CASE (e.g., MAX_CONNECTIONS)
info-[target]: Dedicated documentation and knowledge-base repositories for large-scale projects (e.g., info-game-mu3, info-network). Keeps source code repos clean from massive binary doc assets.