docs · alternative · nextjs
Free Mintlify and GitBook Alternative: Docs In Your App
Hosted docs tools start at $0 and climb fast. If your guides can live at /docs on your own domain, 19 markdown files are already doing it here.

Your docs are a second site with a second bill
You ship a product at yourapp.com, then someone asks for docs. The default move is a separate host: Mintlify, GitBook, a docs subdomain, another login, another invoice. The docs look good, and for a team with a writer, that is often the right call.
For a solo founder, the docs are usually a folder of text that describes the product you already built. They change when the code changes, and they ship with the same deploy. Paying a second platform to host that folder can wait.
BoringPush keeps the docs inside the app, at /docs, built from markdown files in data/docs/. This post shows the files, the code, and the limits, so you can decide whether a hosted tool still earns its price.
What the hosted plans cost
Mintlify and GitBook numbers come from their official pricing pages, checked on 2026-10-21.
| BoringPush docs | Mintlify Starter | GitBook Free | |
|---|---|---|---|
| Price | $199 once for the kit | $0 | $0 |
| Editor seats | Anyone who can commit | 5 | 1 free user |
| Custom domain | Your app's domain | Yes | No, Essential and up |
| Where content lives | Markdown in data/docs/ | Git repo, hosted by Mintlify | GitBook |
| Search | No | Yes | Yes |
| AI assistant | No | Pro and up | Essential and up |
| API playground | No | Yes | Yes |
| Browser editor | No | Yes | Yes |
Mintlify Pro is $450 a month billed annually, or $540 billed monthly. GitBook Essential is $65 per site per month plus $12 per user per month, and Ultimate is $249 per site plus $12 per user, both billed annually. Enterprise is a quote on both.
Both free tiers are real products. Mintlify Starter includes a custom domain, five editor seats, authentication, an MCP server and an API playground. GitBook Free includes GitHub sync, preview deployments, an MCP server and LLM-friendly output for one user.
If you need a hosted editor and a searchable docs site this week, those are fair prices. The built-in version is for a different shape of work.
What is in data/docs today
There are 19 markdown files. The first is 00-index.md, which renders at /docs itself. The rest are numbered guides, from 01-get-started.md to 18-ai-assistants-mcp.md, plus an assets folder for images.
Each file starts with four frontmatter fields:
---
title: "Auth — Google, Magic Links, Dev Login, Sessions"
description: "Adapters per database, JWT sessions, stale-session guard, admin allowlist."
date: "2026-09-19"
tags: ["docs", "auth"]
---The body is ordinary Markdown. Headings, code fences, tables, links and images all work. The docs renderer applies the same sanitizer as the blog, so scripts, iframes and inline event handlers are stripped before the HTML reaches the page.
How a new guide is added
Step 1 — Write the file. Drop 19-webhooks.md into data/docs/, with a title and description at the top. The route is built from the filename: data/docs/19-webhooks.md becomes /docs/19-webhooks.
Step 2 — Add it to the sidebar. app/(pages)/docs/Nav.js holds four hardcoded sections: Get Started, Learn Boring, Ship It and Operate. Add the slug to the right slugs array. Skip this step and the page still builds and works at its URL, but no link appears in the sidebar.
Step 3 — Deploy. generateStaticParams() in app/(pages)/docs/[slug]/page.js reads every .md file in the folder, so the new guide is built with the rest of the app. next-sitemap.config.js gives each /docs/<slug> entry the date from its frontmatter.
That is the whole publishing flow. There is no import screen, no content database and no second login.
What each page gets for free
A sidebar and an in-page list. The layout reads every markdown file, sorts by filename and passes the titles to Nav.js. On the page, each ## heading becomes an item in "In this guide", capped at the first eight.
A copy button. CopyBtn.js copies the raw markdown to the clipboard. That is handy when a reader wants to paste the guide into an AI assistant and ask a question about it.
An Open Graph card. app/(pages)/docs/[slug]/opengraph-image.tsx reads the guide title and draws a 1200 by 630 share image with Next's ImageResponse, over a photo backdrop. The index has its own card titled "Convention over configuration".
Interactive figures where they earn a place. The VISUALS map in the slug page attaches one component to a guide. 02-project-structure gets RequestFlow, 03-config-env gets OneSwitch, and 11-deployment gets DeployMap. A guide can place its visual with an HTML comment marker, or the visual renders at the end.
Image paths that survive the move. Markdown images written as assets/foo.png are rewritten to /docs/assets/foo.png, so the same files work in the editor and on the site.
What it does not have
There is no search in the docs code. A reader can use the browser's find or the sidebar, and that is it. A real docs site with fifty guides needs search, and this does not ship one.
There is no version switcher, no changelog, no review workflow and no permissions layer. Every guide is public, and editing means editing a file and deploying. There is no AI answer box, no API playground, no feedback widget and no analytics specific to docs.
The visual polish is also yours. The layout is a header, a left index and a content column, styled with the app's Tailwind tokens. Mintlify and GitBook have teams making that shell better every month.
When you should still pay for Mintlify or GitBook
Pay for a hosted docs tool when docs are a product surface, not a folder. Search, AI answers, API references that update from an OpenAPI spec, translations, review workflows and per-page permissions are real work, and both platforms have spent years on them.
Pay when a non-engineer writes the docs. A block editor and comments beat git for a support team, and a preview deployment beats asking someone to run the app locally.
Pay when the docs need to sit on their own subdomain with their own access rules. BoringPush docs live on the app's domain and share its deploy. That is the point, and it is also the constraint.
FAQ
How many docs ship with BoringPush?
There are 19 markdown files in data/docs/. One is the index that renders at /docs, 18 are numbered guides, and there is an assets folder for images.
Do I have to add a file to the sidebar by hand?
Yes. The route is generated from the folder, but the sidebar is a hardcoded list in app/(pages)/docs/Nav.js. A file that is not in one of its four sections still works at its URL but stays out of the navigation.
Can I use my own domain?
The docs use the same domain as the app, so there is no separate DNS record or certificate. A guide is at yourapp.com/docs/<slug>, and the app's deploy ships it.
Are the docs in the sitemap?
Yes. next-sitemap.config.js treats /docs/<slug> as a weekly page with priority 0.6, and takes its last-modified date from the guide's frontmatter. The index at /docs gets priority 0.8.
Can I keep using Mintlify and add these docs later?
Yes. The docs folder is plain markdown, so the content moves either way with a copy. The renderer is a few small files, and none of it touches the database or the billing code.
Keep reading
- Free Ghost Alternative: A Markdown Blog Built In — the same file-based idea for posts
- AGENTS.md vs CONVENTIONS.md — how the docs and the agent rules divide the work
- The Indie Hacker Stack, Without the Subscriptions — what else is built in
+ all the boring stuff (analytics, auth, SQLite ↔ Supabase, full marketplace, webhooks)
Command from your phone.
Built so autonomous AI agents build what you want without breaking what's already paying you.
- Built-in analytics — cookie-free mode, $0 forever, no PostHog bill
- SQLite ↔ Supabase: one setting, same field names
- Full digital marketplace & feedback boards included
- 3 payment rails: Stripe, LemonSqueezy & Dodo Payments
- Agent fences: lint gate, read-only data access, auto-rollback
- Ship from your phone via SSH & WireGuard/Tailscale in under a minute
$199
Get BoringPushOne-time payment · Lifetime updates · Unlimited projects.
Keep reading


