docs-translation

docs-translation is a cursor rule for Cursor from coddy-project/coddy-agent. It costs 0 tokens per session (2,271 once invoked), scanned A, original, MIT.

A set of rules for keeping English and Russian documentation trees in sync. It explains which translated pages, navigation entries, and configuration descriptions must change together.

In plain words
What is it for?
Use it when adding, moving, or editing English documentation that has a Russian counterpart.
Why use it?
It prevents the two language versions from having different content or stale navigation and labels.

Cursor rule for Cursor

Written for Cursor: installed under .cursor/. Also seen: mentions subagents; mentions AGENTS.md.

Good fit Use it when adding, moving, or editing English documentation that has a Russian counterpart.

Compare 6 cursor rules from other repositories ↓
Install with agentmods
npx agentmods add rules/coddy-project/coddy-agent/docs-translation
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/coddy-project/coddy-agent

Made for: Cursor.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for docs-translation

README.md
[![agentmods](https://agentmods.dev/badge/rules/coddy-project/coddy-agent/docs-translation/github.svg)](https://agentmods.dev/rules/coddy-project/coddy-agent/docs-translation)
Your own site
<a href="https://agentmods.dev/rules/coddy-project/coddy-agent/docs-translation"><img src="https://agentmods.dev/badge/rules/coddy-project/coddy-agent/docs-translation/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for docs-translation

Your own site · 80×15
<a href="https://agentmods.dev/rules/coddy-project/coddy-agent/docs-translation"><img src="https://agentmods.dev/badge/rules/coddy-project/coddy-agent/docs-translation.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 2,271 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.02271
Opus 5.5 $0.00000 $0.00908
Sonnet 5.5 $0.00000 $0.00454
Haiku 4.5 $0.00000 $0.00227

Measured yesterday against content hash 2dda281a007e, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

docs-translation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/docs-translation.mdc · 134 lines

How it starts

The opening of the file, as written. The whole thing — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Documentation in two languages

The documentation exists in English (docs/<group>/<page>.md) and in Russian (docs/ru/<group>/<page>.md, the same name and the same path under docs/ru/). The English page is the source; the Russian page is its translation and moves with it in the same pull request. Every surface shows the language it already knows the person uses (the web UI's locale, the terminal's locale), so a page that is current in one language and stale in the other is a bug the reader sees.

What moves together

You change You also change
an English page its Russian page, then restamp it (below)
a page added to docs/nav.yaml the Russian page and its entry in docs/ru/nav.yaml
a title or summary in docs/nav.yaml the entry in docs/ru/nav.yaml: title and summary translated, en: set to the new English text
a description in internal/config/config.schema.json its entry in docs/ru/config-descriptions.yaml: en set to the new English text, ru translated
the introduction of docs/README.md the introduction of docs/ru/README.md, then restamp it
a page removed from docs/nav.yaml or moved its Russian page removed or moved to the same new path, and its entry in docs/ru/nav.yaml with it

Not translated: docs/plans/ (design records), docs/assets/ (shared: a Russian page embeds the same files), and the pages the map lists from the repository root (CONTRIBUTING.md, DESIGN.md, AGENTS.md). The changelog is generated in both languages.

A Russian page

  • Headings: the same headings as the English page, in the same order and at the same levels. Translate them; never add, drop, merge or split one. One address names a section in both languages because the Russian heading at a position answers to the English heading's anchor. A page whose English H1 is its title in docs/nav.yaml starts with its Russian title from docs/ru/nav.yaml.
  • Literal text stays literal: code blocks, inline code, commands, flags, config keys, paths, file names, identifiers, HTTP routes, model and product names, and program output are copied unchanged. Comments inside code blocks stay as they are.
  • The web UI by its labels: a control or a screen of the web UI is named the way the Russian interface names it; look the English label up in external/ui/src/ui/i18n/messages/en.ts and take the same key from ru.ts.
  • Links: copy every link target as the English page writes it. make docs makes it right for the translation's folder: a link to another page keeps its relative path and gets the anchor GitHub gives the Russian heading (../features/mcp.md#общие-серверы); an image, a design record or a repository file gets the one more ../ the deeper folder needs. A link already written that way is left alone.
  • Generated blocks keep their <!-- docsgen:NAME:start --> / <!-- docsgen:NAME:end --> markers; make docs fills them.
  • Captions: the italic caption under a screenshot is translated; the screenshot is the English one.
  • The stamp: the last line, <!-- docsgen:source sha256=<16 hex> -->, is the digest of the English page the translation follows. docsgen writes it; never edit it by hand.

Read the full file on GitHub · 134 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday Changed · +2 lines 2dda281a007e
  2. 7d ago First seen · 132 lines · 0 tokens per session scan A a19840f8b37f

Subscribe to this mod's changes

docs-translation is a cursor rule published in the GitHub repository coddy-project/coddy-agent (175 stars, last pushed today), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,271 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-09.