> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nt3.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Developer Quick Start

> Integrate Entri into your development workflow using the API and CLI.

Get from zero to your first translation sync in under 5 minutes.

## Prerequisites

* An Entri account (sign up at [app.nt3.io](https://app.nt3.io))
* Node.js 18 or later
* A project with at least one target language configured in the Entri dashboard

## Step 1: Install the CLI

Install the `nt3` CLI globally:

```bash theme={null}
npm install -g nt3
```

Or use it without installing via `npx`:

```bash theme={null}
npx nt3 <command>
```

## Step 2: Create an API token

1. Open the Entri dashboard and go to **Settings > API Tokens**
2. Click **Create token**
3. Give the token a name (e.g., "Local development") and click **Create**
4. Copy the token — it starts with `entri_` and is only shown once

## Step 3: Log in

```bash theme={null}
nt3 login
```

Paste your API token when prompted. The token is stored in `~/.nt3/config.json` with owner-only file permissions.

For non-interactive environments, pass the token directly:

```bash theme={null}
nt3 login -t entri_your_token_here
```

## Step 4: Initialize your project

Run this in your project root (where your translation files live):

```bash theme={null}
nt3 init
```

The CLI will prompt you for:

* Your **Project ID** (found in the Entri dashboard under Settings)
* Your **source language** (e.g., `en`)
* The **file pattern** path (e.g., `src/locales/{lang}.json`)
* The **file format** (e.g., `json-nested`)

This creates a `.nt3.yml` configuration file:

```yaml theme={null}
project_id: "proj_abc123"
source_language: en
file_patterns:
  - path: "src/locales/{lang}.json"
    format: json-nested
```

## Step 5: Push your source strings

Upload your source translation file to Entri:

```bash theme={null}
nt3 push
```

Entri imports the file and creates translation keys for every string it finds.

## Step 6: Translate with AI (optional)

Trigger AI translation for all target languages:

```bash theme={null}
nt3 translate --all
```

Entri uses your project's configured AI settings (provider, tone, style) and skips keys that already have translations.

## Step 7: Pull translations

Download the translated files back to your project:

```bash theme={null}
nt3 pull
```

Files are written to the paths defined in your `.nt3.yml`, replacing `{lang}` with each target language code.

***

## What's next

<CardGroup cols={2}>
  <Card title="CLI Configuration" icon="file-code" href="/developers/cli/configuration">
    Learn all the options available in .nt3.yml, including multi-pattern setups.
  </Card>

  <Card title="CI/CD Integration" icon="gear" href="/developers/cli/ci-cd">
    Automate translation syncing in GitHub Actions and other pipelines.
  </Card>

  <Card title="API Tokens" icon="key" href="/developers/api-tokens">
    Create scoped tokens for different environments and team members.
  </Card>

  <Card title="REST API" icon="code" href="/api-reference/overview">
    Integrate Entri directly into your application using the REST API.
  </Card>
</CardGroup>
