Skip to content

Brand kit JSON — one config file, every composer reads it #4

@manujajay

Description

@manujajay

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

  1. 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[] };
    };
    ```
  2. Read `brand-kit.json` from the project root if present; otherwise use the built-in default.
  3. Pipe brand-kit values into every composer template's defaults (currently hardcoded in `src/lib/composers.ts`).
  4. Add a small "Brand kit" panel to the Studio that shows the active kit + a "Switch" dropdown if multiple JSON files exist.
  5. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    composerSVG overlay templateenhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions