---
title: Create a Thally project with the CLI
description: Use the developer setup path for a local evaluation, automation, migration, or self-hosted documentation site.
url: https://pr-6-a9c4e9fe1b6c.thally.app/guides/getting-started
---

# Create a Thally project with the CLI

Use the developer setup path for a local evaluation, automation, migration, or self-hosted documentation site.

The recommended path is to create and publish a managed site through the
[Thally Cloud quickstart](/quickstart). Use this developer guide when you need
an isolated local evaluation, CI automation, a migration workspace, or a
self-hosted deployment.

#### [Create a local project](#create-a-local-project)

    Answer a few prompts and create a ready-to-edit documentation project.

#### [Use automation defaults](#use-automation-defaults)

    Scaffold the same project non-interactively for scripts or a fast evaluation.

#### [Migrate existing docs](#migrate-existing-documentation)

    Import a repository or public documentation site instead of starting over.

## Create a local project

Run the interactive setup:

```bash
npx create-thally-docs my-docs --install
```

The setup asks only for values that shape the initial project:

| Prompt | What it changes |
| --- | --- |
| Project name | Header, metadata, and starter content |
| Description | Search and social metadata |
| Brand preset | Initial light and dark color tokens |
| GitHub repository | Navbar and support links |
| Install dependencies | Whether the site is ready to run immediately |

Start the local server after the command completes:

```bash
cd my-docs
npm run dev
```

Open the URL printed in your terminal. It starts at
[http://localhost:3040](http://localhost:3040).

## Use automation defaults

Use `--yes` to accept the defaults and `--install` to install dependencies in
the same command:

```bash
npx create-thally-docs my-docs --yes --install
```

Use this form in a script, a temporary evaluation, or an agent workflow. You
can change the product identity later in `src/data/site.ts` and `docs.json`.

## Migrate existing documentation

Prefer the source repository when you have access to it. A repository migration
can preserve authored Markdown or MDX, navigation, local assets, snippets,
locales, redirects, and OpenAPI files that a public website may not expose.

```bash
npx create-thally-docs migrate https://github.com/acme/docs acme-docs
```

You can also migrate a public documentation URL:

```bash
npx create-thally-docs migrate https://docs.acme.com acme-docs
```

The interactive flow asks whether the source uses Mintlify, Docusaurus, or
automatic detection. For non-interactive runs, select the adapter explicitly:

```bash
npx create-thally-docs migrate https://github.com/acme/docs acme-docs --platform mintlify --yes
```

> **Note:**
Run the migrated project locally, check its navigation and assets, then run
`npx thally check`. Imported content remains yours to edit and reorganize.

## What the scaffold creates

| Path | Purpose |
| --- | --- |
| `src/content/` | MDX pages that you own |
| `docs.json` | Navigation and feature configuration |
| `src/data/site.ts` | Product identity, links, and brand defaults |
| `.github/workflows/` | Validation workflow for documentation pull requests |

The framework runtime is already wired. You can stay focused on content and
configuration instead of editing Next.js internals.

## Continue with a task

#### [Create and edit pages](/guides/writing-content)

    Learn the page structure and the components available inside MDX.

#### [Organize the navigation](/guides/configuring-navigation)

    Design tabs and sidebar groups around the tasks your readers need to complete.

#### [Customize the site](/guides/branding-and-theming)

    Apply your product identity and choose versioned or live branding controls.

#### [Deploy the site](/guides/deploying)

    Validate a production build and configure the public URL on your host.