## Adicionar a dependência

:partial{name="install"}

## Estender a camada

```ts [nuxt.config.ts]
export default defineNuxtConfig({
  extends: ['@kirchdev/duxt']
});
```

## Escrever a documentação

O Markdown fica em `docs/`, na raiz do repositório — resolvido em relação ao
repositório e não ao diretório onde o site corre, para que um site numa
subpasta o encontre. Um ficheiro torna-se uma página, uma pasta torna-se uma
secção, e o frontmatter transporta o título, a descrição e o ícone.

::file-tree{title="o-teu-projeto/"}
---
tree:
  - name: docs/
    children:
      - name: index.md
      - name: 1.getting-started/
        children:
          - name: index.md
          - name: 1.installation.md
      - name: 2.guides/
        children:
          - name: 1.deploying.md
  - name: nuxt.config.ts
---
::

```md [docs/1.getting-started/index.md]
---
title: Introdução
description: O que é este projeto.
icon: lucide:rocket
---

A tua primeira página.
```

Um prefixo numérico ordena a árvore e é retirado do URL: `1.getting-started/` é
servido em `/getting-started`. Reordenar uma secção nunca move um URL — só
renomear a parte depois do ponto o faz.

::callout{type="tip" title="Sem H1 no corpo"}
O `title` da página é apresentado como `<h1>`. Um cabeçalho teu no início do
ficheiro seria o segundo da página.
::

## O que a compilação precisa

- **Node 24.15+.** A camada lê a sua base de dados através de `node:sqlite`, pelo
  que nenhum controlador SQLite nativo é instalado ou necessário.
- **Acesso de rede às tuas fontes**, se alguma delas for outro repositório, e um
  token para as privadas — o Content lê-o do `auth` da coleção.

## O que vem com ela

O pacote traz um comando, o `duxt`, e estender a camada é tudo o que é
preciso para o ter:

```bash
pnpm exec duxt report            # no que as tuas fontes se tornaram, em Markdown
pnpm exec duxt report --json     # o mesmo, sem desenhar
pnpm exec duxt report --help     # o que aceita e com que código sai
```

Imprime as coleções resolvidas, tudo o que a compilação verifica e os
redirecionamentos que as páginas declaram — sem servidor de desenvolvimento, por
isso corre em CI e num pipe. Vê
[O que a compilação verifica](/concepts/build-checks).

## Resultado

`nuxt dev` serve o site. Tudo o que o tema desenha são dados com um valor por
omissão, por isso o passo seguinte é o único ficheiro que o substitui:
[Configuração](/getting-started/configuration).