Skip to content

Latest commit

 

History

192 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kelvin's Engineering Wiki

A personal engineering knowledge base maintained by an LLM. Sources go in; the LLM compiles them into interlinked wiki pages and keeps those pages current as new sources arrive.

Read it at https://wiki.kelvin.ink/, or browse the wiki/ folder. New to Claude Code? Start with How Claude Code works.

The approach follows Andrej Karpathy's LLM Wiki pattern. Most AI note tools look up raw documents again for every question. Here the LLM files each source into the wiki once: it updates the pages that source touches and notes where sources disagree. Pages use the Open Knowledge Format v0.2 (OKF): plain Markdown with a small YAML header that records each page's type, sources, and review status.

How the pieces fit

Every article lives in exactly two places: its original in raw/, and the LLM's summary of it merged into the topic pages under wiki/topics/.

flowchart TD
    accTitle: How an article becomes wiki pages
    accDescr: A link is captured in full into raw/; the old articles already sit in raw/ under their topic folders. Ingest reads the original and merges what it teaches into topic pages under wiki/topics, whose footnotes link back to the original. CLAUDE.md sets the rules. Readers use wiki.kelvin.ink.
    L[You send a link] -->|scripts/capture.py| RW["raw/date-slug.md (original + image transcriptions)"]
    RL["raw/AWS/, raw/Claude/ and the other old-article folders (frozen)"]
    RW -->|ingest| T["wiki/topics/<domain>/<topic>.md"]
    RL -->|ingest| T
    T -.->|footnotes link back| RW
    S[CLAUDE.md rules] -.-> T
    T --> P[wiki.kelvin.ink]
Loading

One topic page merges every article on its subject, and one article can update several topic pages. Each page lists its originals under sources in its header and cites them per section; a footnote also carries the source's caveat, such as "vendor marketing" or "self-reported figures".

Layer Where Who changes it
Originals raw/ only: link snapshots as raw/<date>-<slug>.md (full text with AI transcriptions of their images), and the old articles in raw/AWS/, raw/Claude/, and the other topic folders Snapshots are added or recaptured with scripts/capture.py, never hand-edited or deleted; the old articles are frozen
Summaries wiki/topics/, plus answers filed under wiki/syntheses/ The LLM, through pull requests you review
Rules CLAUDE.md (the schema and who the pages are for) and .claude/skills/wiki/ (the ingest, query, and lint procedures) You and the LLM together

Using it

Work happens in a Claude Code session in this repository:

You do What happens
Send a link, or /ingest <link or legacy article> The LLM captures the article into raw/, merges what it teaches into the topic pages it touches, updates the indexes and wiki/log.md, and opens a pull request. A YouTube link first goes through the youtube-transcript skill
Ask a question The LLM answers from the wiki with links to the pages it used, and offers to file a useful answer under wiki/syntheses/
Ask for a health check The LLM lists contradictions, stale or orphaned pages, and missing concepts, and fixes the mechanical ones

New pages start as status: draft. A page counts as reviewed once you add verified: { by: human:kelvinlee97, at: ... } to it.

Previewing the site

Needs Python 3.11 and Node 22:

pip3 install pyyaml
python3 scripts/build_site.py build
python3 scripts/build_site.py check
cd .site-build/quartz && npx quartz build -d ../content --serve   # http://localhost:8080

Checks

Every pull request runs these in CI; run them locally before pushing:

Check Command Catches
Wiki python3 scripts/wiki_check.py, python3 -m scripts.wiki_index --check Missing frontmatter or type, index entries that disagree with pages, uncited sources, numbers missing from sources, section links to a missing heading, edits to frozen sources
Site python3 scripts/build_site.py build && python3 scripts/build_site.py check Pages missing from the build, broken links on the site
Diagrams python3 scripts/check_mermaid_diagrams.py Mermaid diagrams that fail to render
Tooling uvx ruff check ., mypy, python -m unittest discover -s scripts/tests -p 'test_*.py' Lint, type, and test failures in scripts/

Repository layout

Path Contents
raw/ Every original: link snapshots (raw/<date>-<slug>.md) and the old articles in raw/AWS/, raw/Bash/, raw/Claude/, raw/Git/, raw/Kubernetes/, raw/Nginx/, raw/Nodejs/, raw/Python/, raw/Ubuntu/, raw/YouTube/, raw/ZooKeeper/, raw/apple/ (frozen)
wiki/ The wiki: index.md, log.md, topics/<domain>/, syntheses/
site/ Quartz configuration for wiki.kelvin.ink
scripts/ Page capture, wiki checker, index generator, site builder, diagram renderer, and their tests
youtube-transcript/ Transcript capture and validation CLI used by the youtube-transcript skill
.claude/ Skills (wiki, youtube-transcript) and the /ingest command for Claude Code

About the content

These are personal study notes, not official product documentation. Each page lists the sources it draws on and marks the author's own analysis as analysis. Do not contribute credentials, employer or client code, or other confidential material.

About

An LLM-maintained engineering wiki (Karpathy LLM Wiki pattern).

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages