Skip to content

joggrdocs/zpress

zpress

An opinionated documentation framework for monorepos. Just point it at your code.

CI npm version License

Features

  • ⚙️ Config over convention — Define sections, pages, and nav in one declarative config.
  • Zero-config defaults — Smart conventions for sidebars, nav, icons, and landing pages.
  • 📦 Monorepo-native — Workspace metadata with auto-generated package cards.
  • 🔍 Auto-discovery — Glob patterns to find and organize markdown files.
  • 🎨 Beautiful out of the box — Catppuccin-themed UI with responsive layouts.

Install

npm install @zpress/kit

Usage

Define your docs

// zpress.config.ts
import { defineConfig } from '@zpress/kit'

export default defineConfig({
  title: 'my-project',
  description: 'Internal developer docs',
  sections: [
    {
      text: 'Getting Started',
      link: '/getting-started',
      from: 'docs/getting-started.md',
      icon: 'pixelarticons:speed-fast',
    },
    {
      text: 'Guides',
      prefix: '/guides',
      icon: 'pixelarticons:book-open',
      from: 'docs/guides/*.md',
      textFrom: 'heading',
      sort: 'alpha',
    },
  ],
  nav: 'auto',
})

Run it

npx zpress dev       # start dev server with hot reload
npx zpress build     # build for production
npx zpress serve     # preview production build

Why @zpress/kit?

The package is published as @zpress/kit because npm's moniker rules are overly aggressive and ban names that are similar in anyway to existing packages, we will fix once we get npm to allow us to push to that namespace.

License

MIT

About

An opinionated documentation framework for monorepos. Just point it at your code.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks