✨ Publier v1 is live — a polished docs platform built for the open web.
Skip to content

Installation

Install the Publier CLI, scaffold a site, and run the dev server in under 60 seconds.

Prerequisites

  • linux-x64 — macOS and Windows are not supported today.
  • Bun 1.1+ — required. Bun is the only supported runtime and package manager. Install with curl -fsSL https://bun.sh/install | bash.

Publier’s dev and build commands run Astro under Bun directly (bunx --bun astro …). npm, pnpm, and yarn aren’t supported — Node 22+ refuses to strip TypeScript inside node_modules, and several @publier/* packages still ship Astro/Qwik source.

1. Install the CLI

Terminal window
curl -fsSL https://publier.net/install.sh | sh

The installer downloads the publier binary, verifies it, and installs it to your PATH.

2. Scaffold a project

Terminal window
publier new my-site
cd my-site

publier new asks you to pick a template:

TemplateIncludes
docsDocs with sidebar, TOC, full-text search
blogBlog with RSS, tags, and author pages
company-siteLanding, about, team, careers, press, contact
fullEverything — docs + blog + company-site + standard pages

The scaffolder uses pnpm install (pnpm is the package manager; bun is the runtime). Flags: --template, --theme, --git/--no-git, --install/--no-install.

3. Sign in

publier dev and publier build require a valid license token:

Terminal window
publier login --token <jwt>

The token is cached at ~/.publier/auth.json. Alternatively, set PUBLIER_TOKEN in your shell or CI environment — it takes precedence.

4. Start the dev server

Terminal window
publier dev

Your site is live at http://localhost:4321. MDX, config, and theme changes hot-reload instantly.

5. Project layout

my-site/
├── src/
│ ├── content/
│ │ ├── docs/ ← Documentation pages (MDX)
│ │ ├── blog/ ← Blog posts
│ │ └── changelog/ ← Changelog entries
│ ├── components/ ← Your custom Astro components
│ └── pages/ ← Optional: override any injected route
├── public/ ← Static assets (logo, favicon, OG images)
├── astro.config.ts ← docsShell() auto-wires everything
├── src/content.config.ts ← Astro content collections
├── publier.config.yaml ← Site config (nav, search, pages)
└── theme.yaml ← Color theme + typography

6. Add your first page

Create a new MDX file under src/content/docs/:

src/content/docs/my-page.mdx
---
title: My first page
description: A short description shown in search results and the <head>.
---
Hello from **Publier**!
:::tip
Use callouts, tabs, cards, and steps — all work out of the box.
:::
import { Accordion, AccordionItem } from '@publier/primitives';
<Accordion>
<AccordionItem title="How do I customize the theme?">
Edit `theme.yaml` — change `preset:` or override individual tokens.
</AccordionItem>
</Accordion>

Save the file — the dev server picks it up immediately and adds it to the sidebar.

7. Build for production

Terminal window
publier build

Static HTML is emitted to dist/. Deploy anywhere: Cloudflare Pages, Netlify, Vercel, GitHub Pages, nginx. See the deployment guide.

Next steps