🧠 OX - Unified Naming Framework
Version: 1.0
Last Updated: November 2025
Status: Active
Core Principle
Use oxagry as the base identifier everywhere. Add separators only when naming conventions require them for additional descriptive words.
Quick Reference Table
| Context | Rule | Example |
|---|---|---|
| Brand Name | Title Case | OX Agry |
| Domain | lowercase, no separator | oxagry.com |
| Subdomains | lowercase, dot separator | api.oxagry.com, app.oxagry.com |
| Social Handle | lowercase, no separator, @ prefix | @oxagry |
| Social Page Slug / URI | lowercase, - for additional words | /oxagry, /oxagry-blog |
| System / Account / Code Identifier | lowercase, _ for additional words | oxagry, oxagry_user |
| Repository Name | lowercase, - for additional words | oxagry-api, oxagry-web |
| Environment Variable Prefix | UPPERCASE, _ separator | OXAGRY_API_KEY, OXAGRY_DB_HOST |
| Mobile Package / Bundle ID | lowercase, . separator | com.oxagry.app, com.oxagry.admin |
| Database / Table Names | lowercase, _ separator | oxagry_users, oxagry_products |
| API Endpoints | lowercase, - separator | /api/oxagry/v1/users |
| Cloud Resources | lowercase, - separator | oxagry-prod-bucket, oxagry-staging-db |
| Docker Images | lowercase, - separator, : for tags | oxagry-api:v1.0, oxagry-web:latest |
| Kubernetes Resources | lowercase, - separator | oxagry-deployment, oxagry-service |
| File / Folder Names | lowercase, - separator | oxagry-config/, oxagry-utils.js |
| CSS Classes | lowercase, - separator | .oxagry-button, .oxagry-card |
| JavaScript / TypeScript | camelCase for variables/functions | oxagryConfig, oxagryUserService |
| Python | snake_case for variables/functions | oxagry_config, oxagry_user_service |
| Test Files | lowercase, language convention | oxagry_test.py, oxagry.test.js |
Detailed Guidelines
1. Brand & Marketing
Brand Name
- Format: Title Case
- Example: OX Agry
- Usage: Official communications, press releases, marketing materials
Domain
- Format: lowercase, no separator
- Example: oxagry.com
- Usage: Primary website domain
Subdomains
- Format: lowercase, dot separator
- Examples:
- api.oxagry.com
- app.oxagry.com
- staging.oxagry.com
- docs.oxagry.com
2. Social Media
Social Handles
- Format: lowercase, no separator, @ prefix
- Example: @oxagry
- Platforms: Twitter, Instagram, TikTok, LinkedIn, etc.
Social Page Slugs / URIs
- Format: lowercase,
-for additional words - Examples:
- /oxagry
- /oxagry-blog
- /oxagry-careers
3. Code & Development
System / Account Identifiers
- Format: lowercase,
_for additional words - Examples:
- oxagry
- oxagry_user
- oxagry_admin
Repository Names
- Format: lowercase,
-for additional words - Examples:
- oxagry-api
- oxagry-web
- oxagry-mobile
- oxagry-admin-dashboard
Environment Variables
- Format: UPPERCASE,
_separator - Examples:
- OXAGRY_API_KEY
- OXAGRY_DB_HOST
- OXAGRY_DB_PASSWORD
- OXAGRY_STRIPE_SECRET
Database Names & Tables
- Format: lowercase,
_separator - Database: oxagry, oxagry_production
- Tables: oxagry_users, oxagry_products, oxagry_orders
API Endpoints
- Format: lowercase,
-separator in paths - Examples:
- /api/oxagry/v1/users
- /api/oxagry/v1/user-profiles
- /api/oxagry/v2/product-catalog
4. Programming Language Conventions
JavaScript / TypeScript
- Variables & Functions: camelCase
- Classes: PascalCase
- Constants: UPPER_SNAKE_CASE
Examples:
// Variables & Functions
const oxagryConfig = {};
function oxagryUserService() {}
const oxagryApiClient = new OxagryApiClient();
// Classes
class OxagryUserManager {}
// Constants
const OXAGRY_MAX_RETRIES = 3;
Python
- Variables & Functions: snake_case
- Classes: PascalCase
- Constants: UPPER_SNAKE_CASE
Examples:
# Variables & Functions
oxagry_config = {}
def oxagry_user_service():
pass
# Classes
class OxagryUserManager:
pass
# Constants
OXAGRY_MAX_RETRIES = 3
Go
- Exported: PascalCase
- Unexported: camelCase
Examples:
// Exported
type OxagryUserService struct {}
func OxagryProcessData() {}
// Unexported
var oxagryConfig map[string]string
func oxagryValidateInput() {}
5. Infrastructure & DevOps
Cloud Resources (AWS, GCP, Azure)
- Format: lowercase,
-separator, environment suffix - Examples:
- oxagry-prod-bucket
- oxagry-staging-db
- oxagry-dev-api-gateway
- oxagry-prod-lambda-handler
Docker Images
- Format: lowercase,
-separator,:for tags - Examples:
- oxagry-api:v1.0
- oxagry-web:latest
- oxagry-worker:staging
Kubernetes Resources
- Format: lowercase,
-separator - Examples:
- oxagry-deployment
- oxagry-service
- oxagry-ingress
- oxagry-configmap
6. Files & Folders
General Files/Folders
- Format: lowercase,
-separator - Examples:
- oxagry-config/
- oxagry-utils.js
- oxagry-helpers.py
- oxagry-styles.css
Test Files
- Format: Follow language convention
- Examples:
- JavaScript: oxagry.test.js, oxagry.spec.ts
- Python: oxagry_test.py, test_oxagry.py
7. Frontend & Design
CSS Classes
- Format: lowercase,
-separator (BEM notation optional) - Examples:
- .oxagry-button
- .oxagry-card
- .oxagry-navbar
- .oxagry-card__header (BEM)
Component Names (React, Vue, etc.)
- Format: PascalCase
- Examples:
- OxagryButton
- OxagryUserCard
- OxagryNavigation
8. Mobile Development
iOS Bundle ID
- Format: reverse domain notation
- Example: com.oxagry.app
Android Package Name
- Format: reverse domain notation
- Example: com.oxagry.app
App Store Names
- Format: Title Case
- Example: OX Agry
Environment Suffixes
For resources that need environment distinction:
| Environment | Suffix | Example |
|---|---|---|
| Production | -prod | oxagry-prod-db |
| Staging | -staging | oxagry-staging-api |
| Development | -dev | oxagry-dev-bucket |
| Testing | -test | oxagry-test-server |
Versioning Convention
API Versioning
- Format:
/v{number} - Examples: /api/oxagry/v1, /api/oxagry/v2
Package/Library Versioning
- Format: Semantic Versioning (vMAJOR.MINOR.PATCH)
- Examples: v1.0.0, v2.1.3, v0.5.0-beta
Docker Tags
- Format: vMAJOR.MINOR or semantic labels
- Examples: v1.0, v2.1, latest, staging
Separator Guide
| Separator | When to Use | Examples |
|---|---|---|
| none | Brand identity, domains, social handles | oxagry, oxagry.com, @oxagry |
- (hyphen) | URLs, repos, cloud resources, files, CSS | oxagry-api, oxagry-prod-bucket, .oxagry-button |
_ (underscore) | Database names, Python code, environment variables | oxagry_users, oxagry_config, OXAGRY_API_KEY |
. (dot) | Domains, package IDs, namespaces | api.oxagry.com, com.oxagry.app |
| camelCase | JavaScript/TypeScript variables | oxagryConfig, oxagryUserService |
| PascalCase | Classes, components | OxagryButton, OxagryUserManager |
Anti-Patterns (What NOT to Do)
❌ Don't mix separators inconsistently:
- Bad: oxagry_api (repo), oxagry-users (database)
- Good: oxagry-api (repo), oxagry_users (database)
❌ Don't use separators in the base brand identifier:
- Bad: ox-agry.com, ox_agry_api
- Good: oxagry.com, oxagry-api
❌ Don't ignore language conventions:
- Bad: oxagry-config (JavaScript variable)
- Good: oxagryConfig (JavaScript variable)
❌ Don't use uppercase in domains/URLs:
- Bad: OxAgry.com, /OxAgry/Users
- Good: oxagry.com, /oxagry/users
❌ Don't use spaces in technical identifiers:
- Bad: ox agry api, ox agry_users
- Good: oxagry-api, oxagry_users
Final Takeaway
The Four Core Patterns:
oxagry— for external / marketing / socialoxagry-*— for URLs and repo namesoxagry_*— for internal configs and identifierscom.oxagry.*— for mobile packages
Remember: Keep oxagry as your base everywhere. Add separators and additional words only when context requires them.
Contributing to This Framework
This framework is a living document. If you identify:
- New contexts that need naming rules
- Improvements to existing rules
- Inconsistencies or ambiguities
Please propose changes through the team's standard review process.
Questions? Contact the Platform Team or open an issue in the oxagry-docs repository.