pulp

Grind a folder into one LLM-ready dump.

Pulp walks a tree in parallel, pulls text out of mixed documents, and writes one file you can hand a model. Paper pulp. Juice. Disposable reading.

Local first. Files never leave the machine. The mill binds localhost only. Try the browser mill — still no upload.

What it does

Mixed documents

Code, Markdown, HTML, JSON/CSV, PDF, Office, notebooks, archives — extracted into one dump.

Formats you pick

Plain text, Markdown, or Claude-style XML. Layout follows -f or the -o extension.

Quiet by default

Skips node_modules, target, venvs, secrets, and other noisy trees unless you say otherwise.

Local mill

pulp ui opens a localhost mill at 127.0.0.1:8747. Nothing is uploaded.

Install

cargo install --git https://github.com/BeeGass/pulp --locked

Requires Rust 1.85+. The GitHub repo must be public (or you need access) for --git install to work.

pulp -o dump.xml .
pulp ui

Browser mill

In-browser mill: /mill. Same privacy story as localhost: packing runs in WebAssembly inside your tab. No server-side upload/packer.

MVP extracts text/code/JSON/HTML; use local pulp for PDF/Office. Design notes: docs/wasm-mill.md.