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

# AI Coding Agents

> Install the Stringboot skill so your AI coding agent can integrate the SDK and move your existing strings to Stringboot

***

The Stringboot skill teaches AI coding agents (Claude Code, Cursor, Codex and others) how to integrate Stringboot correctly. Your agent can then add the SDK to your Android, iOS or web app, and move the strings you already have into Stringboot.

## Prerequisites

* A Stringboot App and its **Client Token** (`sb_...`). See [API Tokens](https://docs.stringboot.com/dashboard-guides/api-tokens.md).
* An AI coding agent that supports skills.
* Node.js, to run the installer.
* Python 3.8 or later, if you want to move existing strings.

## Install the skill

Run this in your project:

```bash theme={null}
npx skills add Stringboot-SDK/stringboot-skills
```

The installer asks which agents to install it for. To install it for all your projects, add `-g`:

```bash theme={null}
npx skills add Stringboot-SDK/stringboot-skills -g
```

The source is public at [github.com/Stringboot-SDK/stringboot-skills](https://github.com/Stringboot-SDK/stringboot-skills). Review it before use: skills run with your agent's permissions.

## Use it

Ask your agent in plain language. Give it your Client Token and your App's default language, so it doesn't have to ask:

```text theme={null}
Integrate Stringboot into this app. My Client Token is sb_... and the default language is English.
```

```text theme={null}
Move our existing strings.xml and Localizable.strings to Stringboot, and keep them as the offline fallback.
```

```text theme={null}
Upgrade our Stringboot SDK to the latest version.
```

Commit or stash your work first, so you can review the agent's changes as one diff.

## What the skill does

> [card] Integrates the SDK
>
> Adds the current SDK (Android 2.1.0, iOS 3.0.1, Web 3.0.1, including React, Next.js and Vue). It initializes it once at start-up and uses the APIs that update text live.

> [card] Moves existing strings
>
> Reads `strings.xml`, `Localizable.strings`, String Catalogs and i18n JSON files (i18next, react-intl, vue-i18n), and prepares files for the dashboard's **Bulk Upload**.

> [card] Keeps one key per string
>
> Renames keys to one `snake_case` scheme that works on every platform, in your code and your resource files.

> [card] Keeps your fallback
>
> Leaves your local string files in place as the offline fallback. On Android, it keeps them from being removed by resource shrinking.

## Moving existing strings

When your app already has strings, the agent runs the skill's extractor and gives you:

* **Upload files** with at most 50 strings each, the dashboard's limit per upload. Upload them in order in **Strings** → **Bulk Upload**.
* **A report** that lists renamed keys, strings whose text differs between platforms, and what stays local.

Some strings stay local, because Stringboot doesn't support them:

* plurals and string arrays,
* styled or HTML text,
* constants marked as not translatable,
* iOS `InfoPlist.strings`.

The agent can't upload the files for you, because uploading needs your dashboard login. While uploading, keep in mind:

* Every language in the files is **added to your App and activated**.
* New strings count toward your plan's string limit.
* Under **Duplicate Handling**, choose **Skip All Duplicates** to keep values already in the dashboard, or **Replace All Duplicates** to overwrite them.

## Limitations

* React Native and Flutter apps aren't supported by the Stringboot SDKs.
* On iOS, adding the Swift package to an Xcode project is safest done in Xcode itself; the agent may ask you to do it.
* Check the agent's work as you would any change: build the app, open a few screens, and test once offline.


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