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.

A faded tile reading Mintlify and GitBook with a curved arrow to the BoringPush logo, titled Free docs alternative
A faded tile reading Mintlify and GitBook with a curved arrow to the BoringPush logo, titled Free docs alternative · Photo: BoringPush

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 docsMintlify StarterGitBook Free
Price$199 once for the kit$0$0
Editor seatsAnyone who can commit51 free user
Custom domainYour app's domainYesNo, Essential and up
Where content livesMarkdown in data/docs/Git repo, hosted by MintlifyGitBook
SearchNoYesYes
AI assistantNoPro and upEssential and up
API playgroundNoYesYes
Browser editorNoYesYes

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:

data/docs/04-auth.md
---
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

Get BoringPush →

+ all the boring stuff (analytics, auth, SQLite ↔ Supabase, full marketplace, webhooks)

The Agent-First Shipping Kit

Command from your phone.

Built so autonomous AI agents build what you want without breaking what's already paying you.

$199

Get BoringPush

One-time payment · Lifetime updates · Unlimited projects.

Keep reading