# SCRATCHPAD: UI Kit Showcase Extension ## Key Discoveries ### Extension Structure (from softwareone-ext) - Extensions live in `ee/extensions/` directory - Sample extensions go in `ee/extensions/samples/` - Manifest requires: `name`, `publisher`, `version`, `runtime: "wasm-js@1"`, `ui` config - UI iframe entry point: `ui/index.html` - Build output goes to `ui/dist/iframe/main.js` ### UI Kit Location - Package: `packages/ui-kit/` - Import as: `@alga/ui-kit` (via vite alias) - Vite alias required: `'@alga/ui-kit': path.resolve(__dirname, '..', '..', 'server', 'packages', 'ui-kit', 'src')` ### Theme Variable Inconsistency (CRITICAL) UI Kit uses `--alga-*` variables, but main app uses `--color-*` variables: | UI Kit Variable | Main App Equivalent | |-----------------|---------------------| | `--alga-bg` | `--color-background` | | `--alga-fg` | `--color-text-900` | | `--alga-border` | `--color-border-200` | | `--alga-primary` | `--color-primary-500` | | `--alga-muted` | `--color-border-100` | | `--alga-muted-fg` | `--color-text-500` | | `--alga-danger` | `--color-accent-red` or similar | | `--alga-warning` | `--color-accent-orange` | | `--alga-success` | `--color-accent-green` | | `--alga-radius` | Hardcoded in app (typically 6-8px) | **Solution**: Create a ThemeBridge component that injects `