A Bootstrapper for Schema-Driven LLM Wiki Vaults
Inspired by Andrej Karpathy's LLM Wiki gist: keep raw sources immutable, maintain a structured wiki that compounds over time, and generate grounded answers from that maintained knowledge base instead of starting from scratch for every question.
Running the bootstrap script creates a new vault with this structure (default layout with both agent ecosystems; pass claude or copilot to install only one):
<vault>/
CLAUDE.md
AGENTS.md
.gitignore
raw/
assets/
.gitkeep
wiki/
SCHEMA.md
index.md
log.md
sources/
.gitkeep
topics/
.gitkeep
decisions/
.gitkeep
output/
.gitkeep
.claude/
commands/
wiki-ingest.md
wiki-query.md
wiki-lint.md
.github/
copilot-instructions.md
agents/
wiki-ingest.agent.md
wiki-query.agent.md
wiki-lint.agent.md
Clone the repo and use the bootstrap script to create vaults with optional agent-mode selection:
git clone https://github.com/jdbadger/llm-wiki-bootstrap.git
cd llm-wiki-bootstrap
./wiki-bootstrap.sh /path/to/new-vault [claude|copilot]Windows users: Run the script via WSL, Git Bash, or any POSIX-compatible shell.
Bootstrap behavior:
- Requires at least one argument: target vault directory.
- Optional second argument selects agent mode:
claude,copilot, or omit for both (default). - Fails if the target exists and is not a directory.
- Fails if the target directory is non-empty.
- Does not run
git init.
-OR-
The quickest way to get started — no script execution needed.
Via GitHub: Download the ZIP archive, extract the starter-vault/ folder, and move it wherever you like.
Via curl:
mkdir /path/to/my-vault
curl -fsSL https://github.com/jdbadger/llm-wiki-bootstrap/archive/refs/heads/main.tar.gz \
| tar xz --strip-components=2 -C /path/to/my-vault llm-wiki-bootstrap-main/starter-vaultThe bootstrapped vault is designed to work with Obsidian, a free markdown knowledge base app.
- Download and install Obsidian if you haven't already.
- Open Obsidian, choose Open folder as vault, and select the directory created by the bootstrap script.
- Confirm that Obsidian can see
wiki/,raw/,output/, and the generated root files. - Use
wiki/index.mdas the main entry point for browsing. - As the wiki grows, use backlinks, local graph, and graph view to inspect coverage and relationships between pages.
- Store images, PDFs, or other attachments under
raw/assets/so the vault stays portable and the schema can reference them consistently.
Tip: The Obsidian Web Clipper browser extension can save web pages directly into
raw/, making it easy to capture source material for ingest.
raw/is immutable source material.wiki/is agent-maintained knowledge.output/stores immutable query deliverables unless user-directed.wiki/SCHEMA.mdis stable in role, but editable over time.