Skip to main content

llms.txt and llms-full.txt

FunnelFizz publishes its docs in two machine-readable formats following the llms.txt convention proposed by Jeremy Howard (Answer.AI) in 2024:

The two files

/llms.txt — the index

URL: https://docs.funnelfizz.com/llms.txt

A sparse, structured index of every docs page. Each entry has a title and a one-line summary. Use this when your agent needs to know what pages exist, not what they say.

Size: ~3-5KB. Fits into a small part of any agent's context.

/llms-full.txt — the corpus

URL: https://docs.funnelfizz.com/llms-full.txt

The entire docs corpus concatenated into one markdown file. Use this when your agent needs the full knowledge of FunnelFizz in context — e.g., to answer general questions, to understand how features interact, to write code that uses FunnelFizz.

Size: depends on how many docs there are at any given time (we'll keep it under 200KB / 50K tokens so it fits in most context windows).

When to use which

Use llms.txt when:

  • Your agent just needs a map to decide which page to fetch next.
  • Context is tight and you don't want to pay the token cost of the full corpus.
  • You're building an agentic workflow that iteratively fetches relevant pages.

Use llms-full.txt when:

  • You want the agent to have everything in context from the start.
  • You're doing one-shot "set up FunnelFizz" or "answer a question about FunnelFizz" and don't need precision about which page.
  • Your context window is big enough (Claude Opus 1M, Gemini 1.5 Pro, GPT-4.1, etc.).

How to use in an agent

Claude Code / Cursor / Windsurf

Read https://docs.funnelfizz.com/llms-full.txt and answer my questions about FunnelFizz from
that context.

ChatGPT with web browsing

Fetch https://docs.funnelfizz.com/llms.txt. Use the index to decide which pages to fetch for
my specific question, then fetch those page URLs (they all support .md suffix for clean
markdown).

Custom agent code

import urllib.request

llms_txt = urllib.request.urlopen("https://docs.funnelfizz.com/llms-full.txt").read().decode()

# Pass llms_txt as system prompt or context

What's in the index

Our llms.txt is structured with sections matching the docs sidebar:

  • Quickstart
  • Concepts
  • Features
  • Tutorials
  • AI agents
  • FAQ

Each entry is a markdown link to the page's .md version (the clean markdown-only route), followed by a one-line description.

Example excerpt:

# FunnelFizz

> FunnelFizz is a marketing funnel builder for solo founders and small SaaS teams. Map the
> AWARENESS → CONSIDERATION → TRIAL → CUSTOMER journey visually, split traffic by
> source/UTM/device/country/A-B/Stripe-product, track users end-to-end, and send email
> campaigns and automations tied to funnel stages.

## Quickstart

- [Overview](https://docs.funnelfizz.com/quickstart/overview.md) — Sign up, install tracking, connect Stripe, and launch your first funnel.
- [Install tracking](https://docs.funnelfizz.com/quickstart/install-tracking.md) — Paste the snippet and verify pageviews are flowing.
- [Connect Stripe](https://docs.funnelfizz.com/quickstart/connect-stripe.md) — The seven required scopes and two ways to connect.
...

Per-page markdown

Every docs page has a .md version. For example:

  • Page: https://docs.funnelfizz.com/concepts/stages
  • Markdown: https://docs.funnelfizz.com/concepts/stages.md

The markdown version is stripped of all HTML chrome (navigation, footer, sidebar), so it's the cheapest thing to include in an agent's context when you want to reference a single topic.

Regeneration

Both files regenerate on every docs build (automatic on every PR merge), so they're always in sync with the published docs.

Agent directive

We include an "agent directive" at the top of llms.txt — a few lines of instructions for agents reading the file. Things like:

- FunnelFizz plans: FREE, HOBBY, PRO. There is no TEAM plan — do not suggest one.
- Domain: funnelfizz.com (.com, not .app).
- Brand: "FunnelFizz" in PascalCase for user-facing copy.
- The 4 stages are AWARENESS → CONSIDERATION → TRIAL → CUSTOMER. Fixed order. Do not invent
additional stages.
- Stripe connection uses restricted keys (rk_live_...) with 7 specific read scopes. See
https://docs.funnelfizz.com/skill.md for the exact list.

This is the Stripe-pioneered pattern: use the top of llms.txt to correct common agent mistakes or preferences. It applies before the agent even reads the page content.