Components library: /components page, component thing kind, 1000-component catalog - #291
Open
lopugit wants to merge 18 commits into
Open
Components library: /components page, component thing kind, 1000-component catalog#291lopugit wants to merge 18 commits into
lopugit wants to merge 18 commits into
Conversation
…ponent catalog - Drawer: Schemas moves out of Search into its own top-level item; new top-level Components item (🧩, /components). - New first-class `component` thing kind: registry schema + sanitizer (arg descriptors, savedArgs snapshots, render template reusing the schema render gate), reserved `component-` shareId prefix, projection pin. - /components (ComponentsBrowsePage): live template rendering through the sanitising allowlist renderers, per-card args tester (ttArg/ttMap/ttIf/ ttMerge/ttRepeat DSL resolved client-side), hidden Schema expander, react/ save decoration, and "Save version" → user-owned component thing. - API: GET /api/v1/components/browse (newest/oldest/popular/q + lib/category filters, cursor pagination) and admin POST/GET /api/v1/admin/components/seed (idempotent, self-healing system seed; fail-closed rate limit), registered in route file + import map + apiEndpointDocs. - components-db/: 1000-component folder database (25 archetypes × 8 libraries × 5 variants — Ant Design, Bootstrap, MUI, shadcn/ui, Untitled UI, daisyUI, React Flow, Thingtime), deterministic generator + validator + API seeder under scripts/components-db/. - Kind renderer for component things; verify-components.mjs (23 checks); FUNDAMENTALS §3 + TESTING.md + README + CHANGELOG updates. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
✅ Develop S3 preview ready
The alias passed the develop bucket CORS preflight and a final live PR/SHA fence. Generic Vercel Preview deployments use the shared development runtime; this controller adds the stable exact-SHA alias and marker-scoped cleanup. |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…mmand (+120 → 1120) Catalog grows past the initial 1000: 3 new archetypes × 8 libraries × 5 variants, layered calc-clip star ratings, terminal/diff/kbd code blocks, and command-palette/search surfaces. Loop runbook in scripts/components-db/README.md; tranche accounting in catalog.mjs. Seeded: census 1120. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… (+120 → 1240) Messaging bubbles/threads/composer/typing/contact rows, audio/video/mini player chrome with playlist + volume clusters, and calendar/date-input/ time-picker/range/countdown temporals. Seeded: census 1240. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…a-viz (+120 → 1360) Product cards/cart/checkout/promo/payment rows, profile headers/user cards/follower rows/achievements/stat bands, and svg mini-charts (bar, line, donut, gauge, heatmap). Seeded: census 1360. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…dow-chrome (+120 → 1480) File rows/folder grids/upload zones/storage meters/toolbars, welcome/ tour/checklist/progress/invite onboarding surfaces, and browser/phone/ window/tab-strip/dock app-frame mockups. Seeded: census 1480. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…, designs click-through Owner feedback: library renditions read as duplicates. Every component now carries crystal.familyKey; /components groups one card per family with a designs pill row (server group=family aggregation, client collapse for q-search, family= roster fetch); cards' Docs buttons open the new /components/:key + /components/:key/docs detail pages (design switcher, args tester, deep links, API snippet, definition). Self-healing reseed stamped familyKey across the catalog; tranche-2 batch 5 (kanban, forms-advanced, gamification) rode along — census 1600. verify-components.mjs now 30 checks. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…0 → 1720) Settings rows/sections/danger-zones/API-keys/notification matrices, mail inbox/thread/compose/sidebar/attachment surfaces, and calendar-app views (events, agendas, week grids, availability, booking). Seeded: census 1720. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…i (+120 → 1840) Location/route/weather/itinerary/pin-cluster travel cards, balance/ transaction/transfer/credit-card/spending finance surfaces, and doc-site headers/TOCs/callouts/references/version pickers. Seeded: census 1840. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…livery (+120 → 2080) Commit diff-stats/CI pipelines/log viewers/env vars/PR cards, course cards/curricula/quizzes/certificates/learning paths, and menu items/ order trackers/reservations/reviews/courier cards. Seeded: census 2080. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ts, support-help (+120 → 2200) Price cards/candles/portfolios/swaps/order books, event cards/ticket stubs/seat maps/lineups/on-sale banners, and support tickets/FAQs/chat launchers/status banners/CSAT prompts. Seeded: census 2200. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…i-assistant (+120 → 2320) Masonry/lightbox/album/editor/filmstrip photo surfaces, job cards/ applicant rows/interview slots/offers/hiring funnels, and AI prompt bars/response cards/model pickers/usage meters/agent status. Batch survived a mid-flight session-limit pause (2 modules recovered intact, 1 re-authored). Seeded: census 2320. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ab, news-reading (+120 → 2440) Listing cards/spec sheets/mortgage calcs/agent cards/tour schedulers, multiplayer cursors/sticky notes/canvas toolbars/comment pins/zoom clusters, and headline stacks/article cards/reader controls/newsletter blocks/live blogs. Seeded: census 2440. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…oductivity-notes (+120 → 2560) Vehicle cards/EV batteries/trip computers/parking/service reminders, show posters/continue-watching/episode lists/audio-subs/watch parties, and notes/todos/pomodoro rings/habit trackers/snippet cards. Seeded: census 2560. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…mmunity, form-flows (+120 → 2680) 2FA setup/vault rows/permission dialogs/audit logs/VPN cards, donation pickers/fundraiser progress/volunteer shifts/impact bands/sponsor tiers, and wizard shells/review summaries/conditional reveals/signature pads/ two-column sections. Seeded: census 2680. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…batch 15 (→ 2800) - Seed stamps a provenance tag first on every catalog component so the per-definition tags can never squeeze it out; hand-built seed envelopes keep the display casing verbatim. - Cards and detail pages surface thing-level tags, attribution chip first (filled + sparkle) ahead of topical tags. - Batch 15 lands with it: logistics, sports-scores, accessibility (+120). The thingtime standings variant was over the 580-node render cap; cells now inherit fontSize/color/textAlign from their row instead of repeating them 30×. - Reseed: 2680 refreshed + 120 created = 2800/2800 tagged, 0 untagged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
🤝 Merged Conflicted files:
Please review the merge commit before relying on it. |
…olved conflicts) Conflicted paths: remix/CHANGELOG.md Resolved by the resolve-pr-conflicts workflow: https://github.com/lopugit/thingtime/actions/runs/32104780935 Co-Authored-By: Claude <noreply@anthropic.com>
lopugit
added a commit
that referenced
this pull request
Aug 18, 2026
…thing kind, 1000-component catalog
lopugit
added a commit
that referenced
this pull request
Aug 18, 2026
…thing kind, 1000-component catalog
github-actions Bot
added a commit
that referenced
this pull request
Aug 18, 2026
…thing kind, 1000-component catalog
github-actions Bot
added a commit
that referenced
this pull request
Aug 19, 2026
…thing kind, 1000-component catalog
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
/components) lands beside it. Direct loads of/componentshighlight Components (cross-link ordering audited against the drawer's pathname-sync scan).componentthing kind: registry schema +sanitizeComponentCrystal(bounded arg descriptors, scalarsavedArgssnapshots,rendertemplate through the existing schema render gate),component-reserved shareId prefix insanitizeShareId, projection pin-test entry. Not protected: users create versions through the unified things path; searchable/browsable/deletable likeschema.ComponentsBrowsePage): every card renders its component live from the stored template via the sanitising allowlist renderers; an args tester (string/text/number/boolean/enum/color inputs) drives re-renders through a tiny template DSL ({token}interpolation +ttArg/ttMap/ttIf/ttMerge/ttRepeat, resolved client-side pre-render;$-free keys so the server render gate stores them); a hidden "Schema" expander reveals inherits/args/on-create/thingtime-adds chips + the raw definition; "Save version" stores the tester snapshot as a user-owned component thing (private by default, public toggle), linked bycomponentKey/forkOf. React + Add-to-library ride the existing things endpoints, optimistic with reconcile.GET /api/v1/components/browse(newest/oldest/popular/q via hardened searchThings,lib=/category=filters on no-q pages, cursor pagination, reaction/saved/usage decoration) and adminPOST/GET /api/v1/admin/components/seed(idempotent, self-healing system seed mirroring seed-builtin-schemas:ownerId system,storageClass control,acl [tt:all], uniqueKeys, anti-squat; fail-closed rate limit). Docs entries auto-generate the-docstwins + 4 smoke tests.components-db/folder database (one JSON per component + manifest), generated deterministically byscripts/components-db/generate.mjsfrom 25 archetype builders × 8 library token sets (Ant Design, Bootstrap, MUI, shadcn/ui, Untitled UI, daisyUI, React Flow, Thingtime) × 5 variants. Validator mirrors both renderer and server caps (incl. raw-JSON node accounting that caught the server's 600-node cap).scripts/components-db/seed.mjsseeds via the real API only — 1000/1000 seeded into the dev DB as system things (re-run converges: 992 unchanged / 8 created after a template slim-down).componentthings (savedArgs-over-defaults resolution) so they render across /things and other RenderThing surfaces.Validation
remix/scripts/verify-components.mjs(new): 23/23 passing against the live worktree stack — browse + filters + docs twin, admin gate (401/403), render-required 400, reserved-prefix 400, save-version → mine=1 + savedArgs snapshot + componentKey usage counts, react/save decoration, library scope.builtinSchemaProjectionpin tests: 54/54 (component entry added).test:things: 6/6. Targeted ESLint clean on every changed file.Note:
graphify-out/was left untouched (localgraphify updateproduces full-rebuild version-drift churn, ~854k lines — the established practice is source-only commits with the graph refreshed by the canonical environment).🤖 Generated with Claude Code