[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-95924":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":14,"contributorsCount":9,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":14,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":16,"hasPages":16,"topics":9,"createdAt":9,"pushedAt":9,"updatedAt":18,"readmeContent":19,"aiSummary":20,"trendingCount":14,"starSnapshotCount":14,"syncStatus":21,"lastSyncTime":9,"discoverSource":22},95924,"Libraries.dev","Jakubantalik\u002FLibraries.dev","Jakubantalik","High-crafted UI libraries for AI agents: Border beam, Orbs, Metal, Gooey, Image",null,"https:\u002F\u002Fgithub.com\u002FJakubantalik\u002FLibraries.dev","TypeScript",2909,167,0,28.68,false,"main","2026-09-21 02:04:29","# Libraries\n\nReact libraries by [Jakub Antalik](https:\u002F\u002Fgithub.com\u002FJakubantalik), and the sites that demo them.\n\n| Package | npm | Demo |\n| --- | --- | --- |\n| [`border-beam`](packages\u002Fborder-beam) — animated border beam | `npm install border-beam` | [beam.jakubantalik.com](https:\u002F\u002Fbeam.jakubantalik.com) |\n| [`liquid-gooey`](packages\u002Fliquid-gooey) — liquid Morph & Move effects | `npm install liquid-gooey` | [gooey.jakubantalik.com](https:\u002F\u002Fgooey.jakubantalik.com) |\n| [`thinking-orbs`](packages\u002Fthinking-orbs) — dotted thought-orb loaders | `npm install thinking-orbs` | [orbs.jakubantalik.com](https:\u002F\u002Forbs.jakubantalik.com) |\n\n## Layout\n\n```\npackages\u002F       published libraries — one folder per npm package\nsites\u002F          the demo site for each library\n```\n\nEach package owns its own README and LICENSE, because npm renders the readme\nfrom the package directory rather than the repo root.\n\n## Working on it\n\nnpm workspaces, so one install at the root covers everything:\n\n```bash\nnpm install\n\nnpm run dev -w @sites\u002Fbeam      # beam demo\nnpm run dev -w @sites\u002Fgooey     # gooey demo\nnpm run dev -w @sites\u002Forbs      # orbs demo\n```\n\nBoth sites alias the library to its **source**, so editing a library\nhot-reloads its site with no rebuild.\n\n```bash\nnpm run build:beam              # build one library\nnpm run build:gooey\nnpm run build:orbs\nnpm run build:site-beam         # library + its site, as CI does\nnpm run build:site-gooey\nnpm run build:site-orbs\nnpm run typecheck               # every workspace\n```\n\n## Releasing\n\nPublishing is per package, triggered by a GitHub release (`publish.yml`),\nwhich runs `npm publish -w \u003Cpackage>`.\n\n## Deploys\n\nThe two sites are hosted separately, because GitHub Pages serves one custom\ndomain per repo:\n\n- **beam.jakubantalik.com** — GitHub Pages via `.github\u002Fworkflows\u002Fdeploy.yml`;\n  the domain binding lives in `sites\u002Fbeam\u002Fpublic\u002FCNAME`.\n- **gooey.jakubantalik.com** — Cloudflare Pages, built from this repo with\n  `npm run build:site-gooey`, output `sites\u002Fgooey\u002Fdist`.\n- **orbs.jakubantalik.com** — Cloudflare Pages, built with\n  `npm run build:site-orbs`, output `sites\u002Forbs\u002Fdist`.\n- **libraries.dev** — Cloudflare Pages, static (no build command), output\n  `sites\u002Fhome`. The umbrella site: landing, Pro pricing, account and legal\n  pages. Its backend is `api.libraries.dev`, a Worker in the private\n  `libraries-pro` repo — see `sites\u002Fhome\u002FREADME.md`.\n\n`.node-version` pins Node 20 for the Cloudflare builds, matching the version\nthe GitHub workflows use; Cloudflare's default is older.\n\nCloudflare's **Retry deployment** replays the same commit rather than fetching\nthe branch tip, so a build that failed on an outdated commit keeps failing.\nPush a new commit to get a fresh one.\n\nOnly the beam site carries a `public\u002FCNAME`; that file is a GitHub Pages\nmechanism. The Cloudflare-hosted sites bind their domain in the Pages project\ninstead, and the DNS record itself lives at the registrar (inetadmin), not\nCloudflare — `jakubantalik.com` is not on Cloudflare's nameservers.\n\n`thinking-orbs` arrived by `git subtree`, so its full history is in this\nrepo — but those commits touched `src\u002F…`, not `packages\u002Fthinking-orbs\u002Fsrc\u002F…`.\n`git log -- packages\u002Fthinking-orbs` therefore stops at the merge. To read the\nreal history, log from the commit the merge names:\n\n```bash\ngit log --oneline 9c6d5c3 -- ports\u002Fios\u002FPillsDemo\u002FSources\u002FPillsApp.swift\ngit log --follow packages\u002Fthinking-orbs\u002Fsrc\u002Findex.ts\n```\n\n`thinking-orbs` also carries native ports under\n[`packages\u002Fthinking-orbs\u002Fports`](packages\u002Fthinking-orbs\u002Fports) — a React\nNative package and a SwiftUI package, kept in step with the web renderer by\nthe golden vectors in `spec\u002F`. Neither is published yet.\n","这是一个面向AI应用前端开发的React UI组件库集合，提供多种专为AI交互场景设计的动画效果组件。核心功能包括动态光束边框（border-beam）、液态融合变形（liquid-gooey）和思维气泡加载指示器（thinking-orbs），均基于TypeScript构建，支持开箱即用的npm安装与热重载开发。组件注重性能与视觉表现力，适用于AI聊天界面、智能助手状态反馈、模型推理过程可视化等需要轻量级、高表现力加载与交互反馈的Web应用。",2,"trending"]