---
title: "fugg"
description: "AI coding agents return outdated code and hallucinate apis — confidently. fugg gives them docs matched to the version in your project, read like files (ls, cat, grep), frozen when published."
canonical_url: "https://fugg.dev/"
md_url: "https://fugg.dev/index.md"
---

# You can't tell what your agent doesn't know until the code breaks

AI coding agents return outdated code and hallucinate apis — confidently. fugg gives them docs matched to the version in your project, read like files (ls, cat, grep), frozen when published.

## Install

~~~
curl -fsSL https://fugg.dev/install | sh
~~~

## the problem, shown

Without fugg: 25 tool calls, 30k tokens, eventually right. With fugg: 3 calls, 3k tokens, right first try.

## how it plugs in

- **1 — install** — one command puts the fugg cli on your machine. works with any agent that can run shell commands — claude code, cursor, codex, your own.
- **2 — tell your agent once** — add one line to your agent's instruction file (CLAUDE.md, AGENTS.md): "check docs with fugg before using an external api." that's the whole integration.
- **3 — it just reads** — from then on the agent runs fugg grep and fugg cat on its own, the same way it reads your project files. nothing else to configure.

## read docs the way your agent reads files

Your agent already runs ls, cat, and grep on your code all day. fugg is just more files. No mcp server to configure, no tool catalog loaded into context, nothing new to learn — one line in your agent's instructions and it starts reading. It pulls the section it needs, not the whole site.

~~~
$ fugg ls /docs/vercel/nextjs/latest/
README.md  getting-started/  guides/  migrations/
$ fugg grep -n 'proxy' /docs/vercel/nextjs/latest/migrations/v16-upgrade.md
633:## `middleware` to `proxy`
641:mv middleware.ts proxy.ts
$ fugg sed -n '633,646p' /docs/vercel/nextjs/latest/migrations/v16-upgrade.md
… 14 lines into context, not a 600-line page …
~~~

## frozen after publish

Once a snapshot publishes, it doesn't change — the same bytes this week and next, so the same question gets the same answer. Every read says exactly which snapshot it came from: site, version, file, lines. Want a different version? Ask for it: latest, v15, whatever.

~~~
$ fugg cat /docs/expo/docs/sdk-50/sdk/sqlite.md | shasum
3f9c11a2c88d…e4a1   # aug 12
$ fugg cat /docs/expo/docs/sdk-50/sdk/sqlite.md | shasum
3f9c11a2c88d…e4a1   # aug 27 — identical
$ fugg head -3 /docs/expo/docs/sdk-50/sdk/sqlite.md
site: expo/docs   version: sdk-50
~~~

## how it goes

- **01 — you ask** — you hand your agent an ordinary task: add embeddings for the doc chunks.
- **02 — it guesses** — training data is a year old. the agent writes the old openai api — it looks right, and it breaks. the web-search detour that follows burns your quota.
- **03 — with fugg, it checks** — the agent greps the docs for the version you're actually on — frozen, version-matched, exact — and reads 15 lines, not a whole site.
- **04 — you merge** — the diff on your screen runs on the first try. 3 calls, 3k tokens, done.

## already tried something?

- **context7 & docs mcps** — they search an index and send your agent whatever ranks best — and the index updates under you. fugg doesn't rank anything: your agent reads a fixed docs tree for the version you name, and the same read returns the same bytes.
- **web search** — the agent skims some page and paraphrases it — you can't tell which page, or for which version. every fugg read carries its address: site, version, file, line range. open the same path and you'll read the same words it did.
- **your own rag pipeline** — chunking, embeddings, re-indexing every release — a pipeline you maintain forever. fugg is just files. nothing to re-index, nothing to re-rank.

## FUGGbench catalog

| Site | Path | Version | Pages | Freshness | Overall |
| --- | --- | --- | --- | --- | --- |
| SwiftUI | apple/swiftui | v0.20260505.0 | 7,621 | fresh | 92 |
| Stripe | stripe/docs | v1.0.0 | 4 | seeded | 90 |
| Tailwind CSS | tailwindcss/docs | v0.20260504.0 | 200 | fresh | 88 |
| OpenAI API | openai/api | v0.20260504.0 | 140 | fresh | 86 |
| Next.js | vercel/nextjs | v16.2.2 | 4 | seeded | 85 |
| Expo | expo/docs | v0.20260504.0 | 500 | fresh | 82 |
| Cobra | spf13/cobra | v1.10.2 | 8 | seeded | 78 |
| LangChain | langchain/python | v0.20260504.0 | 64 | fresh | 68 |

## about

fugg is an agent tool that gives your agent shell access to a frozen, versioned set of docs for the library versions you actually use. built by General Frontier.

- **agent-first** — built for agents to read, not humans to browse
- **plain files, plain commands** — if your agent can read a file, it can use fugg

## get it running

~~~
curl -fsSL https://fugg.dev/install | sh
~~~

then fugg sites lists everything that's indexed. one line in your agent's instructions, and it reads for itself.
