Runir is a modern, CLI-first documentation engine built with Next.js 14 and Tailwind CSS. Transform markdown files into beautiful, interactive documentation sites with zero configuration overhead.
- Extended Markdown — Custom components like
<Tip>,<Note>,<Steps>,<Tabs>, and<CardGroup>work directly in.mdfiles - Instant Search — Automatic full-text search indexing with
Ctrl+K/Cmd+Kshortcut - Modern UI — Clean, responsive dark theme optimized for technical documentation
- CLI Workflow — Initialize, develop, and build with simple commands
- Static Export — Generates a fully static
out/directory for any hosting platform - Configurable — Navigation, branding, theme, and paths via a single
runir.config.js
npm install -g @fezcode/runirmkdir my-docs && cd my-docs
runir initThis creates:
runir.config.js— your site configurationdocs/— starter markdown files
runir devOpen http://localhost:3000 to see your docs.
runir buildStatic site is exported to ./out/.
Customize your site in runir.config.js:
module.exports = {
name: "My Project Docs",
description: "Documentation for my project",
docsDir: "docs",
// Controls the URL prefix for your docs site
// "" → mysite.com/
// "/docs" → mysite.com/docs/
// "/my-repo" → username.github.io/my-repo/
basePath: "",
navigation: [
{
title: "Getting Started",
links: [
{ title: "Introduction", href: "/" },
{ title: "Quick Start", href: "/quick-start" },
],
},
],
navbar: {
title: "My Docs",
links: [
{ title: "GitHub", href: "https://github.com/you/repo", external: true },
],
},
theme: {
accentColor: "#d97757",
accentColorLight: "#e0896d",
},
search: {
enabled: true,
placeholder: "Search docs...",
},
footer: {
text: "Built with Runir",
links: [],
},
};Write these directly in your .md files:
<Tip>Helpful advice or best practice.</Tip>
<Note>Additional context or clarification.</Note>
<Warning>Something that could cause problems.</Warning>
<Info>Background information or reference.</Info><Steps>
<Step title="First">Do this first.</Step>
<Step title="Second">Then this.</Step>
</Steps><Tabs>
<Tab title="npm">npm install foo</Tab>
<Tab title="yarn">yarn add foo</Tab>
</Tabs><CardGroup cols={2}>
<Card title="Guide" href="/guide">Description here.</Card>
<Card title="API" href="/api">API reference.</Card>
</CardGroup>-
Set
basePathto your repo name inrunir.config.js:basePath: "/my-repo" -
The
runir initcommand creates a.github/workflows/deploy-docs.ymlworkflow. Push tomainand enable GitHub Pages (source: GitHub Actions) in your repo settings.
Set build command to runir build and publish directory to out. Leave basePath as "".
Run runir build and upload the out/ directory.
| Command | Description |
|---|---|
runir init |
Create runir.config.js and docs/ with starter templates |
runir dev |
Start dev server with hot reload |
runir build |
Build static site to ./out/ |
runir help |
Show help |
MIT
