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
curl -fsSL https://publier.net/install.sh | shThe installer downloads the publier binary, verifies it, and installs it to your PATH.
2. Scaffold a project
publier new my-sitecd my-sitepublier new asks you to pick a template:
| Template | Includes |
|---|---|
docs | Docs with sidebar, TOC, full-text search |
blog | Blog with RSS, tags, and author pages |
company-site | Landing, about, team, careers, press, contact |
full | Everything — 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:
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
publier devYour 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 + typography6. Add your first page
Create a new MDX file under src/content/docs/:
---title: My first pagedescription: A short description shown in search results and the <head>.---
Hello from **Publier**!
:::tipUse 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
publier buildStatic HTML is emitted to dist/. Deploy anywhere: Cloudflare Pages, Netlify, Vercel, GitHub Pages, nginx. See the deployment guide.
Next steps
- Configuration — every option in
publier.config.yaml,theme.yaml, andastro.config.ts. - Content authoring — MDX frontmatter, snippets, and conventions.
- Theming — pick or customize one of the 14 built-in themes.
- Components — MDX primitives for prose. UI components — page-level widgets.