Skip to main content

🧠 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

ContextRuleExample
Brand NameTitle CaseOX Agry
Domainlowercase, no separatoroxagry.com
Subdomainslowercase, dot separatorapi.oxagry.com, app.oxagry.com
Social Handlelowercase, no separator, @ prefix@oxagry
Social Page Slug / URIlowercase, - for additional words/oxagry, /oxagry-blog
System / Account / Code Identifierlowercase, _ for additional wordsoxagry, oxagry_user
Repository Namelowercase, - for additional wordsoxagry-api, oxagry-web
Environment Variable PrefixUPPERCASE, _ separatorOXAGRY_API_KEY, OXAGRY_DB_HOST
Mobile Package / Bundle IDlowercase, . separatorcom.oxagry.app, com.oxagry.admin
Database / Table Nameslowercase, _ separatoroxagry_users, oxagry_products
API Endpointslowercase, - separator/api/oxagry/v1/users
Cloud Resourceslowercase, - separatoroxagry-prod-bucket, oxagry-staging-db
Docker Imageslowercase, - separator, : for tagsoxagry-api:v1.0, oxagry-web:latest
Kubernetes Resourceslowercase, - separatoroxagry-deployment, oxagry-service
File / Folder Nameslowercase, - separatoroxagry-config/, oxagry-utils.js
CSS Classeslowercase, - separator.oxagry-button, .oxagry-card
JavaScript / TypeScriptcamelCase for variables/functionsoxagryConfig, oxagryUserService
Pythonsnake_case for variables/functionsoxagry_config, oxagry_user_service
Test Fileslowercase, language conventionoxagry_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:

EnvironmentSuffixExample
Production-prodoxagry-prod-db
Staging-stagingoxagry-staging-api
Development-devoxagry-dev-bucket
Testing-testoxagry-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

SeparatorWhen to UseExamples
noneBrand identity, domains, social handlesoxagry, oxagry.com, @oxagry
- (hyphen)URLs, repos, cloud resources, files, CSSoxagry-api, oxagry-prod-bucket, .oxagry-button
_ (underscore)Database names, Python code, environment variablesoxagry_users, oxagry_config, OXAGRY_API_KEY
. (dot)Domains, package IDs, namespacesapi.oxagry.com, com.oxagry.app
camelCaseJavaScript/TypeScript variablesoxagryConfig, oxagryUserService
PascalCaseClasses, componentsOxagryButton, 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:

  1. oxagry — for external / marketing / social
  2. oxagry-* — for URLs and repo names
  3. oxagry_* — for internal configs and identifiers
  4. com.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.