Skip to main content
Glama
fabkho
by fabkho
README.md
# the-i18n-kit

[![CI](https://github.com/fabkho/the-i18n-kit/actions/workflows/ci.yml/badge.svg)](https://github.com/fabkho/the-i18n-kit/actions/workflows/ci.yml)
[![License](https://img.shields.io/npm/l/@the-i18n-kit/mcp?style=flat&colorA=18181b&colorB=4fc08d)](https://github.com/fabkho/the-i18n-kit/blob/main/LICENSE)
[![Glama score](https://glama.ai/mcp/servers/fabkho/the-i18n-kit/badges/score.svg)](https://glama.ai/mcp/servers/fabkho/the-i18n-kit)

**The i18n toolkit for AI agents and large monorepos.** Find missing keys, remove
dead ones, and rename across every locale and layer at once โ€” from your agent,
your terminal, or your pipeline.

### ๐Ÿ“– [Documentation](https://fabkho.github.io/the-i18n-kit/)

---

## Packages

| Package | Version | What it is |
|---------|---------|------------|
| [**@the-i18n-kit/cli**](./packages/cli) | [![npm](https://img.shields.io/npm/v/@the-i18n-kit/cli?style=flat&colorA=18181b&colorB=4fc08d)](https://npmjs.com/package/@the-i18n-kit/cli) | The CLI, and the library every other surface is built on |
| [**@the-i18n-kit/mcp**](./packages/mcp) | [![npm](https://img.shields.io/npm/v/@the-i18n-kit/mcp?style=flat&colorA=18181b&colorB=4fc08d)](https://npmjs.com/package/@the-i18n-kit/mcp) | MCP server, for AI coding agents |
| [**@the-i18n-kit/nuxt**](./packages/nuxt) | [![npm](https://img.shields.io/npm/v/@the-i18n-kit/nuxt?style=flat&colorA=18181b&colorB=4fc08d)](https://npmjs.com/package/@the-i18n-kit/nuxt) | Publishes the layer graph Nuxt already resolved |

A GitHub Action and a GitLab CI template ship from this repository too.

## Quick Start

```bash
npm install -g @the-i18n-kit/cli

the-i18n-cli init        # write a config from what it detects
the-i18n-cli status      # coverage per locale and per layer
the-i18n-cli missing     # what is not translated yet
```

For an AI agent, point your MCP host at the server:

```json
{
  "mcpServers": {
    "the-i18n-mcp": {
      "command": "npx",
      "args": ["@the-i18n-kit/mcp@latest"]
    }
  }
}
```

โ†’ [Getting started](https://fabkho.github.io/the-i18n-kit/getting-started/cold-start) ยท
[MCP setup](https://fabkho.github.io/the-i18n-kit/getting-started/agent-setup) ยท
[CLI reference](https://fabkho.github.io/the-i18n-kit/reference/cli)

## Documentation

Everything lives on the [documentation site](https://fabkho.github.io/the-i18n-kit/).
The reference sections are generated from the source they describe, so they
cannot drift from it.

| | |
|---|---|
| [Why this toolkit](https://fabkho.github.io/the-i18n-kit/introduction/why) | Who it is for, and who it is not |
| [Monorepos and layers](https://fabkho.github.io/the-i18n-kit/monorepos/layers-and-consumer-graph) | The consumer graph, shared libraries, misplaced usages |
| [Frameworks](https://fabkho.github.io/the-i18n-kit/frameworks/detection) | Nuxt, Laravel, Vue, React/Next, generic |
| [Configuration](https://fabkho.github.io/the-i18n-kit/configuration/where-config-lives) | Where it lives, precedence, every field |
| [CI/CD](https://fabkho.github.io/the-i18n-kit/ci-cd/github-actions) | The Action and the GitLab template |
| [CLI](https://fabkho.github.io/the-i18n-kit/reference/cli) ยท [MCP tools](https://fabkho.github.io/the-i18n-kit/reference/mcp) | Generated reference |

## Development

```bash
pnpm install
pnpm build
pnpm test
pnpm lint
pnpm typecheck
```

`DEBUG=1` enables verbose logging to stderr. See [CONTRIBUTING.md](./CONTRIBUTING.md).

## License

[MIT](./LICENSE)

TDQS

A4.3/5.0

Scored across 15 tools

Disambiguation5/5

Each tool targets a distinct i18n operation: discovery, listing, reading, writing, removing, moving, translating, scaffolding, and four different key-health checks. The only mild overlap is get_translations vs search_translations, but their descriptions clearly separate exact/prefix retrieval from value-based search. No two tools appear to do the same thing.

Naming Consistency4/5

The set is predominantly verb_noun snake_case (list_namespaces, get_translations, write_translations, find_undefined_keys). Minor deviations: 'discover' is a bare verb, and pluralization varies (translations vs translation_key/status). The verb-led convention is still clear and predictable overall.

Tool Count5/5

15 tools is well within the ideal 3-15 range and each one maps to a distinct operation in translation management. The set feels purpose-built rather than padded or thin.

Completeness5/5

Covers the full lifecycle: discover, list/search/get, write/remove, move/rename, translate, scaffold, and comprehensive health checks (missing, undefined, orphan, duplicate, status). No obvious dead ends for the stated i18n management purpose; framework config edits are intentionally left out.

Maintenance

ActivityMaintained
ResponsivenessResponsive