URL: /installation

---
title: Installation
description: Install Tangly into a new or existing project.
icon: "package"
---

# Installation

## Requirements

- **Node 20+** (or Bun 1.2+).
- A package manager — `bun` (recommended), `pnpm`, `npm`, or `yarn` all work.
- A directory you want to render. Tangly does not impose a folder structure beyond `docs.json` at the root.

## Install

<CodeGroup>
  ```bash bun
  bun add -D tangly
  ```

  ```bash pnpm
  pnpm add -D tangly
  ```

  ```bash npm
  npm install --save-dev tangly
  ```

  ```bash yarn
  yarn add -D tangly
  ```
</CodeGroup>

The `tangly` binary becomes available via `bun x tangly`, `pnpm exec tangly`, `npx tangly`, etc.

## Project layout

A minimal Tangly project is two files:

<FileTree>
- my-docs/
  - docs.json navigation + branding (required)
  - introduction.mdx
  - package.json
</FileTree>

A typical project grows like this:

<FileTree>
- my-docs/
  - docs.json
  - introduction.mdx
  - quickstart.mdx
  - guides/
    - concepts.mdx
    - advanced.mdx
  - reference/
    - api.mdx
  - images/
    - logo.svg
  - theme/ optional component overrides
    - components/
      - Card.astro
  - tangly.config.ts optional content collections
  - package.json
</FileTree>

Tangly does not require `src/`, `pages/`, or any framework files. The MDX files at any depth are the source of truth; `docs.json` decides which ones appear in navigation. Files prefixed with `_` (e.g. `_section.mdx`) and the `snippets/` folder are skipped.

## Editor support

Add this to the top of `docs.json` for autocomplete + inline validation:

```json
{
  "$schema": "./node_modules/tangly/schema/docs.json",
  "name": "My docs"
}
```

VS Code, Cursor, JetBrains, and any editor with a JSON-Schema language server pick this up automatically. You'll get IntelliSense for every nav field, color token, and analytics provider.

## Optional: scripts

Wire dev/build into your `package.json`:

```json
{
  "scripts": {
    "dev": "tangly dev",
    "build": "tangly build",
    "preview": "tangly preview",
    "check": "tangly check --strict"
  }
}
```

## Agent skills

Tangly ships two Claude Code skills you can install into any project that uses Claude Code:

- **`tanglify`** — drives the Tangly CLI, scaffolds `docs.json`, ports from Mintlify, picks deploy adapters.
- **`tech-documentation`** — Diátaxis-grounded principles for writing the actual content.

Install via the npm `skills` convention:

```bash
npx skills add tanglify
npx skills add tech-documentation
```

Or point at the repo directly:

```bash
npx skills add github:tanglydocs/tangly/skills/tanglify
npx skills add github:tanglydocs/tangly/skills/tech-documentation
```

The skills live under [`skills/`](https://github.com/tanglydocs/tangly/tree/main/skills) and are versioned alongside the framework — when CLI flags or schema fields change, the skill content moves with them.

## What's next

<CardGroup cols={2}>
  <Card title="Quickstart" icon="zap" href="/quickstart">
    Scaffold + run dev in under a minute.
  </Card>
  <Card title="Configuration" icon="settings" href="/guides/configuration">
    Every `docs.json` field with examples.
  </Card>
</CardGroup>
