This document outlines the standardized naming conventions for namespaces, package identifiers, and other naming structures across all Bayat projects.
For C# projects, including Unity games and libraries:
-
Games:
Bayat.Games.{GameName}
- Example:
Bayat.Games.Twins
- Optional Game suffix:
Bayat.Games.TwinsGame
- Example:
-
Game Libraries:
Bayat.Games.{Category}
- Example:
Bayat.Games.UI
,Bayat.Games.Core
- Example:
-
Core Libraries:
Bayat.{Category}
- Example:
Bayat.Core
,Bayat.UI
,Bayat.Tools
- Example:
-
Platform-Specific:
Bayat.{Platform}.{Category}
- Example:
Bayat.Unity.UI
,Bayat.Unreal.Core
- Example:
For JavaScript/TypeScript projects:
-
Packages:
@bayat/{category}
- Example:
@bayat/ui
,@bayat/core
- Example:
-
Platform-Specific:
@bayat/{platform}-{category}
- Example:
@bayat/react-components
,@bayat/vue-forms
- Example:
For Rust projects:
-
Main Libraries:
bayat::{category}
- Example:
bayat::core
,bayat::utils
- Example:
-
Applications:
bayat::apps::{appname}
- Example:
bayat::apps::taskmanager
- Example:
-
Tools:
bayat::tools::{toolname}
- Example:
bayat::tools::bundler
- Example:
-
Unity Packages:
io.bayat.unity.{category}
- Example:
io.bayat.unity.ui
,io.bayat.unity.tools
- Example:
-
Game Bundles:
io.bayat.games.{gamename}
- Example:
io.bayat.games.twins
- Example:
-
Application Bundles:
io.bayat.apps.{appname}
- Example:
io.bayat.apps.taskmanager
,io.bayat.apps.dashboard
- Example:
-
Tauri Plugins:
io.bayat.tauri.{plugin}
- Example:
io.bayat.tauri.storage
- Example:
-
iOS Applications:
io.bayat.ios.{appname}
- Example:
io.bayat.ios.twins
- Example:
-
Android Applications:
io.bayat.android.{appname}
- Example:
io.bayat.android.twins
- Example:
- Web Applications:
io.bayat.web.{appname}
- Example:
io.bayat.web.dashboard
- Example:
- npm Packages:
@bayat/{category}
- Example:
@bayat/ui
,@bayat/core
- Example:
- Rust Crates:
bayat-{category}
- Example:
bayat-core
,bayat-utils
- Example:
-
C# Files: PascalCase matching class name
- Example:
PlayerController.cs
- Example:
-
JavaScript/TypeScript Files: kebab-case for utilities, PascalCase for components
- Example:
api-client.ts
,UserProfile.tsx
- Example:
-
Rust Files: snake_case
- Example:
database_manager.rs
- Example:
-
Unity Projects: PascalCase for main directories
- Example:
Assets/Scripts/Player/
- Example:
-
Web Projects: kebab-case for directories
- Example:
src/components/user-profile/
- Example:
-
Rust Projects: snake_case for directories
- Example:
src/database/queries/
- Example:
- All new projects MUST follow these naming conventions
- Existing projects should be migrated to these conventions during major updates
- Package identifiers should be consistent across all platforms for the same product
- Documentation should reference these conventions explicitly
Version | Date | Description |
---|---|---|
1.0 | 2025-04-06 | Initial version |