
Security News
/Research
Fake Corepack Site Distributes Infostealer and Proxyware to Developers
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.
lumina-wiki
Advanced tools
Domain-agnostic, multi-IDE wiki scaffolder — Karpathy's LLM-Wiki vision, cross-platform and pack-based.
Where Knowledge Starts to Glow.
Turn AI into your personal knowledge assistant and second brain.
English • Tiếng Việt • 简体中文
▶ Watch the video walkthrough (Vietnamese)
Lumina-Wiki works from one simple principle: keep your raw materials separate from the AI's structured knowledge.
+-------------------------+ /lumi-ingest +---------------------------+
| YOUR INPUT | ---------------------> | THE AGENT'S BRAIN |
| (raw/ folder) | | (wiki/ folder) |
| | <--------------------- | |
| - my-paper.pdf | /lumi-ask | - my-paper.md (summary) |
| - my-notes.txt | | - concept-a.md |
+-------------------------+ +---------------------------+
raw/ directory./lumi-ingest, to make the agent read from raw/ and build a structured, interlinked wiki in wiki/./lumi-ask against the agent's "brain" in wiki/ for faster, more context-aware answers.Install the wiki workspace into your current project with one command:
Before 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/en/download.
npx lumina-wiki install
Note for Windows users: For the best experience, enable Developer Mode 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.
The installer will guide you through a quick setup, including optional Packs such as research, reading, and learning.
If you installed the research pack, some skills can use API keys for better online search. In your AI chat, run:
You:
/lumi-research-setup
The agent will help you check the research tools and save keys to a local .env file when needed.
If you reinstall Lumina-Wiki on a project that already has a wiki/ from an earlier version, just run npx lumina-wiki install again. The installer updates scripts, schemas, and skills; your content in wiki/, raw/, and log.md is not modified.
You can run the command from the project root or one of its subfolders. If you remove a pack or AI tool from the setup, Lumina removes its old managed commands and unchanged setup files. Files you edited are kept with a warning. If the whole project was copied, moved, or renamed, Lumina repairs its managed links during the upgrade.
If the installer warns that older entries are missing newer frontmatter fields, you have two ways to backfill them:
/lumi-migrate-legacy.node _lumina/scripts/wiki.mjs migrate --add-defaults
See CHANGELOG.md or the local _lumina/CHANGELOG.md after install for version-by-version schema changes.
Interact with your wiki using these commands in your AI chat interface, such as Gemini CLI, Claude, or Codex.
Phase 1: Ingest and Build Knowledge
/lumi-init: Scan the raw/ directory and perform the first wiki build./lumi-ingest [path/to/file]: Process a new document into the knowledge base. It asks you to review the draft, then keeps going unless something needs your judgment.Phase 2: Query and Maintain
/lumi-ask [your question]: Ask a question against the full knowledge base in wiki/./lumi-edit [path/to/wiki/page]: Request a change or correction to a specific wiki page./lumi-check: Check the whole wiki for errors, such as broken links or orphan pages.Additional skills may be available if you installed optional packs such as research, reading, or learning.
Lumina creates a workspace where each folder has a clear purpose.
| Path | Purpose | Managed By |
|---|---|---|
raw/ | Your immutable input library. The agent only reads from here. | You |
raw/sources/ | Place your primary documents, such as PDFs and articles, here. | You |
raw/notes/ | Your personal, unstructured notes and ideas. | You |
raw/assets/ | Images or other assets for your notes. | You |
raw/discovered/ | (Research Pack) Papers found by /lumi-research-discover are saved here. | Agent |
wiki/ | The agent's brain. The agent writes structured knowledge here. | Agent |
wiki/sources/ | AI-generated summaries for each document in raw/sources. | Agent |
wiki/concepts/ | Core ideas and definitions extracted into individual pages. | Agent |
wiki/people/ | Profiles of authors, researchers, and other people. | Agent |
wiki/outputs/ | Detailed answers from /lumi-ask saved for reference. | Agent |
wiki/index.md | The main table of contents for your wiki. | Agent |
... | (Other entity folders such as foundations/ and characters/ appear with packs.) | Agent |
_lumina/ | Lumina-managed engine, scripts, and configuration. | System |
.agents/ | Skills the agent can use. | System |
You usually work with raw/ and read results in wiki/; you do not need to edit system folders.
Obsidian 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 for details.
As your wiki grows, you can use qmd for faster local Markdown search. If your IDE supports the skill format, install the official qmd skill with:
npx skills add https://github.com/tobi/qmd --skill qmd
See the Advanced Guide for detailed installation and configuration.
These are the commands you can use when chatting with your AI agent.
| Pack | Skill | Purpose |
|---|---|---|
| Core | /lumi-init | Initialize the wiki from all files in raw/. |
/lumi-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. | |
/lumi-ask | Ask a question against the full knowledge base. | |
/lumi-edit | Request a manual edit to a wiki page. | |
/lumi-check | Check the wiki for errors, such as broken links. | |
/lumi-reset | Safely reset parts of the wiki. | |
/lumi-verify | Check that wiki notes match the sources they cite. Reports anything suspicious for your review; never edits notes for you. | |
/lumi-help | Read your workspace state and recommend one next action. Pass skills to list every command, or explain <topic> to ask how Lumina itself works (e.g., /lumi-help explain bidirectional links). | |
| Research | /lumi-research-discover | Discover and rank relevant research papers. |
/lumi-research-watchlist | Choose research topics for scheduled discovery with AI help. | |
/lumi-research-survey | Create a survey or summary from existing knowledge. | |
/lumi-research-prefill | Seed foundational concepts to avoid duplicates. | |
/lumi-research-topic | Create a topic page at wiki/topics/<slug>.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 /lumi-ingest runs when you want to give a theme its own page. | |
/lumi-research-rank | Score a paper you have already ingested so you know what to read first. It looks up how influential the paper is (citation signals), estimates how respected its venue is, and rates its quality on four points — Correctness, Clarity, Contribution, and Context — then adds a clear scorecard to the paper's page. Measured numbers and the AI's own estimates are always kept separate. | |
/lumi-research-setup | Help configure API keys for research tools. | |
/lumi-research-watch-run | Run one scheduled-discovery pass over your watchlist (topics + RSS / Atom feeds). Polls only when you ask. | |
| Reading | /lumi-reading-chapter-ingest | Ingest a book chapter by chapter. |
/lumi-reading-character-track | Track characters and their relationships in a story. | |
/lumi-reading-theme-map | Identify and map themes in a narrative. | |
/lumi-reading-plot-recap | Provide a progressive plot recap. | |
| Learning | /lumi-learning-reflect | Guide a self-reflection session on a concept or source you have studied. Creates a personal reflection page in wiki/reflections/ 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. |
The scripts behind these skills live in _lumina/scripts/ and _lumina/tools/; you usually do not need to call them directly.
Lumina-Wiki is evolving rapidly. Here is our user-facing roadmap:
Near-term (Stability & New Ingestion)
/lumi-help Skill: A smart assistant that reads your workspace state and tells you the one thing to do next; skills shows every command, explain <topic> answers how Lumina itself works. (shipped in v1.4)type: feed watchlist items. (shipped in v1.6)/lumi-research-rank. (shipped in v1.7)Long-term (Deep Research & Integration)
Proposed
Full technical details are available in ROADMAP.md. Want to contribute? Join us on GitHub!
CI scripts and integrations should reference docs/cli-contract.md for the v1.x stable flag list and exit code mapping. Anything not listed there is internal and may change without notice.
If you want to contribute to the lumina-wiki installer:
# 1. Clone and install dependencies
git clone https://github.com/tronghieu/lumina-wiki.git
cd lumina-wiki
npm ci
# 2. Run tests
npm run test:all
License: MIT © Lưu Trọng Hiếu.
You 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.
Always communicate with the user in English. Always write wiki pages in English.
Keep this mental map in immediate context:
wiki/ is the main product surfacewiki/index.md — catalog of all wiki pages, updated on every ingestwiki/log.md — append-only activity logwiki/concepts/ — reusable knowledge structurewiki/sources/ — per-source summaries (papers, articles, books, podcasts, notes)wiki/people/ — people referenced across sourceswiki/summary/ — area-level syntheseswiki/outputs/ — generated artifacts (comparisons, exports)wiki/graph/ — derived state; never edit manuallyraw/ is user-ownedraw/sources/ — .pdf, .tex, .html, .md, transcripts, anything ingestedraw/notes/ — user's own markdown notesraw/assets/ — images and binary attachmentsraw/tmp/ — sidecar files generated by skills (transient; do not store canonical sources here)raw/download/<resource>/ — full-text artifacts auto-fetched by skills, partitioned by source
(e.g. raw/download/arxiv/2604.03501v2.pdf, raw/download/doi/<doi>.pdf).
Permanent agent-writable zone — keep separate from raw/sources/ (human-curated).Rule: never modify or delete an existing file under raw/. 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/tmp/, raw/download/. Every other path under raw/ is read-only.
.agents/ is the skill source of truth.agents/skills/lumi-*/ — installed skills (flat, one directory per skill)_lumina/ is the installer-managed sidecar_lumina/config/lumina.config.yaml — workspace config; editable_lumina/schema/ — deeper reference docs; open when this file points you there_lumina/scripts/ — Node engine (wiki.mjs, lint.mjs, reset.mjs, schemas.mjs)_lumina/tools/ — Python tools (always: extract_pdf.py, fetch_pdf.py, requirements.txt)_lumina/_state/ — installer/skill checkpoint state; gitignored_lumina/manifest.json — installer state; never edit by handEvery wiki page has a defined type, frontmatter, and section structure. Open _lumina/schema/page-templates.md before drafting a new page or repairing an existing one — it has the full templates and required frontmatter fields.
| Type | Directory | Purpose |
|---|---|---|
| Source | sources/ | Per-document summary: key claims, evidence, takeaways, questions |
| Concept | concepts/ | Cross-source idea or technique with variants and comparisons |
| Person | people/ | Profile of a referenced person with key sources and relationships |
| Summary | summary/ | Area-level synthesis spanning multiple sources and concepts |
All internal links use Obsidian wikilinks:
[[slug]] — link to any page in this wiki
[[chain-of-thought]] — links to concepts/chain-of-thought.md
[[1984-orwell]] — links to sources/1984-orwell.md
Slug rule: lowercase, hyphen-separated, no spaces, no diacritics.
When 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.
| Forward action | Required reverse action |
|---|---|
sources/A writes Related: [[concept-B]] | concepts/B appends A to Key sources |
sources/A writes [[person-C]] | people/C appends A to Key sources |
concepts/K writes [[source-E]] | sources/E appends K to Related concepts |
summary/S writes [[concept-K]] | concepts/K appends S to Mentioned in |
exempt-only, default)Some links are intentionally one-way. Defaults:
outputs/** — ephemeral artifacts*://*) — out of wiki scopeAnything outside an exemption glob must be bidirectional.
Append-only. One line per skill invocation. Format:
## [YYYY-MM-DD] skill | details
grep "^## \[" wiki/log.md | tail -10 gives you recent activity.
wiki/graph/edges.jsonl and wiki/graph/citations.jsonl are auto-generated. Never edit manually. The full set of edge types lives in _lumina/scripts/schemas.mjs — open it when you need to pick a type or check what is allowed.
raw/ is user-owned: never modify or delete existing files; additions only via the two named paths above.graph/ is auto-generated: only modify via the graph rebuild step.index.md updated on every ingest: every new page must be cataloged immediately.log.md is append-only: never rewrite history.<!-- user-edited --> comment.Skills live in .agents/skills/ and are invoked via slash commands. Active install recorded in _lumina/manifest.json.
| Skill | Trigger | What it does |
|---|---|---|
/lumi-init | manual, first | Bootstrap wiki from existing raw/ content |
/lumi-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 |
/lumi-ask | manual | Query wiki, synthesize answer, optionally file page |
/lumi-edit | manual | Add/remove/revise wiki content per user request |
/lumi-check | manual/weekly | Lint: broken links, orphans, missing reverse links |
/lumi-reset | manual | Scoped destructive cleanup |
/lumi-verify | manual | Check that wiki pages match the sources they cite; reports suspicious statements for the user to review; never auto-edits |
_lumina/scripts/lint.mjs — pure-Node markdown linter, runs offline._lumina/scripts/wiki.mjs — wiki engine (frontmatter, graph mutation, slug, log)._lumina/scripts/reset.mjs — scoped destructive reset._lumina/tools/extract_pdf.py — PDF text extractor (pypdf-based); used by /lumi-ingest and /lumi-reading-chapter-ingest when the host IDE cannot read PDFs natively._lumina/tools/fetch_pdf.py — URL → raw/download/<resource>/ PDF downloader (streaming, atomic, idempotent); used by /lumi-ingest Mode B when the input is a URL or paper identifier._lumina/tools/requirements.txt — Python dependencies for bundled tools. Run pip install -r _lumina/tools/requirements.txt when a tool reports a missing package.wiki/index.md to learn what already exists.wiki/log.md's last 20 entries to learn what happened recently.SKILL.md first._lumina/schema/page-templates.md.The wiki is a long-running collaboration. Maintain it patiently.
Thanks to everyone who has contributed to Lumina Wiki!
Want to contribute? Read CONTRIBUTING.md to get started — bug reports, new skills, tool integrations, and translations are all welcome.
FAQs
Domain-agnostic, multi-IDE wiki scaffolder — Karpathy's LLM-Wiki vision, cross-platform and pack-based.
The npm package lumina-wiki receives a total of 379 weekly downloads. As such, lumina-wiki popularity was classified as not popular.
We found that lumina-wiki demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
/Research
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.

Research
/Security News
A large-scale campaign abused GitHub Actions in compromised repositories to exploit CVE-2026-41940 in cPanel and WHM and steal server credentials.

Security News
Five frontier LLMs generated the same nonexistent package names, leaving 53 available for potential slopsquatting across PyPI and npm.