Skip to content

Adopt shadcn-svelte and master governance templates #30

@poodle64

Description

@poodle64

Summary

Thoth uses SvelteKit but has hand-rolled components with a custom CSS token system (--color-accent, --color-bg-primary, etc.) instead of using shadcn-svelte. This is redundant effort — shadcn-svelte provides the same components with proper accessibility, consistent API, and palette switching.

Required Changes

1. Adopt shadcn-svelte (bits-ui v2)

  • Install shadcn-svelte (bits-ui, tailwind-variants, clsx, tailwind-merge)
  • Replace custom components in src/lib/components/ with shadcn-svelte equivalents
  • Migrate from custom token naming (--color-accent, --color-bg-primary) to shadcn conventions (--primary, --background, etc.)
  • Convert hex colours to OKLCH format

2. Add "Scribe's Amber" palette to master showcase

  • Map Thoth's Scribe's Amber palette (#D08B3E accent on #1C1B1A charcoal) to shadcn token format with OKLCH values
  • Add as data-palette='scribes-amber' in the master showcase's app.css
  • Dark-primary palette (no light variant needed initially)

3. Adopt master governance templates

  • Set up symlinks to master rules, commands, hooks, skills, docs
  • Create 00-project-foundations.md project rule
  • Adopt design language template referencing "Scribe's Amber" palette from showcase
  • Add .gitignore entries for symlinks

Context

All active sub-projects are standardising on shadcn-svelte with palettes curated in the master showcase (dev/shadcn-showcase/). Projects pick a palette from the showcase and copy the OKLCH values — no runtime dependency on master.

See also: Milton #170, Godswood #242, Claudette #28, Bragi #132

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority:highImportant, blocks functionality

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions