Right now brand mark (`brandLead` + `brandLabel`), font choices, and footer URL are configured per-generation. For a team workflow, they should come from a single brand-kit file.
What this looks like
- Define a `BrandKit` type in a new `src/lib/brand-kit.ts`:
```ts
export type BrandKit = {
name: string;
brandLead: string;
brandLabel: string;
footerUrl: string;
palette: { primary: string; secondary: string; accent: string };
fonts: { headline: string; body: string };
voice: { tone: string; bannedWords: string[] };
};
```
- Read `brand-kit.json` from the project root if present; otherwise use the built-in default.
- Pipe brand-kit values into every composer template's defaults (currently hardcoded in `src/lib/composers.ts`).
- Add a small "Brand kit" panel to the Studio that shows the active kit + a "Switch" dropdown if multiple JSON files exist.
- Ship an example `brand-kit.example.json` in the repo root.
Why this matters
This is the single biggest "team" feature for the open-source build. Everyone who clones the repo is going to want to rip out our brand defaults and put theirs in.
Right now brand mark (`brandLead` + `brandLabel`), font choices, and footer URL are configured per-generation. For a team workflow, they should come from a single brand-kit file.
What this looks like
```ts
export type BrandKit = {
name: string;
brandLead: string;
brandLabel: string;
footerUrl: string;
palette: { primary: string; secondary: string; accent: string };
fonts: { headline: string; body: string };
voice: { tone: string; bannedWords: string[] };
};
```
Why this matters
This is the single biggest "team" feature for the open-source build. Everyone who clones the repo is going to want to rip out our brand defaults and put theirs in.