Features
Branding
Env-driven product identity and AI identity customization with shared branding config package.
Branding is centralized in @ai/branding and consumed across apps and server logic.
No-code customization
Most branding changes are environment-driven and do not require touching core application logic.
Branding Architecture
packages/branding/src/config.tsreads env and resolves defaultsgetBranding()provides runtime-safe configgetCachedBranding()is available for performance-sensitive read pathsgetServerBranding()is server-side accessor alias
The package resolves:
- app name / short name / tagline
- AI name / identity / greeting
- support and company metadata
- logo fallback initial
- primary color token
- premium tier display name
Environment Variables
NEXT_PUBLIC_APP_NAME="AI Assistant"
NEXT_PUBLIC_APP_NAME_SHORT="Assistant"
NEXT_PUBLIC_APP_TAGLINE="AI-Powered Platform"
APP_AI_NAME="AI Assistant"
APP_AI_IDENTITY="an AI assistant designed to help you with various tasks"
NEXT_PUBLIC_AI_GREETING="Hello! How can I help you today?"
NEXT_PUBLIC_SUPPORT_EMAIL="support@example.com"
NEXT_PUBLIC_COMPANY_NAME="Your Company"
NEXT_PUBLIC_LOGO_INITIAL="A"
NEXT_PUBLIC_PRIMARY_COLOR="#000000"
NEXT_PUBLIC_PREMIUM_TIER_NAME="Prime"Minimal Rebrand Workflow
Update env values
Set branding values in apps/app/.env, apps/admin/.env, and apps/web/.env.
Restart runtime
bun devVerify experience
Check title/header/footer text, AI greeting/identity copy, and premium tier labels.