[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81159":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":14,"stars7d":14,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":15,"starSnapshotCount":15,"syncStatus":16,"lastSyncTime":27,"discoverSource":28},81159,"lumina-wiki","tronghieu\u002Flumina-wiki","tronghieu","An AI-powered research assistant for reading, understanding, organizing, and connecting knowledge, implementation of Karpathy's LLM Wiki",null,"JavaScript",31,14,30,1,0,2,3,3.53,"MIT License",false,"main",true,[],"2026-06-12 02:04:11","\u003Cp align=\"center\" lang=\"en\">\n  \u003Cimg src=\"assets\u002Flumina-logo.png\" width=\"250\" alt=\"Lumina-Wiki Logo\">\n\u003C\u002Fp>\n\n# Lumina-Wiki\n\n> **Where Knowledge Starts to Glow.**\n>\n> Turn AI into your personal knowledge assistant and second brain.\n\n\u003Cp align=\"center\">\n  \u003Cimg alt=\"License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg\"\u002F>\n  \u003Cimg alt=\"Node.js\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js-%3E%3D20-blue.svg\"\u002F>\n  \u003Cimg alt=\"Python\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.9+-yellow.svg\"\u002F>\n  \u003Cimg alt=\"Skills\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSkills-Many-purple.svg\"\u002F>\n  \u003Cbr>\n  \u003Cimg alt=\"Powered by\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPowered%20by-grey?style=flat\"\u002F>\n  \u003Cimg alt=\"Claude\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Claude%20Code-orange?style=flat\"\u002F>\n  \u003Cimg alt=\"Codex\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Codex-blueviolet?style=flat\"\u002F>\n  \u003Cimg alt=\"Gemini\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Gemini-4285F4?style=flat\"\u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  English • \u003Ca href=\"README.vi.md\" lang=\"vi\">Tiếng Việt\u003C\u002Fa> • \u003Ca href=\"README.zh.md\" lang=\"zh-Hans\">简体中文\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"docs\u002Fuser-guide\u002Fen.md\">User Guide\u003C\u002Fa>\n\u003C\u002Fp>\n\n## Menu\n\n- [Getting Started & Install](#2-getting-started)\n- [User Guide](docs\u002Fuser-guide\u002Fen.md)\n- [The Core Workflow](#1-the-core-workflow)\n- [Your First Commands](#3-your-first-commands-core-skills)\n- [Workspace Directory Guide](#4-workspace-directory-guide)\n- [Available Skills](#5-available-skills-v01)\n- [What's Coming Next](#6-whats-coming-next)\n- [Contributing & License](#7-contributing--license)\n- [Other Languages](#8-other-languages)\n\n---\n\n## 1. The Core Workflow\n\nLumina-Wiki works from one simple principle: keep your raw materials separate from the AI's structured knowledge.\n\n```text\n+-------------------------+      \u002Flumi-ingest      +---------------------------+\n|      YOUR INPUT         | ---------------------> |     THE AGENT'S BRAIN     |\n|       (raw\u002F folder)     |                        |       (wiki\u002F folder)      |\n|                         | \u003C--------------------- |                           |\n|  - my-paper.pdf         |       \u002Flumi-ask        |  - my-paper.md (summary)  |\n|  - my-notes.txt         |                        |  - concept-a.md           |\n+-------------------------+                        +---------------------------+\n```\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Flumina-architecture-en.png\" alt=\"Lumina-Wiki Architecture\" width=\"720\">\n\u003C\u002Fp>\n\n1.  **You Provide:** Place your documents (PDFs, notes) in the `raw\u002F` directory.\n2.  **The Agent Builds:** Use commands in your AI chat, such as `\u002Flumi-ingest`, to make the agent read from `raw\u002F` and build a structured, interlinked wiki in `wiki\u002F`.\n3.  **You Query:** Ask questions with `\u002Flumi-ask` against the agent's \"brain\" in `wiki\u002F` for faster, more context-aware answers.\n\n## 2. Getting Started\n\n### **Step 1: Install**\n\nInstall the wiki workspace into your current project with one command:\n\nBefore running this command, your machine needs **Node.js**. If you do not have it yet, download and install the recommended version from the official site: [nodejs.org\u002Fen\u002Fdownload](https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload).\n\n```bash\nnpx lumina-wiki install\n```\n\n> **Note for Windows users:** For the best experience, enable [Developer Mode](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fapps\u002Fget-started\u002Fenable-your-device-for-development) so the installer can use symlinks correctly. If Developer Mode is off, the installer falls back to copying skill files; everything still works, but updates are less ideal.\n\nThe installer will guide you through a quick setup, including optional **Packs** such as `research`, `reading`, and `learning`.\n\n### **Step 2 (Optional): Configure the Research Pack**\n\nIf you installed the `research` pack, some skills can use API keys for better online search. In your AI chat, run:\n\n> **You:**\n> `\u002Flumi-research-setup`\n\nThe agent will help you check the research tools and save keys to a local `.env` file when needed.\n\n### **Step 3 (Upgrades): Migrate Legacy Wiki Entries**\n\nIf you reinstall Lumina-Wiki on a project that already has a `wiki\u002F` from an earlier version, just run `npx lumina-wiki install` again. The installer updates scripts, schemas, and skills; **your content in `wiki\u002F`, `raw\u002F`, and `log.md` is not modified**.\n\nIf the installer warns that older entries are missing newer frontmatter fields, you have two ways to backfill them:\n\n- **Recommended:** open your AI chat and run `\u002Flumi-migrate-legacy`.\n- **Faster:** run this terminal command:\n\n```bash\nnode _lumina\u002Fscripts\u002Fwiki.mjs migrate --add-defaults\n```\n\nSee [`CHANGELOG.md`](CHANGELOG.md) or the local `_lumina\u002FCHANGELOG.md` after install for version-by-version schema changes.\n\n## 3. Your First Commands (Core Skills)\n\nInteract with your wiki using these commands in your AI chat interface, such as Gemini CLI, Claude, or Codex.\n\n**Phase 1: Ingest and Build Knowledge**\n-   `\u002Flumi-init`: Scan the `raw\u002F` directory and perform the first wiki build.\n-   `\u002Flumi-ingest [path\u002Fto\u002Ffile]`: Process a new document into the knowledge base. It asks you to review the draft, then keeps going unless something needs your judgment.\n\n**Phase 2: Query and Maintain**\n-   `\u002Flumi-ask [your question]`: Ask a question against the full knowledge base in `wiki\u002F`.\n-   `\u002Flumi-edit [path\u002Fto\u002Fwiki\u002Fpage]`: Request a change or correction to a specific wiki page.\n-   `\u002Flumi-check`: Check the whole wiki for errors, such as broken links or orphan pages.\n\n*Additional skills may be available if you installed optional packs such as `research`, `reading`, or `learning`.*\n\n---\n\n## 4. Workspace Directory Guide\n\nLumina creates a workspace where each folder has a clear purpose.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Flumina-env-en.png\" alt=\"Lumina-Wiki Workspace Environment\" width=\"720\">\n\u003C\u002Fp>\n\n| Path | Purpose | Managed By |\n| :--- | :--- | :--- |\n| **`raw\u002F`** | **Your immutable input library.** The agent **only reads** from here. | **You** |\n| `raw\u002Fsources\u002F` | Place your primary documents, such as PDFs and articles, here. | You |\n| `raw\u002Fnotes\u002F` | Your personal, unstructured notes and ideas. | You |\n| `raw\u002Fassets\u002F` | Images or other assets for your notes. | You |\n| `raw\u002Fdiscovered\u002F` | *(Research Pack)* Papers found by `\u002Flumi-research-discover` are saved here. | Agent |\n| **`wiki\u002F`** | **The agent's brain.** The agent **writes** structured knowledge here. | **Agent** |\n| `wiki\u002Fsources\u002F` | AI-generated summaries for each document in `raw\u002Fsources`. | Agent |\n| `wiki\u002Fconcepts\u002F` | Core ideas and definitions extracted into individual pages. | Agent |\n| `wiki\u002Fpeople\u002F` | Profiles of authors, researchers, and other people. | Agent |\n| `wiki\u002Foutputs\u002F` | Detailed answers from `\u002Flumi-ask` saved for reference. | Agent |\n| `wiki\u002Findex.md` | The main table of contents for your wiki. | Agent |\n| `...` | *(Other entity folders such as `foundations\u002F` and `characters\u002F` appear with packs.)* | Agent |\n| **`_lumina\u002F`** | Lumina-managed engine, scripts, and configuration. | **System** |\n| **`.agents\u002F`** | Skills the agent can use. | **System** |\n\nYou usually work with `raw\u002F` and read results in `wiki\u002F`; you do not need to edit system folders.\n\n### **Browse Your Wiki with Obsidian (Optional)**\n\n[Obsidian](https:\u002F\u002Fobsidian.md) is a local Markdown note-taking app that helps you browse linked notes. Because Lumina-Wiki also creates Markdown files, you can open the **project root folder** in Obsidian to read and browse your wiki more easily. See the [user guide](docs\u002Fuser-guide\u002Fen.md#using-obsidian-to-read-the-wiki) for details.\n\n### **Local Search with qmd (Advanced, Optional)**\n\nAs your wiki grows, you can use [qmd](https:\u002F\u002Fgithub.com\u002Ftobi\u002Fqmd) for faster local Markdown search. If your IDE supports the skill format, install the official qmd skill with:\n\n```bash\nnpx skills add https:\u002F\u002Fgithub.com\u002Ftobi\u002Fqmd --skill qmd\n```\n\nSee the [Advanced Guide](docs\u002Fuser-guide\u002Fadvanced-qmd.en.md) for detailed installation and configuration.\n\n---\n\n## 5. Available Skills\n\nThese are the commands you can use when chatting with your AI agent.\n\n| Pack | Skill | Purpose |\n| :--- | :--- | :--- |\n| **Core** | `\u002Flumi-init` | Initialize the wiki from all files in `raw\u002F`. |\n| | `\u002Flumi-ingest` | Read a document and write a wiki page. It asks you to review the draft, then continues on its own unless something needs your judgment. Resumable across sessions. |\n| | `\u002Flumi-ask` | Ask a question against the full knowledge base. |\n| | `\u002Flumi-edit` | Request a manual edit to a wiki page. |\n| | `\u002Flumi-check` | Check the wiki for errors, such as broken links. |\n| | `\u002Flumi-reset` | Safely reset parts of the wiki. |\n| | `\u002Flumi-verify` | Check that wiki notes match the sources they cite. Reports anything suspicious for your review; never edits notes for you. |\n| | `\u002Flumi-help` | Read your workspace state and recommend one next action. Pass `skills` to list every command, or `explain \u003Ctopic>` to ask how Lumina itself works (e.g., `\u002Flumi-help explain bidirectional links`). |\n| **Research** | `\u002Flumi-research-discover` | Discover and rank relevant research papers. |\n| | `\u002Flumi-research-watchlist` | Choose research topics for scheduled discovery with AI help. |\n| | `\u002Flumi-research-survey` | Create a survey or summary from existing knowledge. |\n| | `\u002Flumi-research-prefill` | Seed foundational concepts to avoid duplicates. |\n| | `\u002Flumi-research-topic` | Create a topic page at `wiki\u002Ftopics\u002F\u003Cslug>.md` by gathering related concepts and sources already in your wiki. The AI proposes what to include and you confirm before anything is written. Use this after several `\u002Flumi-ingest` runs when you want to give a theme its own page. |\n| | `\u002Flumi-research-setup` | Help configure API keys for research tools. |\n| | `\u002Flumi-research-watch-run` | Run one scheduled-discovery pass over your watchlist (topics + RSS \u002F Atom feeds). Polls only when you ask. |\n| **Reading** | `\u002Flumi-reading-chapter-ingest` | Ingest a book chapter by chapter. |\n| | `\u002Flumi-reading-character-track` | Track characters and their relationships in a story. |\n| | `\u002Flumi-reading-theme-map` | Identify and map themes in a narrative. |\n| | `\u002Flumi-reading-plot-recap` | Provide a progressive plot recap. |\n| **Learning** | `\u002Flumi-learning-reflect` | Guide a self-reflection session on a concept or source you have studied. Creates a personal reflection page in `wiki\u002Freflections\u002F` with a rewritable \"Current understanding\" section and an append-only \"Evolution\" log. The AI acts as a metacognitive mirror — it quotes your past words and asks questions — but never writes the reflection for you. |\n\nThe scripts behind these skills live in `_lumina\u002Fscripts\u002F` and `_lumina\u002Ftools\u002F`; you usually do not need to call them directly.\n\n---\n\n## 6. What's Coming Next\n\nLumina-Wiki is evolving rapidly. Here is our user-facing roadmap:\n\n**Near-term (Stability & New Ingestion)**\n- [x] **`\u002Flumi-help` Skill:** A smart assistant that reads your workspace state and tells you the one thing to do next; `skills` shows every command, `explain \u003Ctopic>` answers how Lumina itself works. *(shipped in v1.4)*\n- [x] **Learning Pack:** Self-reflection sessions that track how your understanding of a concept evolves over time. *(shipped in v1.4)*\n- [x] **Multilingual setup:** Choose English, Vietnamese, or Chinese as your primary language during install. *(shipped in v1.2)*\n- [x] **Native DOCX, RTF & EPUB ingestion:** Pull Word, Rich Text, and EPUB books straight into your wiki via the research pack. *(shipped in v1.x)*\n- [x] **Improved CI\u002FCD:** Native support for Bun and Node 22 environments. *(shipped in v1.2)*\n- [x] **Global Source Expansion:** Direct integration with OpenAlex, CORE, and Unpaywall for reliable DOI-to-PDF resolution. *(shipped in v1.6)*\n- [x] **RSS & Blog Monitoring:** Automatically surface new papers from your favorite lab blogs and journals via `type: feed` watchlist items. *(shipped in v1.6)*\n- [ ] **Advanced Paper Ranking:** See influence scores and quality signals for your research papers.\n\n**Long-term (Deep Research & Integration)**\n- [ ] **Image OCR & Scanned PDFs:** Ingest screenshots and scanned PDFs into your wiki.\n- [ ] **Paper Version Tracking:** Get notified when an already-ingested paper has a new revision or published version.\n- [ ] **Google Workspace:** Ingest Google Docs and Sheets directly into your graph.\n- [ ] **Multimedia Support:** Process YouTube videos and Audio recordings via transcripts.\n- [ ] **Knowledge Graph Auditing:** Automated checks for contradictions and structural drift.\n\n**Proposed**\n- [ ] **Desktop Application:** A dedicated visual environment for easier wiki management.\n- [ ] **Specialized Science Packs:** Deep integration for bio-medical and physics researchers.\n\n---\n*Full technical details are available in [`ROADMAP.md`](.\u002FROADMAP.md). Want to contribute? Join us on GitHub!*\n\n---\n\n## 7. Contributing & License\n\n### CLI Contract\n\nCI scripts and integrations should reference [`docs\u002Fcli-contract.md`](.\u002Fdocs\u002Fcli-contract.md) for the v1.x stable flag list and exit code mapping. Anything not listed there is internal and may change without notice.\n\n### Local Development (for contributors)\n\nIf you want to contribute to the `lumina-wiki` installer:\n\n```bash\n# 1. Clone and install dependencies\ngit clone https:\u002F\u002Fgithub.com\u002Ftronghieu\u002Flumina-wiki.git\ncd lumina-wiki\nnpm ci\n\n# 2. Run tests\nnpm run test:all\n```\n\n## 8. Other Languages\n\n- [Tiếng Việt (Vietnamese)](README.vi.md)\n- [简体中文 (Chinese)](README.zh.md)\n\n**License:** [MIT](LICENSE) © Lưu Trọng Hiếu.\n\n\u003C!-- lumina:schema -->\n\n## Roles\n\nYou are the wiki maintainer. The user curates sources, asks questions, and directs analysis. You do everything else: read, summarize, connect pages, file notes, run health checks, and keep the wiki coherent. You write the wiki; the user reads it.\n\nAlways communicate with the user in **English**. Always write wiki pages in **English**.\n\n### User Communication\n\n- Default to a clear, everyday style suitable for most users. You are a helpful knowledge assistant, not a software engineer explaining implementation details.\n- Use **English** for every conversational message. Do not mix languages unless quoting source text, file names, commands, or proper nouns.\n- Translate workflow terms into the user's language. If a source uses an important domain term, write the translated term first and put the original term in parentheses on first use.\n- Speak to non-technical users. Use short, natural sentences. Say what the user gets, what changed, what needs attention, or what decision is needed; keep internal tool details quiet unless the user asks.\n- Prefer plain phrases such as \"checking links\", \"checking against the source\", \"saving the page\", and \"I found something to review\" over tool-centric words like lint, schema, frontmatter, checkpoint, verify, or JSON in user-facing messages.\n- If technical detail is necessary, give the plain-language meaning first, then the technical term in parentheses.\n- Ask the user only when their judgment is needed: approving a draft, choosing between ambiguous sources, allowing an overwrite\u002Frestart, handling source-check findings, accepting lower confidence, or deciding how to fix an issue the tools cannot fix safely.\n\n---\n\n## Repository Layout\n\nKeep this mental map in immediate context:\n\n### `wiki\u002F` is the main product surface\n\n- `wiki\u002Findex.md` — catalog of all wiki pages, updated on every ingest\n- `wiki\u002Flog.md` — append-only activity log\n- `wiki\u002Fconcepts\u002F` — reusable knowledge structure\n- `wiki\u002Fsources\u002F` — per-source summaries (papers, articles, books, podcasts, notes)\n- `wiki\u002Fpeople\u002F` — people referenced across sources\n- `wiki\u002Fsummary\u002F` — area-level syntheses\n- `wiki\u002Foutputs\u002F` — generated artifacts (comparisons, exports)\n- `wiki\u002Fgraph\u002F` — derived state; never edit manually\n\n### `raw\u002F` is user-owned\n\n- `raw\u002Fsources\u002F` — `.pdf`, `.tex`, `.html`, `.md`, transcripts, anything ingested\n- `raw\u002Fnotes\u002F` — user's own markdown notes\n- `raw\u002Fassets\u002F` — images and binary attachments\n- `raw\u002Ftmp\u002F` — sidecar files generated by skills (transient; do not store canonical sources here)\n- `raw\u002Fdownload\u002F\u003Cresource>\u002F` — full-text artifacts auto-fetched by skills, partitioned by source\n  (e.g. `raw\u002Fdownload\u002Farxiv\u002F2604.03501v2.pdf`, `raw\u002Fdownload\u002Fdoi\u002F\u003Cdoi>.pdf`).\n  Permanent agent-writable zone — keep separate from `raw\u002Fsources\u002F` (human-curated).\n\n**Rule:** never modify or delete an existing file under `raw\u002F`. Files added by the user are authoritative and immutable to the agent. New files may only be *added*, only by a skill that documents this behavior, and only into `raw\u002Ftmp\u002F`, `raw\u002Fdownload\u002F`. Every other path under `raw\u002F` is read-only.\n\n### `.agents\u002F` is the skill source of truth\n\n- `.agents\u002Fskills\u002Flumi-*\u002F` — installed skills (flat, one directory per skill)\n\n### `_lumina\u002F` is the installer-managed sidecar\n\n- `_lumina\u002Fconfig\u002Flumina.config.yaml` — workspace config; editable\n- `_lumina\u002Fschema\u002F` — deeper reference docs; open when this file points you there\n- `_lumina\u002Fscripts\u002F` — Node engine (`wiki.mjs`, `lint.mjs`, `reset.mjs`, `schemas.mjs`)\n- `_lumina\u002Ftools\u002F` — Python tools (always: `extract_pdf.py`, `fetch_pdf.py`, `requirements.txt`)\n- `_lumina\u002F_state\u002F` — installer\u002Fskill checkpoint state; gitignored\n- `_lumina\u002Fmanifest.json` — installer state; never edit by hand\n\n---\n\n## Page Types\n\nEvery wiki page has a defined type, frontmatter, and section structure. **Open `_lumina\u002Fschema\u002Fpage-templates.md` before drafting a new page or repairing an existing one** — it has the full templates and required frontmatter fields.\n\n| Type       | Directory      | Purpose                                                              |\n|------------|---------------|----------------------------------------------------------------------|\n| Source     | `sources\u002F`    | Per-document summary: key claims, evidence, takeaways, questions     |\n| Concept    | `concepts\u002F`   | Cross-source idea or technique with variants and comparisons         |\n| Person     | `people\u002F`     | Profile of a referenced person with key sources and relationships    |\n| Summary    | `summary\u002F`    | Area-level synthesis spanning multiple sources and concepts          |\n\n---\n\n## Link Syntax\n\nAll internal links use Obsidian wikilinks:\n\n```markdown\n[[slug]]                     — link to any page in this wiki\n[[chain-of-thought]]         — links to concepts\u002Fchain-of-thought.md\n[[1984-orwell]]              — links to sources\u002F1984-orwell.md\n```\n\n**Slug rule**: lowercase, hyphen-separated, no spaces, no diacritics.\n\n---\n\n## Cross-Reference Rules (Bidirectional Links)\n\nWhen you write a forward link, **always write the reverse link in the same operation**. This is the heart of why the wiki compounds. Skipping it leaves the graph half-built.\n\n| Forward action                              | Required reverse action                    |\n|---------------------------------------------|---------------------------------------------|\n| `sources\u002FA` writes `Related: [[concept-B]]` | `concepts\u002FB` appends A to `Key sources`    |\n| `sources\u002FA` writes `[[person-C]]`           | `people\u002FC` appends A to `Key sources`      |\n| `concepts\u002FK` writes `[[source-E]]`          | `sources\u002FE` appends K to `Related concepts`|\n| `summary\u002FS` writes `[[concept-K]]`          | `concepts\u002FK` appends S to `Mentioned in`   |\n\n### Exemptions (mode: `exempt-only`, default)\n\nSome links are intentionally one-way. Defaults:\n\n- **`outputs\u002F**`** — ephemeral artifacts\n- **External URLs** (`*:\u002F\u002F*`) — out of wiki scope\n\nAnything outside an exemption glob must be bidirectional.\n\n---\n\n## Log Format\n\nAppend-only. One line per skill invocation. Format:\n\n```markdown\n## [YYYY-MM-DD] skill | details\n```\n\n`grep \"^## \\[\" wiki\u002Flog.md | tail -10` gives you recent activity.\n\n---\n\n## Graph\n\n`wiki\u002Fgraph\u002Fedges.jsonl` and `wiki\u002Fgraph\u002Fcitations.jsonl` are auto-generated. Never edit manually. The full set of edge types lives in `_lumina\u002Fscripts\u002Fschemas.mjs` — open it when you need to pick a type or check what is allowed.\n\n---\n\n## Constraints (Non-Negotiable)\n\n- **`raw\u002F` is user-owned**: never modify or delete existing files; additions only via the two named paths above.\n- **`graph\u002F` is auto-generated**: only modify via the graph rebuild step.\n- **Bidirectional links are mandatory**: forward link and reverse link in the same operation.\n- **`index.md` updated on every ingest**: every new page must be cataloged immediately.\n- **`log.md` is append-only**: never rewrite history.\n- **Skill flags are user-owned**: never invent, flip, or drop a flag based on repo state alone. If the user omitted a parameter, only fill it in when the skill explicitly documents a default; otherwise ask.\n- **No silent overwrites**: preserve sections marked with `\u003C!-- user-edited -->` comment.\n- **Cite when uncertain**: link the source explicitly for low-confidence claims.\n\n---\n\n## Skills\n\nSkills live in `.agents\u002Fskills\u002F` and are invoked via slash commands. Active install recorded in `_lumina\u002Fmanifest.json`.\n\n### Core skills (always present)\n\n| Skill         | Trigger        | What it does                                          |\n|---------------|---------------|-------------------------------------------------------|\n| `\u002Flumi-init`   | manual, first  | Bootstrap wiki from existing `raw\u002F` content          |\n| `\u002Flumi-ingest` | manual         | Read a source and write a wiki page. It asks you to review the draft, then continues on its own unless something needs your judgment |\n| `\u002Flumi-ask`    | manual         | Query wiki, synthesize answer, optionally file page   |\n| `\u002Flumi-edit`   | manual         | Add\u002Fremove\u002Frevise wiki content per user request       |\n| `\u002Flumi-check`  | manual\u002Fweekly  | Lint: broken links, orphans, missing reverse links    |\n| `\u002Flumi-reset`  | manual         | Scoped destructive cleanup                            |\n| `\u002Flumi-verify` | manual         | Check that wiki pages match the sources they cite; reports suspicious statements for the user to review; never auto-edits                            |\n\n\n---\n\n## Tooling Conventions\n\n- **`_lumina\u002Fscripts\u002Flint.mjs`** — pure-Node markdown linter, runs offline.\n- **`_lumina\u002Fscripts\u002Fwiki.mjs`** — wiki engine (frontmatter, graph mutation, slug, log).\n- **`_lumina\u002Fscripts\u002Freset.mjs`** — scoped destructive reset.\n- **`_lumina\u002Ftools\u002Fextract_pdf.py`** — PDF text extractor (pypdf-based); used by `\u002Flumi-ingest` and `\u002Flumi-reading-chapter-ingest` when the host IDE cannot read PDFs natively.\n- **`_lumina\u002Ftools\u002Ffetch_pdf.py`** — URL → `raw\u002Fdownload\u002F\u003Cresource>\u002F` PDF downloader (streaming, atomic, idempotent); used by `\u002Flumi-ingest` Mode B when the input is a URL or paper identifier.\n- **`_lumina\u002Ftools\u002Frequirements.txt`** — Python dependencies for bundled tools. Run `pip install -r _lumina\u002Ftools\u002Frequirements.txt` when a tool reports a missing package.\n\n---\n\n## How To Use This Wiki (For New LLM Sessions)\n\n1. Read this file (you are doing it now).\n2. Read `wiki\u002Findex.md` to learn what already exists.\n3. Read `wiki\u002Flog.md`'s last 20 entries to learn what happened recently.\n4. When the user invokes a skill, read the skill's `SKILL.md` first.\n5. When in doubt about page structure, open `_lumina\u002Fschema\u002Fpage-templates.md`.\n6. When in doubt about scope, ask the user — never silently expand it.\n\nThe wiki is a long-running collaboration. Maintain it patiently.\n\n\u003C!-- \u002Flumina:schema -->\n\n---\n\n## Contributors\n\nThanks to everyone who has contributed to Lumina Wiki!\n\n[![Contributors](https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=tronghieu\u002Flumina-wiki)](https:\u002F\u002Fgithub.com\u002Ftronghieu\u002Flumina-wiki\u002Fgraphs\u002Fcontributors)\n\n**Want to contribute?** Read [CONTRIBUTING.md](CONTRIBUTING.md) to get started — bug reports, new skills, tool integrations, and translations are all welcome.\n","Lumina-Wiki 是一个基于人工智能的研究助手，用于阅读、理解、组织和连接知识，实现了Karpathy的LLM Wiki。其核心功能包括通过简单的命令将用户提供的文档（如PDF、笔记）转化为结构化且相互关联的维基条目，并支持对这些内容进行高效查询。该项目使用JavaScript编写，结合了Node.js与Python技术栈，并可利用Claude Code、Codex等AI工具增强处理能力。适用于需要管理大量文献资料、构建个人知识库或进行深度学习研究的场景。","2026-06-11 04:03:44","CREATED_QUERY"]