{"id":50476215,"url":"https://github.com/frankxai/library-os","last_synced_at":"2026-06-01T13:30:52.617Z","repository":{"id":353770146,"uuid":"1220171509","full_name":"frankxai/library-os","owner":"frankxai","description":"The open-source Library Intelligence System — capture, extract, and publish every book you read into a permanent deep-dive on your own website.","archived":false,"fork":false,"pushed_at":"2026-05-27T00:44:01.000Z","size":176,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-27T02:21:59.284Z","etag":null,"topics":["ai-tools","book-intelligence","claude-code","claude-plugin","claude-skill","library-os","nextjs","personal-knowledge-management","quote-management","reading-list","vercel"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frankxai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-24T16:09:40.000Z","updated_at":"2026-05-02T00:19:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/frankxai/library-os","commit_stats":null,"previous_names":["frankxai/library-os"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/frankxai/library-os","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankxai%2Flibrary-os","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankxai%2Flibrary-os/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankxai%2Flibrary-os/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankxai%2Flibrary-os/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frankxai","download_url":"https://codeload.github.com/frankxai/library-os/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankxai%2Flibrary-os/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33777967,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-tools","book-intelligence","claude-code","claude-plugin","claude-skill","library-os","nextjs","personal-knowledge-management","quote-management","reading-list","vercel"],"created_at":"2026-06-01T13:30:47.451Z","updated_at":"2026-06-01T13:30:52.612Z","avatar_url":"https://github.com/frankxai.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Library OS\n\n**The open-source Library Intelligence System.**\nCapture, extract, enrich, and publish every book you read into a permanent deep-dive on your own website.\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Ffrankxai%2Flibrary-os\u0026project-name=my-library\u0026repository-name=my-library)\n[![License: MIT](https://img.shields.io/badge/License-MIT-amber.svg)](./LICENSE)\n[![Claude Code Plugin](https://img.shields.io/badge/Claude_Code-plugin-rose)](./claude-plugin.json)\n\n\u003e Live reference: **22 books, 277 curated quotes, dynamic OG images, JSON quote API** at [frankx.ai/library](https://frankx.ai/library) · The story: [frankx.ai/library/approach](https://frankx.ai/library/approach)\n\n## Install (5 paths, pick one)\n\n```bash\n# Bootable Next.js site\ngit clone https://github.com/frankxai/library-os.git my-library \u0026\u0026 cd my-library \u0026\u0026 npm install \u0026\u0026 npm run dev\n\n# Or — Claude Code plugin only (commands + skill + subagent)\nrsync -av \u003c(curl -sL https://github.com/frankxai/library-os/archive/main.tar.gz | tar xz)/library-os-main/.claude/ .claude/\n\n# Or — via ACOS\nnpx @frankx/agentic-creator-os init  # library-os included from v11+\n```\n\nFull install paths in [`INSTALL.md`](./INSTALL.md) — bootable site, drop-in to existing Next.js, plugin-only, cross-AI (ChatGPT/Cursor/Codex/Gemini), via ACOS.\n\n---\n\n## Why\n\nReaders forget up to ninety percent of what they read within a week. Kindle highlights die in Kindle. Notion docs scatter. Goodreads knows what you read but not what you took from it.\n\nEvery book you've read is capital. Without a system to compound it, that capital depreciates to zero the moment the book goes back on the shelf.\n\nLibrary OS is the system that makes it compound. Every book becomes a permanent, intelligent, schema-rich page on your own website — TOC'd, quoted, chapter-distilled, FAQ-answered, cross-linked, SEO-ready, LLM-citable. In six months you own a library that compounds for decades.\n\n## What you get\n\n- **Data schema** — one TypeScript interface for everything a book can be\n- **Next.js App Router template** — `/library` index + `/library/{slug}` deep-dive + `/library/approach` showcase\n- **Three slash commands** — `/library-add`, `/library-deepen`, `/library-research`\n- **One skill** — `library-os` (documents the full workflow)\n- **One subagent** — `book-distiller` (the extraction specialist)\n- **Full JSON-LD schema** — BreadcrumbList + Article + Review + FAQPage + Quotation on every book page\n- **Two example deep-dives** — Profit First + The Fabric of Reality (ship real books in under an hour)\n\n## Quick start (5 minutes to live)\n\n```bash\n# 1. Clone\ngit clone https://github.com/frankxai/library-os.git my-library\ncd my-library\n\n# 2. Install\nnpm install\n\n# 3. Run\nnpm run dev\n# open http://localhost:3000/library\n```\n\nEdit `data/book-reviews.ts` to add your first book. Redeploy via `git push` — Vercel picks it up.\n\n## Alternative: cherry-pick into your existing Next.js project\n\nIf you already have a Next.js App Router site, copy these files into it:\n\n```\napp/books/types.ts\napp/books/lib/books-registry.ts       ← customize for your own books\napp/library/page.tsx\napp/library/[slug]/page.tsx\napp/library/approach/page.tsx         ← optional showcase page\ndata/book-reviews.ts                  ← your data\npublic/images/library/                ← book cover JPEGs\n.claude/commands/library-*.md         ← the three slash commands\n.claude/skills/library-os/SKILL.md    ← the workflow skill\n.claude/agents/book-distiller.md      ← the extraction subagent\n```\n\nRequires: Next.js 14+ App Router, Tailwind CSS v3+, TypeScript. No other dependencies.\n\n## The four-stage workflow\n\n```\nCAPTURE ──────► EXTRACT ──────► ENRICH ──────► PUBLISH\n   │                │                │              │\n   ▼                ▼                ▼              ▼\nPhoto, notes,   quotes[]      continueReading[]   /library/{slug}\nKindle export,  chapters[]    videos[]            (live, SEO+AEO)\nvoice memo      tldr, faq     + schema\n```\n\n**1 — CAPTURE.** A photo of handwritten margin notes, a Kindle highlights export, a voice memo, a book title in a text file. You refuse to let a thought leave the system.\n\n**2 — EXTRACT.** Run `/library-add \"Book Title\"` to create the baseline entry with TL;DR, 5 key insights, Best-For audience, starter FAQ, and a book cover pulled from OpenLibrary.\n\n**3 — ENRICH.** Run `/library-deepen {slug}` to populate 10–20 curated quotes and every chapter. Then `/library-research {slug}` to add Continue-Reading and Videos.\n\n**4 — PUBLISH.** `git commit \u0026\u0026 git push`. Vercel redeploys. Your book is now a permanent URL with the full deep-dive hub + rich structured data.\n\n## The data schema\n\n`app/books/types.ts` — the spine of the system.\n\n```ts\ninterface BookReview {\n  // Identity\n  slug, title, author, coverImage, rating, reviewDate, categories, readingTime\n\n  // Core content (required)\n  keyInsights: string[]   // exactly 5\n  bestFor: string[]       // 3–4\n\n  // AEO layer (optional, strongly recommended)\n  tldr?: string\n  faq?: Array\u003c{ q, a }\u003e\n  publicationYear?: number\n\n  // Deep-dive layer (optional — progressive depth)\n  quotes?: BookQuote[]                  // text, chapter, context\n  chapters?: BookChapterSummary[]       // number, title, keyIdea, summary\n  continueReading?: RelatedReadingItem[]\n  videos?: BookVideo[]\n\n  // Wiring\n  amazonUrl?: string\n  relatedBook?: string    // links to your own books via booksRegistry\n  hasCover?: boolean      // gates next/image render\n}\n```\n\nBooks without optional fields render as concise reviews. Books with all fields render as full knowledge hubs. One template, progressive depth.\n\n## The three slash commands\n\n| Command | Purpose | Writes to |\n|---|---|---|\n| `/library-add` | Create a new entry from just a title | `data/book-reviews.ts`, `public/images/library/` |\n| `/library-deepen` | Add quotes + chapters to existing entry | `data/book-reviews.ts` |\n| `/library-research` | Add continueReading + videos | `data/book-reviews.ts` |\n\nRun in order. Each is idempotent. Full documentation in [.claude/commands/](./.claude/commands/).\n\n## Cross-AI compatibility\n\n| Tool | Native support | How to use |\n|---|---|---|\n| Claude Code | ✅ | Slash commands + skill + subagent all work out of the box |\n| ChatGPT / Claude.ai (web) | — | Paste the prompt from `.claude/commands/library-*.md`, paste book details, get structured TypeScript back |\n| Cursor / Codex / Gemini CLI | — | Read the command files as plain-text instructions, execute the steps |\n| Pen \u0026 paper | — | The schema and template work without any AI. A hand-curated library is always valid. |\n\nSee [`docs/cross-ai-guide.md`](./docs/cross-ai-guide.md) for paste-ready prompts.\n\n## Deployment targets\n\nLibrary OS ships as a Next.js App Router app, but the **spine** (the `BookReview` TypeScript type + the JSON-LD schema emission) is framework-neutral.\n\n| Stack | Port effort | Notes |\n|---|---|---|\n| **Next.js App Router** | Zero | Direct. This repo. |\n| **Astro / Starlight** | Small | Port `app/library/` to `src/pages/library/`. Schema unchanged. |\n| **SvelteKit** | Small | `routes/library/+page.svelte` and `+page.svelte` in `[slug]`. |\n| **Hugo / Jekyll / 11ty** | Medium | Each BookReview becomes a markdown file with frontmatter. |\n| **Plain HTML** | Medium | A small build script renders static pages. Schema works standalone. |\n\n## Documentation\n\n- [`MANIFESTO.md`](./MANIFESTO.md) — why we build libraries\n- [`docs/getting-started.md`](./docs/getting-started.md) — zero-to-first-book walkthrough\n- [`docs/cross-ai-guide.md`](./docs/cross-ai-guide.md) — paste-ready prompts for non-Claude-Code setups\n- [`docs/schema.md`](./docs/schema.md) — every field explained\n- [`.claude/skills/library-os/SKILL.md`](./.claude/skills/library-os/SKILL.md) — the canonical workflow documentation\n\n## Contributing\n\nIssues and PRs welcome. The spirit of Library OS is **curation over automation** — AI helps you move faster, but the final judgment on what deserves to be in your library is yours.\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n\n## Credits\n\nBuilt and maintained by [Frank](https://frankx.ai). Reference library at [frankx.ai/library](https://frankx.ai/library).\n\nInspired by the intuition that the best tools for thought are the ones you own and the ones that outlive their vendors.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrankxai%2Flibrary-os","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrankxai%2Flibrary-os","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrankxai%2Flibrary-os/lists"}