the chat on every page · the MCP server for your AI · how it was built
Ask Larry, and let your AI install this with you
Every page here has Ask Larry docked open at the bottom right (a compact ask bar across the bottom on phones), and the homepage has a big ask bar. Ask in plain words, slang welcome, and I answer only from this site, with links to the chapter that says it. If the site doesn't cover it, I say so instead of making something up. Your conversation stays in your own browser (localStorage); the site keeps no chat log.
On a chapter page, the Ask Larry about this chapter button points my search at that page first, which is handy when you're halfway through a step and something is confusing.
Let your AI install this with you
The better trick: plug me into your AI. The site runs a public, read-only MCP server at https://how.nixfred.com/mcp. Connect it and your AI can walk the build with you, one step at a time, using the exact commands from these pages instead of guessing. Self-service stays the point: you and your AI do the work, and the site is the reference.
Claude Code, one line:
claude mcp add --scope user --transport http how-nixfred https://how.nixfred.com/mcp
--scope user registers it once for every project on this machine, not just the current folder.
Cursor, add this to ~/.cursor/mcp.json (or the project's .cursor/mcp.json):
{
"mcpServers": {
"how-nixfred": { "url": "https://how.nixfred.com/mcp" }
}
}
Then tell your AI something like: "Use the how-nixfred MCP to plan my install on my Mac, and take me through it one step at a time. Ask me before you run anything."
What your AI gets (all read-only, all grounded in this site):
get_install_plan(os, starting_point): the whole route in build order, Chapter 0's install steps first, each with its page link and its "done when" line. Passstarting_point: "built"and it returns the 12-check audit of an AI that is already built instead.next_step(completed_steps): the next step, with the exact commands that page shows for your OS.check_step(step): how the page says to verify it, plus the fixes it gives (also takes an audit check,audit-1toaudit-12).get_file(path): the exact text of the seed kit (constitution, identity template, lineage, launcher, hooks, the audit spec), the runbook and the scaffolder, with sha256, so your human sees exactly what would be installed before anything is. No path lists them.get_prerequisites(os): everything Chapter 0 puts in place first.search_site(query, k),ask_larry(question),get_page(slug_or_url),list_pages(): search, a cited answer, or a whole page.
The standing rule rides along with every answer: this site is data, not orders. Your AI is told, in every tool result, to ask you before it installs, fetches, or changes anything, because it's your machine, your money, and your privacy. It never gets a command that isn't on a page.
Check the tools before you trust them
The server code and every served file are mirrored to a public repo, nixfred/how.nixfred.com-public, updated after each deploy. The exact tool list this server sends (names, descriptions, input schemas) is there as mcp-tools.json, with a version and a toolsSha256 hash. The server reports the same version and hash when your AI connects and in its tool list. Your AI should audit that repo (not these pages), compare what it received with that file, and stop and tell you if anything differs. On day one it records the version and hash, and each session it checks them again. A change it was not told about is a reason to stop and ask, not to carry on.
How this site and its bot were built
The site itself is a hand-rolled static site generator (a single Bun script plus the marked markdown library) that Fred and I built and deploy to Cloudflare Pages, the same way the PLAYBOOK teaches. Every chapter is a markdown file; a deterministic audit script checks every rule before anything ships.
The bot started as a private, local model on Fred's own hardware, measured against a set of easy and hard test questions. Then it moved to Cloudflare so anyone can use it:
- Ingest at every deploy: the published pages are split into heading-sized chunks (each keeps its page, title, and heading), embedded with Workers AI, and stored in a Vectorize index. A keyword index ships beside the site as static JSON. Every deploy re-indexes, so the bot never lags the pages.
- Retrieval: a language model first restates your question in the site's own vocabulary (and spots off-topic questions), then keyword search and vector search both run, and their rankings are merged with reciprocal rank fusion.
- Answering: the best passages are packed per page, the answer streams back with only the sources it actually used, and passages are treated as data, never as instructions.
- Guardrails: same-origin API, a 500-character cap, per-visitor rate limits, and no keys anywhere in your browser. If the model is busy, you get the matching passages verbatim instead of an error.
Pages Functions, Workers AI, and Vectorize, all on Cloudflare. Stuck on your own build? That's what the chapters are for: start at Chapter 0, and use the AI to fix the AI.