Prosefly

Prosefly theme · Astro v7

Build docs.
Stay focused.

Lotus is an installable Astro theme for teams who want a thoughtful documentation experience without rebuilding the chrome around it.

pnpm add @prosefly/astro-theme-lotus
Lotus / OverviewResponsive by default
Lotus documentation pages shown on desktop and mobile screens
One docs shell, from desktop to phone.
Content-first layouts
Config over ceremony
Static output, ready to ship

The useful middle layer

Everything around
your content.

Lotus handles the structure that makes documentation feel complete, while your Astro project remains yours.

Routes that follow your content

Inject docs routes from your collection without giving up control of the rest of your Astro site.

Navigation that feels native

Header, subnav, sidebar, breadcrumbs, page actions, and table of contents work together out of the box.

MDX with useful primitives

Compose guides with callouts, cards, tabs, steps, accordions, file trees, and expressive code blocks.

Search when readers need it

Choose local search, Pagefind, or DocSearch while keeping the surrounding page experience consistent.

Tokens, not tangled overrides

Tune the visual language with semantic CSS tokens for accent, gray, radius, type, and surfaces.

Ready for more than English

Keep routes, UI messages, edit links, and generated metadata aligned across locales.

A complete docs shell

Give every page a clear place to live.

Lotus connects your content collection to generated routes, responsive navigation, search, and a calm reading experience. You keep writing; the theme keeps the interface coherent.

  • Generated docs routes
  • Responsive sidebar and table of contents
  • Search-ready page structure
Lotus documentation homepage with navigation, search, and a live preview

Choose a template

Start with the shape your product needs.

Lotus Starter gives you the docs shell. Lotus Pro adds the product surfaces around it, including an API reference powered by Astro OpenAPI.

Docs foundationOpen source

Lotus Starter

A clean starting point for documentation sites that need the Lotus shell and room to define their own content model.

  • Docs routes and navigation
  • MDX and search-ready structure
  • Deploy anywhere Astro runs
Product docsSponsor only

Lotus Pro

A product documentation template with API reference pages, releases, milestones, and blog examples already wired up.

  • Astro OpenAPI included
  • Product docs and API reference
  • Blog, changelog, and milestones

Light and dark, by default

A visual system that stays out of the way.

Use the built-in appearance controls or bring your own palette. Accent, gray scale, radius, typography, and dark mode are all exposed as semantic tokens.

  • System-aware color modes
  • Semantic CSS tokens
  • Accessible contrast defaults
Lotus documentation page shown in light and dark mode

Designed for real projects

From desktop docs to a phone-sized screen.

The shell adapts around your content at every breakpoint, with compact controls and readable typography that make long-form documentation comfortable anywhere.

  • Mobile navigation that scales down
  • MDX components that travel with your content
  • No page-layout lock-in
Lotus documentation theme displayed on a desktop screen and a mobile phone

A small setup surface

Start with a config file.
Ship with confidence.

Install the theme, point it at your content, and keep extending your site through Astro’s own primitives.

theme.config.json
{
  "$schema": "https://prosefly.dev/schema/lotus.json",
  "name": "My Docs",
  "appearance": {
    "accent": "violet",
    "defaultMode": "system",
    "radius": "medium"
  },
  "docsNav": [
    { "label": "Guides", "items": ["overview", "installation"] }
  ]
}

Yours to customize.

Use the stable schema URL for editor autocomplete and validation, then override only the pieces your project needs.

Open the schema
Install the packages
pnpm add @prosefly/astro-theme-lotus @prosefly/astro-components

Your next docs site

Let the content
take the stage.

Bring Lotus into your Astro project and start with a shell that is already considered.

Read the docs