{"id":48800921,"url":"https://github.com/pwv-vc/theora","last_synced_at":"2026-04-15T03:01:17.193Z","repository":{"id":350347568,"uuid":"1205372474","full_name":"pwv-vc/theora","owner":"pwv-vc","description":"LLM-powered knowledge base that turns raw research into a living wiki","archived":false,"fork":false,"pushed_at":"2026-04-13T19:13:28.000Z","size":3106,"stargazers_count":4,"open_issues_count":10,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-14T02:36:31.263Z","etag":null,"topics":["ai","cli","knowledge-base"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pwv-vc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-08T22:49:36.000Z","updated_at":"2026-04-13T19:13:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"d62a9283-6aff-4d7b-89b6-9750583e14ba","html_url":"https://github.com/pwv-vc/theora","commit_stats":null,"previous_names":["pwv-vc/theora"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pwv-vc/theora","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwv-vc%2Ftheora","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwv-vc%2Ftheora/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwv-vc%2Ftheora/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwv-vc%2Ftheora/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pwv-vc","download_url":"https://codeload.github.com/pwv-vc/theora/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pwv-vc%2Ftheora/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31824118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"online","status_checked_at":"2026-04-15T02:00:06.175Z","response_time":63,"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","cli","knowledge-base"],"created_at":"2026-04-14T02:32:07.440Z","updated_at":"2026-04-15T03:01:17.178Z","avatar_url":"https://github.com/pwv-vc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Theora\n\n\u003cimg width=\"1536\" height=\"1024\" alt=\"theora-card\" src=\"https://github.com/user-attachments/assets/7586a5ee-e673-478c-8c6a-13f9a2fb1579\" /\u003e\n\n\u003e _\"She's the one who actually knows how everything works.\"_\n\n## Purpose\n\n**Theora** is an LLM-powered knowledge base: you ingest sources into `raw/`, run `theora compile` to build a structured wiki (sources, concepts, index), then `theora ask` to get answers filed into `output/` so every question compounds what the wiki knows.\n\n## The name\n\nNamed after **Theora Jones**, the network controller at Network 23 in _Max Headroom: 20 Minutes into the Future_ — the person who actually understands the systems. It is also short for **the oracle**: a KB that synthesises and connects, not just stores. More context: [docs/the-name.md](docs/the-name.md).\n\n## Inspiration\n\nTheora was inspired by the idea of using LLMs to **compile and maintain** a personal knowledge base from raw material (articles, papers, images), then ask against it so answers feed back in — as discussed in [Karpathy’s “LLM Knowledge Bases” thread](https://x.com/karpathy/status/2039805659525644595). Longer write-up and references: [docs/inspiration.md](docs/inspiration.md).\n\n## Quick start — first knowledge base (“Theora Documentation”)\n\n**Prerequisites**\n\n- **Node.js 20+** — see [docs/getting-started.md](docs/getting-started.md) for fnm/Homebrew setup.\n- **An LLM API key** — [OpenAI](https://platform.openai.com/api-keys) (default) or [Anthropic](https://console.anthropic.com/).\n- **Optional:**\n  - `@marp-team/marp-cli` (PDF slides)\n  - `matplotlib` (charts)\n  - `yt-dlp` (YouTube caption ingest)\n  - `ffmpeg` (Video screenshot frame extraction)\n\n\u003e For details, see [Getting started](docs/getting-started.md).\n\n**Install Theora** (from a clone of this repo):\n\n```bash\npnpm install\npnpm build\nnpm link\n```\n\n**Create a KB, ingest the bundled docs, compile, ask questions, and launch the local web server**\n\n1. Create a directory for the KB and enter it:\n\n   ```bash\n   mkdir theora-docs \u0026\u0026 cd theora-docs\n   ```\n\n2. Initialise Theora with display name **Theora Documentation**:\n\n   ```bash\n   theora init \"Theora Documentation\"\n   ```\n\n3. Add your API key to **`theora-docs/.env`**, or put shared keys in **`~/.theora/.env`** (see [docs/getting-started.md](docs/getting-started.md)).\n\n4. Ingest the documentation sources from your clone (use the **absolute path** to the repo’s **`docs/`** folder on your machine):\n\n   ```bash\n   theora ingest /absolute/path/to/theora/docs\n   ```\n\n5. Compile the wiki (requires API access):\n\n   ```bash\n   theora compile\n   ```\n\n6. Ask against the wiki (quote the question in **zsh** so `?` is not treated as a glob):\n\n   ```bash\n   theora ask \"what is the inspiration for Theora?\"\n   theora ask \"what types of files can I ingest?\"\n   theora ask what is Max Headroom\n   theora ask how does knowledge compound\n   ```\n\n7. Start the web server:\n\n   ```bash\n   theora serve\n   ```\n\n   Default URL: `http://localhost:4000`. Use `theora serve --share` for LAN URLs and a terminal QR code.\n\n**Full user guide**\n\nAll detailed topics (commands, providers, tags, slides, charts, architecture) live in **[docs/](docs/)** — the same folder you can ingest to turn the manual into your first wiki. Start at [docs/README.md](docs/README.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpwv-vc%2Ftheora","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpwv-vc%2Ftheora","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpwv-vc%2Ftheora/lists"}