@repo/brand
This package serves as the single source of truth for our brand identity, containing static visual assets (logos, favicons) and brand information.
📁 Public Assets
Place your raw, static brand assets inside the public/ directory:
logo.png— Primary brand logofavicon.svg— Browser favicon
How Assets are Distributed
Due to monorepo constraints, frameworks like Vite or Next.js do not natively serve static assets from external packages. To solve this, these files are automatically copied into the consuming apps' public/brand/ directories via the scripts/copy-brand-assets.js script.
This makes them directly available in the browser at:
/brand/logo.png/brand/favicon.svg
🚀 Usage in Consuming Apps
1. Automate the Copy Process
To ensure the consuming app always has the latest brand assets, add the copy script to the app's package.json (e.g., in apps/web/package.json):
"scripts": {
"copy:brand": "node ../../packages/brand/scripts/copy-brand-assets.js",
"dev": "pnpm run copy:brand && vite --clearScreen false",
"build": "pnpm run copy:brand && tsc && vite build"
}