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 and lint it.Docs: https://cli.eloqnt.dev/docs/quickstart.md## Steps1. Install the CLI and add `.eloqnt/config.ts` as described in the docs. In a monorepo, pick the main app and set up only that one.2. Run `eloqnt lint` and check whether the reported errors are plausible. If they aren't, the config is likely off. Compare it against the docs, fix it and run again.3. Once the errors look real, disable rules that would require refactoring application code (e.g. `orphan-message` for keys that are constructed dynamically — see rule docs for details).4. Check the docs for reported lint rules to learn how an error can be fixed.## Report- Summarize the remaining errors detected by the linter and suggest how to fix them.- In a monorepo, mention that other packages can be set up the same way.- If translations are missing, mention that `eloqnt translate` can fill them in.
Manual setup
Install the CLI
Add the CLI as a local project dependency:
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:
.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 messagesmessages: {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 docs.
Lint your source code and messages
Lint your project for common errors like missing translations, unused messages, broken ICU arguments and more:
npx eloqnt lint
This runs static analysis on your source code and matches it against your messages.
See eloqnt lint for details.
Start translating
Once linting works, you can optionally use eloqnt translate to fill in any missing translations:
To get started with translating, log into eloqnt/engine first: