feat: white-label branding system with theming and CLI setup#116
Draft
erdemyerebasmaz wants to merge 13 commits intomainfrom
Draft
feat: white-label branding system with theming and CLI setup#116erdemyerebasmaz wants to merge 13 commits intomainfrom
erdemyerebasmaz wants to merge 13 commits intomainfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
8ae6b56 to
e22f92e
Compare
ab05f5f to
358d6b5
Compare
bfe04fb to
c20875e
Compare
c20875e to
adba42e
Compare
adba42e to
36b1725
Compare
Create src/config/brand.ts with all brand values (name, logo, tagline, icons, domains, log prefixes). Replace hardcoded brand strings across 15 files with brand.* imports. To white-label the app, only brand.ts and static assets need to change. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Simplify brand.ts: 17 fields → 6 core + theme object, derive the rest - Remove "Wallet" from all derived strings - Add theme.colors and theme.fonts to brand config - Create theme injection system (CSS variables from brand config at startup) - Use Tailwind RGB variable pattern for opacity utility support (70+ usages) - Fix all hardcoded brand colors in SVGs and components - Add Vite plugin for build-time HTML brand injection (splash, meta tags, fonts) - Add `npm run brand:setup` CLI to generate icons + manifest from brand config - Rename all assets to generic filenames (no brand prefix) - Fix DM Sans font bug in index.css Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace basic icon-generation script with full interactive CLI wizard that asks for brand name, colors, fonts and generates brand.ts, PWA icons, and manifest.json. Supports --gen flag for non-interactive regeneration from existing brand.ts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
More descriptive export name for the slug-based identifiers used across the app. Brand.ts template now includes a header noting it is auto-generated by the wizard. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Version is an app concern, not brand identity. Use Vite's `define` to inject __APP_VERSION__ from package.json at build time. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Only auto-derive primaryLight/accentLight via lightenHex when the user changes the base color. When keeping the default, use the curated DEFAULTS value instead. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Warns if no logo exists at public/assets/logo.png and asks the user to confirm before continuing. Defaults to N so they can place the logo first. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Clearer intro explaining bracket defaults, friendlier section headers, and more descriptive prompt labels. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace while(true) with proper loop condition in askColor. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
esbuild doesn't support `import ... with { type: 'json' }` syntax.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
src/config/brand.ts) controls the entire app's look and feel — name, colors, fonts, logonpm run brand:setupwizard walks you through customization and generates app iconspackage.jsonautomaticallyIntegrator workflow
Re-run
npm run brand:setup -- --gento regenerate icons from existing config.Future improvements
Test plan
brand.theme.colors.primaryupdates all accents (buttons, spinners, glows, opacity variants)brand.theme.fonts.displayupdates UI fontnpm run brand:setupgenerates icons + manifest from logonpm run buildproduces correct meta tags and font URL in index.htmlnpx tsc --noEmitpasses🤖 Generated with Claude Code