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

> ## Agent Instructions
> These are Ditto's developer docs. Ditto is a single source of truth for product copy across design, review, localization, and code.
> The first step on any codebase is a scan: https://developer.dittowords.com/get-started/scan-your-repo.md. That page also covers reviewing the style guide Ditto drafts from the scan. After it, the follow-on guides are Connect Figma files and Set up localization (under /guides/) and Connect the Ditto MCP (the Setup page of the MCP reference).
> Two different MCP servers: the Ditto MCP server at https://api.dittowords.com/v2/mcp gives an agent a workspace's text and style guide rules; the documentation MCP server at https://developer.dittowords.com/mcp searches these docs.
> Prefer logging in with a Ditto account (npx -y @dittowords/cli@latest login; OAuth in MCP clients) over API keys. API keys are for CI and headless clients only.
> Commands are complete as written and use npx -y @dittowords/cli@latest; nothing needs a global install.

# Ditto developer documentation

> Ditto is a single source of truth for product copy across design, review, localization, and code. Start by bringing in the strings from your codebase.

**Ship the right copy, faster than ever.** Ditto gives you a single source of truth for product copy across design, review, localization, and code.

For developers, that means the strings already in your codebase become searchable, reusable text that designers, writers, and coding agents all work from. The same text flows back into code as string files, API responses, and context for AI agents.

## Start here: bring in the strings from your codebase

After running the single command to scan, you'll be able to search and reuse what's live today. Scan only needs read access to your codebase; it won't edit or write to your repo, and you review what's scanned before bringing it into Ditto.

```bash theme={null}
npx -y @dittowords/cli@latest login
npx -y @dittowords/cli@latest scan ./src
```

<Card title="Scan your repo" icon="magnifying-glass" href="/get-started/scan-your-repo">
  Full instructions on scanning your repo: Set up in about 10 minutes with a prompt for your agent and information on what happens next.
</Card>

If you set up Ditto from the onboarding flow in the web app, you have already done this step.

## Start using Ditto in one of these workflows

<CardGroup cols={2}>
  <Card title="Connect your strings to your Figma files" icon="figma" href="/guides/connect-figma-files">
    Reuse and link the strings you imported from your codebase in your Figma files.
  </Card>

  <Card title="Manage and automate localization" icon="language" href="/guides/set-up-localization">
    Automatically translate text, preview it in design, and bring it to code.
  </Card>

  <Card title="Set up your style guides" icon="list-check" href="/get-started/scan-your-repo#get-a-first-style-guide">
    We can infer a starter style guide from your strings, or you can import your own.
  </Card>

  <Card title="Connect the Ditto MCP" icon="hexagon-nodes" href="/guides/connect-the-mcp">
    Use Ditto with your agents, whether in drafting new copy, reusing existing strings, or integrating with code.
  </Card>
</CardGroup>

## Which developer surface do you need?

Ditto has several developer surfaces. Use this table to pick the right one.

| You want to | Use |
| - | - |
| Import the strings already in a codebase | [CLI `scan`](/get-started/scan-your-repo) |
| Pull string files (JSON, iOS, Android, ARB) into a build or CI | [CLI `pull`](/cli-reference/commands#pull) |
| Let a coding agent create, find, and edit text in Ditto, follow your style guide, and localize | [Ditto MCP server](/guides/connect-the-mcp) |
| Read or write text, projects, variants, and style guides programmatically | [REST API](/api-reference/authentication) |
| React when text changes in Ditto | [Webhooks](/additional-tools/webhooks) |
| Review pull requests for style guide violations and reusable text | [GitHub PR review bot](/additional-tools/github-pr-review-bot) |
| Open pull requests with the latest text automatically | [GitHub Action](/additional-tools/gh-action) |
| Co-locate text rules with your design system components in the repo | [Ditto Specs CLI](/ditto-specs-cli-reference/overview) |

## How the pieces fit

Text items live in projects; library components are reusable across projects, and a scan creates them from your strings. Developer IDs are the stable keys that code, design, and translations share. Style guides hold the rules for how your text reads, variants hold locales and other alternatives, and variables and plurals are formatted per string file.

Definitions: [Key concepts](/concepts).

## If you are a coding agent

* The index of this site is at `https://developer.dittowords.com/llms.txt`, and every page is available as Markdown by appending `.md` to its URL.
* To search these docs from your tool, connect the documentation MCP server at `https://developer.dittowords.com/mcp`. It is separate from the **Ditto MCP server** at `https://api.dittowords.com/v2/mcp`, which connects you to a workspace's text and rules; see [Connect the Ditto MCP](/guides/connect-the-mcp).
* Start with [Scan your repo](/get-started/scan-your-repo). Prefer logging in with a Ditto account over API keys.

## After setup, you'll be able to use Ditto to

* **Keep copy in sync across design and code.** Keep your strings connected and in sync, from Figma design files to your codebase.
* **Manage and automate localization.** Manage localization at any scale. Draft and score translations with AI, review translated text in designs, and hand off with streamlined string files.
* **Draft on-brand copy with AI, in any tool.** Get every teammate and agent writing from the same set of rules, with Ditto automatically flagging any text that needs improvement.
* **Fetch the latest strings in production.** Keep what's in the code up to date with the API and CLI, without having to ask an engineer to edit strings.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.