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 lint
See 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 ctx_path as typed primitives. The same source compiles to an HTML site for human readers and to JSON for scripts and AI agents.
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:
scraps— 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 schemamcp-server— MCP server for MCP-compatible clients
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
Search, pagination, and Wiki-link navigation, themed with Nord.
Contributing
Bugs, feature requests, and PRs are welcome. See CONTRIBUTING.md, the issue templates, and the Code of Conduct.
License
MIT
No comments yet
Be the first to share your take.