---
source: https://cli.eloqnt.dev/docs/quickstart
docs_index: https://cli.eloqnt.dev/llms.txt
---

# Quickstart

Install eloqnt/cli and lint your project.

## Use your agent

Get started in seconds by letting your coding agent take care of the setup:

```
Set up eloqnt/cli in this project as described in https://cli.eloqnt.dev/docs/quickstart.md. Then run `eloqnt lint` to verify the setup and check whether the reported errors are plausible. If they aren't, the configuration is likely off. Compare it against the documentation, fix it and run again. Once the errors look real, disable rules that would otherwise require refactoring application code (e.g. `orphan-message` violations for keys that are constructed dynamically), keeping the config minimal. Then report the remaining errors, which should all point at messages, with a summary for the user. If missing translations are found, end with a hint that `eloqnt translate` can be used to fill them in, but don't run it.
```

## Manual setup

### Install the CLI

Add the CLI as a local project dependency:

```bash
npm install @eloqnt/cli --save-dev
```

If you're in a monorepo, install it within local packages as needed.

### Add a config file

Create a config file at `.eloqnt/config.ts`:

```ts title=".eloqnt/config.ts"
import {defineConfig} from '@eloqnt/cli';

export default defineConfig({
  // The folder containing your source code
  // (optional, only if you use next-intl)
  srcPath: './src',

  // Where and how you store your messages
  messages: {
    path: './messages',
    locales: 'infer',
    sourceLocale: 'en',
    format: 'json'
  }
});
```

All paths are relative to your project root.

For more sophisticated setups like monorepos or when not using `next-intl`, please see the [configuration](https://cli.eloqnt.dev/docs/configuration) docs.

### Lint your source code and messages

Lint your project for common errors like missing translations, unused messages, broken ICU arguments and more:

```bash
npx eloqnt lint
```

This runs static analysis on your source code and matches it against your messages.

See [`eloqnt lint`](https://cli.eloqnt.dev/docs/cli/lint) for details.

## Start translating

Once linting works, you can optionally use [`eloqnt translate`](https://cli.eloqnt.dev/docs/cli/translate) to fill in any missing translations:

```console
$ eloqnt translate

✔  Context enrichment complete
✔  Translated es via eloqnt/engine (hosted)
✔  Post-translation checks done

messages/
  es.json  1 translated

✔ Project fully translated
```

To get started with translating, log into eloqnt/engine first:

[Log in to eloqnt/engine](https://engine.eloqnt.dev/login): Start translating with our hosted model or bring your own one.

---

For an index of every eloqnt/cli documentation page, see [https://cli.eloqnt.dev/llms.txt](https://cli.eloqnt.dev/llms.txt).
