---
title: reed init
description: Scaffold a new documentation project.
---

```sh
reed init [--dir <path>] [--content <path>] [--template <mint|rapide|black>]
```

Creates a starter project: a `docs.json`, a content directory with example pages, and a
`docs.schema.json` copy for editor completion.

**Prerequisites:** none. `init` writes files and touches nothing else.

## Options

<ParamField name="--dir" type="path">
  Project root — where `docs.json` is written. Defaults to the current directory.
</ParamField>

<ParamField name="--content" type="path">
  Content directory. Defaults to `<dir>/content`.
</ParamField>

<ParamField name="--template" type='"mint" | "rapide" | "black"'>
  Which template to scaffold for. Defaults to `mint`.
</ParamField>

## What you get

`--template mint` scaffolds a full starter taxonomy — Home, Docs, API Reference, SDKs,
MCP, Skills and Changelog — with real prose in each category rather than empty stubs.
It is a worked example to edit and delete from, not a structure you are expected to keep.

`--template rapide` and `--template black` scaffold a minimal two-page stub.

## `$schema`

The generated `docs.json` points `$schema` at the `docs.schema.json` written next to it:

```json
{
  "$schema": "./docs.schema.json",
  "name": "My Documentation"
}
```

That file is a real, self-contained copy — not a `node_modules` reference, which would
silently fail to resolve in your editor under pnpm's default layout. Commit it. Re-run
`init` after upgrading Reed to refresh the copy.
