> AI coding agents: see [/llms.txt](/llms.txt) for the full documentation index. Markdown version: [/docs/manual/en/getting-started/installation.md](/docs/manual/en/getting-started/installation.md).

---
title: Installation
description: Get started with TockDocs.
navigation:
  icon: i-lucide-download
seo:
  description: Get started with TockDocs documentation theme.
  title: Installation
---

## `create-tockdocs` CLI

::steps
### Create your docs directory

Use the `create-tockdocs` CLI to scaffold a new TockDocs project:

```bash [Terminal]
npx create-tockdocs my-docs
```

You can choose between two starter templates:

- `default` — single-locale docs in legacy mode
- `i18n` — multi-locale docs in legacy mode using `@nuxtjs/i18n`

```bash [Terminal]
# Create with the i18n starter
npx create-tockdocs my-docs -t i18n
```

### Start the development server

Move into the project directory and start Nuxt in development mode:

```bash [Terminal]
cd my-docs
npm run dev
```

By default, TockDocs runs on <http://localhost:4987>.

::note
If port `4987` is already in use, the local dev launcher exits instead of falling back to `3000` or `3001`.
::

### Start writing

Head over to the [Edition](/docs/manual/en/concepts/edition) guide to learn how content, routing, frontmatter, and MDC syntax work in TockDocs.
::

## Which architecture do the starters use?

The generated starters are intentionally lightweight:

- the `default` starter uses **legacy mode** with a single content tree
- the `i18n` starter uses **legacy mode + i18n** with locale folders such as `content/en` and `content/zh`

TockDocs also supports **knowledge-base mode** for multi-KB sites like the official docs. In that setup, content is organized under `content/<kb>/<locale>/...` with a `kb.yml` file per knowledge base.

::tip{to="/docs/manual/en/getting-started/project-structure"}
See the project structure guide for side-by-side examples of legacy mode and KB mode.
::

## AI Assistant Skill

Get started quickly with TockDocs by adding specialized knowledge to your AI assistant (Cursor, Claude, etc.):

```bash [Terminal]
npx skills add https://tockdocs.vercel.app
```

This skill helps your assistant:

- scaffold pages with valid TockDocs structure
- use MDC and prose components correctly
- follow content and architecture conventions
- apply current TockDocs configuration patterns

::tip{to="/docs/manual/en/ai/skills"}
You can also publish your own skills from your TockDocs site.
::

## Layer Integration

TockDocs is a Nuxt layer. The starter already generates a `nuxt.config.ts` that extends `tockdocs`:

```ts [nuxt.config.ts]
export default defineNuxtConfig({
  extends: ['tockdocs'],
})
```

In practice, you usually work through the standard Nuxt scripts from your app:

```bash [Terminal]
npm run dev
npm run build
```
