Thally

AI-native documentation for agents and humans.

One MDX source serves AI agents and human readers from the same URL. And when your product changes, Thally drafts the docs PR.

A Thally page served as structured JSON for AI agents

Read natively by the agents your readers already use

The feature shipped. The docs already know.

Every trigger produces the same thing: a documentation pull request drafted by the Thally agent, in your house style, on your infrastructure. It never merges. A human always does.

EO

ekene commented on #482 · acme/swap-widget

@thally document this. The swap widget now supports TRON and SOL.

docs: add TRON and SOL to supported networks

thally/agent-482 → main · +38 −6

Open · awaiting review
thally check passedPreview deployed

Reviewed pull requests only. The agent never pushes to main.

Docs that hold up for both audiences

Write once in MDX. Thally structures it for agents, typesets it for readers, and keeps both honest with checks on every build.

A readiness score you can gate CI on. A deterministic 0 to 100 grade per build, naming the exact pages that drag it down. The agent turns ailing metrics into fix PRs.

Docs that maintain themselves. Builds validate links and resync your spec. Product changes and mentions become reviewed docs PRs.

WhenPush to mainRebuild graph
WhenSpec changesRegen API docs
WhenBroken linkFail CI
When@thally commentDraft docs PR
WhenProduct PR mergedDocs PR via Track

Find anything in under 50ms. ⌘K search runs full-text and vector recall on one index. No third-party search box.

Type a command…⌘K
Search the docs
Ask Thally AI
Copy page as Markdown

Answers with receipts. Grounded chat quotes your docs with inline citations, and refuses to guess.

MR
How do I rotate API tokens?
Per project, zero downtime. See Authentication §2.
T

Every build gets a report card. Checks run on each deploy, so machine readers never meet a stale page.

Build #214agent-ready
142 links validated
llms.txt regenerated
Embeddings refreshed

One graph, read six different ways

There's no glue code between search, chat, the API reference, and the agent layer. They're the same content graph, projected for whoever is reading.

Author once. Thally does the projections.

Every page is parsed into a typed graph. JSON, JSON-LD, Markdown, HTML, search, and embeddings are all generated from it, never maintained by hand. One source of truth, no drift.
guides/authentication.mdx

---

title: "Authentication"

---

# Authentication

Authenticate requests with a

bearer token in the header.

<Steps>…</Steps>

JSON

/guides/auth.json

JSON-LD

schema.org/TechArticle

Markdown

/guides/auth.md

HTML

/guides/auth

Search index

full-text + vector

Embeddings

recomputed per build

Move in with one command. Leave whenever you want.

The migrator detects your current platform, converts every page to clean MDX, rebuilds the navigation, carries your redirects, and wires up your OpenAPI spec. No manual copying, no reformatting.

migrate.sh

$

Deploys to

  • Vercel
  • Netlify
  • Cloudflare
  • Docker
  • Static export

Your docs are a Next.js repo you own, MIT licensed. There is no hosted middleman to outgrow and nothing to export your way out of later.

Mission control, built in

Every deploy ships an admin dashboard at /admin. Branding, analytics, team access, and the agent's PR queue all live in one place and change the live site instantly.

yourdocs.com/admin
Thally admin dashboard, Analytics view: human and agent traffic, engagement, and top pages

Rebrand without a rebuild. Themes, accent colors, and per-mode logos apply to the live site the moment an Owner saves them. No merge, no redeploy.

Analytics that point at gaps. First-party traffic, top pages, and the search terms that returned nothing, so you know exactly which page to write next.

A queue for agent-drafted PRs. Every docs task the agent produces, from Track, drift sweeps, or @thally mentions, waits here for human review.

Roles from a git-committed roster. Owner, Editor, and Viewer access lives in your repo and goes through code review. OIDC sign-in, no database, no per-seat fees.

Every page your product needs, from one source

Product guides, API references, and changelogs are all projections of the same typed content graph, written once in MDX and never maintained by hand.

Product guides

Write guides in MDX with 25+ built-in components: Steps, Tabs, Cards, Mermaid, and more.

4 formats from one source

GuideAPIChangelog
1

Install the CLI

npm i -g thally
2

Write in MDX

<Steps>, <Tabs>, <Card>
3

Preview locally

thally dev
StepsTabsCardsMermaidCalloutsCode groups+ 19 more
API reference

Drop in an OpenAPI spec and get parameter tables, code samples, and a live Try-it console.

Zero drift from your spec

GET/v1/pages
POST/v1/tokens/rotate
Try it200 OK · 84ms

{

"token": "thly_9f2c…",

"expires_in": 86400

}

Changelog, search & more

RSS-backed changelogs, hybrid ⌘K search, versioning, and one-command translation to any locale.

Search resolves in under 50ms

v2.4

Webhook delivery retries

Exponential backoff, dead-letter queue, and per-event logs.

rotate tokensK

12 results across guides, API, and changelog.

endejafrpt
thally translate --locale de

Customer voices

Teams that switched don't go back

Engineering and DevRel leaders describe what changed once one source fed their readers, search, chat, and every AI agent, and the docs stopped drifting.

See how teams use Thally
Amara Okafor
Support tickets dropped by a third once the answer engine went live. It quotes our docs. It doesn't improvise.
Amara Okafor
Head of Engineering, Northwind
Daniel Reyes
A feature merged on Friday and the docs PR was waiting for review Monday morning. Track closed a gap we'd had for years.
Daniel Reyes
Platform Lead, Fathom
Priya Nair
The readiness score sold our whole team. Docs quality finally shows up in CI like test coverage.
Priya Nair
VP Developer Experience, Latimer
Sam Whitfield
Engineering's contribution to docs is one @thally comment. I review a queue of drafted PRs instead of chasing teams.
Sam Whitfield
Staff Engineer, Kepler Labs
Tomas Berg
The migration from Mintlify really was one command. Claude and ChatGPT started quoting our docs correctly the same week.
Tomas Berg
DevRel Lead, Brightwire

Plans

Free to self-host, simple to scale

Thally is open source. Run it yourself forever, and upgrade when you want managed hosting, AI answers, and enterprise controls. No surprise fees.

MonthlyAnnual (save 37%)

Free

Self-host everything, forever

$0

  • MIT licensed, commercial use OK
  • Unlimited pages & readers
  • All four output formats + MCP server
  • ⌘K hybrid search
  • Docs agent with your own API key
Most popular

Cloud

Managed hosting for growing teams

$60

per editor / yr

  • Thally AI answers & chat
  • Thally Track + one-click GitHub App
  • Agent-readiness CI checks
  • Admin dashboard & docs analytics
  • Owner, Editor & Viewer roles

Enterprise

For regulated & large orgs

$120

per editor / yr

  • SAML & SCIM SSO
  • Audit log & 99.9% uptime SLA
  • Self-hosted with support
  • Dedicated account manager
  • Custom onboarding

Frequently asked questions

Quick answers about migration, automation, agents, self-hosting, and how Thally fits your stack.