<h1 align="center" <br <img src="https://github.com/boykush/scraps/blob/main/assets/logoopacity.png?raw=true" alt="scraps logo" width="200" <br Scraps <br </h1
<p align="center" <strongThe Wiki-link doc compiler for the LLM era.</strong </p
<p align="center" <a href="https://boykush.github.io/scraps/"<img alt="Documentation" src="https://img.shields.io/badge/docs-latest-blue?style=flat-square"</a <a href="https://crates.io/crates/scraps"<img alt="Crates.io" src="https://img.shields.io/crates/v/scraps?style=flat-square"</a <a href="https://github.com/boykush/scraps/blob/main/LICENSE.md"<img alt="License" src="https://img.shields.io/badge/license-MIT-blue?style=flat-square"</a <a href="https://github.com/boykush/scraps/actions/workflows/cargo-test-and-lint.yml"<img alt="CI" src="https://img.shields.io/github/actions/workflow/status/boykush/scraps/cargo-test-and-lint.yml?branch=main&style=flat-square"</a </p
Scraps treats documentation like a programming language. Wiki-linked markdown becomes a typed source, compiling into a static site for readers and into JSON any agent can shell into — turning Karpathy's LLM Wiki pattern into a typed, queryable artifact. CLI primary with companion AI skills, fitting any editor and any LLM agent.
Quick start
# Install
brew install boykush/tap/scraps # or: cargo install scraps
# Compile a wiki
mkdir my-wiki && cd my-wiki
scraps init
scraps build
# Query the same source from a shell or AI agent
scraps search "release checklist" --json
scraps links "Configuration" --json
scraps lintSee the Getting Started tutorial for the full flow.
How it works
graph LR
Source[Markdown sources] --> IR[Scraps IR — typed graph]
IR --> HTML[Static HTML]
IR --> JSON[CLI JSON]Scraps reads [[wiki-link]], #[[tag]], ![[embed]], [[Page#heading]], and ctxpath as typed primitives. The same source compiles to an HTML site for human readers and to JSON for scripts and AI agents. The IR is kept under .scraps/ next to .scraps.toml, so every command reads the wiki through it and an unchanged source is never parsed twice.
AI integration
CLI + JSON is the primary path — any shell-capable agent can query Scraps without an MCP client implementation. Bundled plugins provide agent-facing workflows:
- llm-wiki — Karpathy-style Ingest / Query / Lint skills for Claude Code and Codex, plus Claude Code agents for purpose-driven lint and the default Scraps LLM Wiki schema
- mcp-server — MCP server for MCP-compatible clients, shared across repositories via scraps mcp serve --http
See the AI integration guide for the trade-offs.
Documentation
- Documentation site — Tutorial, How-to, Reference, Explanation
- Sample wiki — Japanese knowledge base built with Scraps
Screenshots
<img src="https://github.com/boykush/scraps/blob/main/assets/darkmode.png?raw=true" alt="static site dark mode" width="800"