---
title: Getting Started
description: A comprehensive guide to getting started with Geistdocs
type: guide
summary: Set up a new Geistdocs project, configure environment variables, and create your first documentation page.
related:
  - /docs/env
  - /docs/syntax
  - /docs/deployment
---

# Getting Started



This guide will walk you through everything you need to know to set up and customize your documentation site.

## Prerequisites

Before you begin, make sure you have:

* **Node.js 18+** installed on your system
* **pnpm** (recommended) or your favorite npm package manager
* A **GitHub account** for repository hosting
* Basic familiarity with **MDX**, **Next.js**, and **React**

## Installation

### 1. Create a New Project

Create a new project using the Geistdocs CLI:

```bash title="Terminal"
npx @vercel/geistdocs init
```

This will clone the Geistdocs `template` app into a new directory. It will prompt you for a project name, then install all dependencies and delete the Geistdocs website content.

### 2. Configure Environment Variables

Copy the example environment file:

```bash title="Terminal"
cp .env.example .env.local
```

Then edit the environment variables in the `.env.local` file. You can learn more about the environment variables in the [Environment Variables](/docs/env) section.

### 3. Start Development Server

Run the development server:

```bash title="Terminal"
pnpm dev
```

Open [http://localhost:3000](http://localhost:3000) in your browser to see your documentation site.

### 4. Create a New Page

Create a new file in `content/docs/`:

````mdx title="content/docs/my-first-page.mdx"
---
title: My First Page
description: This is my first documentation page
---

# My First Page

Welcome to my documentation! This page will be available at `/docs/my-first-page`.

## Features

- Easy to write with Markdown
- Full React component support
- Automatic navigation generation

## Code Example

```typescript
const greeting = (name: string): string => {
  return `Hello, ${name}!`;
};

console.log(greeting("World"));
```
````

Learn more about the available syntax in the [Syntax](/docs/syntax) section.


---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/llms.txt](/llms.txt)