---
title: Project Structure
description: Key files and directories in a Thally project.
url: http://localhost:3040/errors
---

# Project Structure

Key files and directories in a Thally project.

A Thally project follows a standard Next.js App Router layout with a few conventions for documentation content.

## Directory overview

| Path | Purpose |
| --- | --- |
| `docs.json` | Navigation structure — tabs, groups, and pages |
| `openapi.yaml` | OpenAPI spec for auto-generated API reference |
| `src/content/` | MDX documentation pages |
| `src/data/site.ts` | Site name, description, brand colors, analytics, versioning |
| `src/components/` | UI components (layout, MDX, API reference) |
| `src/app/` | Next.js App Router pages and layouts |
| `src/app/sitemap.ts` | Auto-generated sitemap.xml |
| `src/app/robots.ts` | Auto-generated robots.txt |
| `src/app/api/og/` | Dynamic OG image generation endpoint |
| `src/app/changelog/rss.xml/` | RSS feed for changelog |

## Content files

Every `.mdx` file in `src/content/` becomes a documentation page. The file path determines the slug:

- `src/content/introduction.mdx` → `/introduction`
- `src/content/guides/setup.mdx` → `/guides/setup`

## Configuration files

- **`docs.json`** — defines all navigation (tabs, sidebar groups, page order)
- **`src/data/site.ts`** — site metadata, brand presets, and external links
- **`.env.local`** — environment variables like `THALLY_SITE_URL`

This is example content that ships with the Thally template. Replace it with your own product documentation.