feat: scripts/sync-libs.mjs + docs/LIBS.md

Generates a compact lib catalog from the live crema-manifest, sorted into
"wired in this project" and "available to add" tables. The development LLM
(Claude Code, Cursor, etc.) reads this when answering "is there a lib for
X" — saves it from re-deriving the answer or making one up.

The script reads the project's tsconfig.json paths (for wired libs) and
app/app.css @import lines (for the active theme), clones the manifest, and
emits docs/LIBS.md with stable formatting.

CLAUDE.md updated to point at LIBS.md (was pointing directly at the live
manifest URL — slower for an LLM that wants a quick scan).

Run after `crema add <name>` or whenever you want a refresh:

  npm run sync-libs

Auto-detects:
- Wired libs from tsconfig.json @crema/* paths
- Active theme from app/app.css `@import "../../lib-theme-*/theme.css"` lines

Output is intentionally compact — terse one-line descriptions, alpha sort,
no front-matter. ~9KB for the current 5-wired / 50-available split.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
jules
2026-04-27 18:47:40 +10:00
parent 286e2daf95
commit 8cd58052dd
4 changed files with 322 additions and 1 deletions

9
.boot.log Normal file
View File

@@ -0,0 +1,9 @@
> dev
> react-router dev
Port 5173 is in use, trying another one...
➜ Local: http://localhost:5174/
➜ Network: use --host to expose
6:37:06 pm [vite] (client) ✨ new dependencies optimized: lucide-react, @base-ui/react/button, class-variance-authority, @base-ui/react/input, @base-ui/react/avatar, @base-ui/react/dialog, clsx, tailwind-merge, @base-ui/react/menu, react-markdown
6:37:06 pm [vite] (client) ✨ optimized dependencies changed. reloading