The Ditto CLI enables developers to access the Ditto API directly from the command line. You can use the CLI to import Ditto data directly into your own codebase.
The CLI is configured to fetch text from the latest version of Ditto by default. However, all legacy features are still fully supported by passing a --legacy flag along with the legacy CLI command. See Legacy Setup for details on using the CLI with older Ditto projects and components.
npm install --save-dev @dittowords/cliIt's recommended to install the CLI as a development dependency to ensure your whole team is on the same version.
The first time you run the CLI, you’ll be asked to provide an API key. You can generate an API key from your developer integrations settings.
See the Authentication page for more information on API keys.
By default, the CLI operates against a ditto/ folder relative to the current working directory.
The first time you run the CLI, a ditto/ folder will be created if it doesn't already exist. The folder will also be populated with a default config.yml file, which is used to control the CLI's behavior.
The default file looks like this:
projects: []
variants: []
components:
folders: []
outputs:
- format: json
framework: i18nextFor more information on configuring the CLI, see this documentation section.
npx @dittowords/cli pullRun the CLI to pull string data from Ditto and write it to disk.
String files are written to the specified folder in a format that corresponds to your configuration. After integrating these files into development, you can execute the CLI at any time to fetch the latest strings from Ditto and update them in your application.
For more information on how files are written to disk, see this documentation section.
See our demo projects for examples of how to integrate the Ditto CLI in different environments:
Beginning with v5.0.0, the Ditto CLI points at the new Ditto experience by default. To run the CLI compatible with legacy Ditto, append the --legacy flag to any legacy command, and the CLI will work as it did in the 4.x version. All existing legacy commands remain fully functional at this time.
Have feedback? We’d love to hear it! Message us at [email protected].