Multi-Brand Themes Tutorial
Learn how to use Git branches to manage multiple brand themes in the same design system.
Time: 15 minutes Difficulty: Intermediate
The Challenge
You need to maintain multiple brand themes:
- Brand A - Blue primary, rounded corners
- Brand B - Green primary, sharp corners
- Brand C - Purple primary, soft shadows
The Solution: Branch Per Theme
Use Git branches to store different token values:
main (base tokens)
├── theme/brand-a
├── theme/brand-b
└── theme/brand-c
Step 1: Set Up Base Tokens
On main branch, create your base token structure:
{
"brand": {
"primary": { "$value": "#000000", "$type": "color" },
"secondary": { "$value": "#666666", "$type": "color" }
},
"radius": {
"sm": { "$value": 4, "$type": "number" },
"md": { "$value": 8, "$type": "number" }
}
}
Step 2: Create Theme Branches
In GitFig:
- Click branch selector
- Click "Create new branch"
- Name it
theme/brand-a - Repeat for
brand-bandbrand-c
Step 3: Customize Each Theme
Switch to Brand A
- Select
theme/brand-abranch - Pull tokens
- Modify variables:
brand/primary→#0066FFradius/sm→8
- Push with message "Brand A: Blue theme"
Switch to Brand B
- Select
theme/brand-bbranch - Pull tokens
- Modify variables:
brand/primary→#00AA55radius/sm→0
- Push with message "Brand B: Green theme"
Step 4: Switch Between Themes
To preview different themes:
- Click branch selector
- Choose desired theme branch
- Pull to load those token values
- Your designs update automatically
Best Practices
- Keep
mainas the neutral base - Name branches consistently (
theme/name) - Document theme differences in commit messages
- Use PRs to review theme changes