my-llm-wiki
Drop any files into a folder. Get a living, queryable knowledge graph.
In April 2026, Andrej Karpathy shared a concept he called LLM Wiki — a personal knowledge system with three layers: raw files (never modified), a compiled wiki with cross-references, and a schema that tells the LLM how to maintain it. The key insight: compile once, query forever, and let the wiki grow with every session as a "persistent, compounding artifact" rather than re-deriving knowledge on every query.
my-llm-wiki implements all three layers.
pip install my-llm-wiki
cd your-project && llm-wiki .
The output wiki-out/vault/ is a drop-in Obsidian vault — open it directly, or query from CLI. Re-run anytime; SHA256 cache skips unchanged files. llm-wiki note "<insight>" writes back from your Claude Code sessions so the graph compounds over time.
Supported file types
- Code (19 languages) — Python, TypeScript/JavaScript, Go, Rust, Java, C/C++, Ruby, C#, and more (full list). Tree-sitter AST: classes, functions, typed
extends/implements, function signatures, doc comments (Javadoc / JSDoc / GoDoc ////), call graph. - Markdown / text — headings, definitions,
[[wikilinks]], cross-document references. - PDF / DOCX / PPTX / HTML / EPUB — layout-aware extraction via Docling (
pip install 'my-llm-wiki[docling]'). Headings + tables preserved. Scanned PDFs auto-OCR. EPUB unpacked via stdlib zipfile and routed through Docling's HTML pipeline. Bold-as-heading fallback for documents without Word Heading styles. - Images (HEIC / PNG / JPG) — hub nodes from structural pass; vision OCR via Claude Code agent mode (
/wiki .).
Read the docs
The full story lives at phuc-nt.github.io/my-llm-wiki:
- How It's Built — narrative: Karpathy's vision → three layers → the living wiki cycle
- Install & Quick Start — first graph in 30 seconds
- Core Features — two-pass extraction, typed inheritance, doc comments, communities, write-back
- How It Works — pipeline internals
- Use Cases — codebases, research notes, mixed knowledge
License
Metadata
Release files for my-llm-wiki 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| my_llm_wiki-0.9.0.tar.gz | 104.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| my_llm_wiki-0.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 214.0 kB
Release files / my_llm_wiki-0.9.0.tar.gz
| Download URL | my_llm_wiki-0.9.0.tar.gz |
|---|---|
| Size | 104.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0ba28ee44e7df4ddf391fde0646e51eea2bd04aa4d56032d4b2de5bba3cb6924
|
|
BLAKE2b-256 checksum How to use checksums |
0ae3d861fe8cd9f5e103e808cbf0222f094b9893f5f42ab8cad8c6b63238fa9d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / my_llm_wiki-0.9.0-py3-none-any.whl
| Download URL | my_llm_wiki-0.9.0-py3-none-any.whl |
|---|---|
| Size | 109.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1f9c0e1639e2ace393e2543e41b9a96ed0cfa72b0da32e875e61d765afe5c598
|
|
BLAKE2b-256 checksum How to use checksums |
ee362e9f7988db0435346dcab8ac0251e70aa6ea27629cbe44f3ba76aa70566d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Security for my-llm-wiki 0.9.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.