Getting Started

Getting Started

Chronicle is a config-driven documentation framework built on Vite, Nitro, and Apsara UI components. Write MDX content, configure with a single YAML file, and get a fully themed documentation site.

Installation

bun add @raystack/chronicle

Quick Start

1. Initialize a new project

chronicle init

This creates:

  • chronicle.yaml — your site configuration
  • content/ — content directory with a sample index.mdx
  • .gitignore — with node_modules, dist, .output entries

To use an existing directory as content (e.g. docs/):

chronicle init -c docs

2. Start the development server

chronicle dev

Your docs site is now running at http://localhost:3000.

3. Add content

Create .mdx files in your content directory. Each file becomes a page. Use folders to create nested navigation.

my-docs/
├── chronicle.yaml
├── content/
│   ├── index.mdx
│   ├── getting-started.mdx
│   └── guides/
│       ├── installation.mdx
│       └── configuration.mdx
└── .output/             # build output, gitignored

4. Build for production

chronicle build
chronicle start

Or use the combined command:

chronicle serve

Project Structure

A minimal Chronicle project looks like:

my-docs/
├── chronicle.yaml      # Site configuration
├── content/
│   ├── index.mdx       # Home page
│   └── guides/
│       └── setup.mdx   # Nested page at /guides/setup
└── .output/             # Build output, gitignored

All configuration is done through chronicle.yaml. No additional config files needed.

Next Steps