Install ds-bridge.

Three ways to run it: as a Claude Code plugin, from a local checkout, or as a standalone CLI in CI. Free, no signup.

$ claude plugin install ds-bridge
Plugin01

Install as a Claude Code plugin.

The recommended path. Claude Code installs plugins from a marketplace — point one at this repo, then install ds-bridge from it.

bash
# 1 · register this repo as a marketplace
claude plugin marketplace add lucksy/ds-bridge

# 2 · install the plugin from that marketplace
claude plugin install ds-bridge

#    disambiguate when several marketplaces are configured
claude plugin install ds-bridge@<marketplace-name>

You can pre-seed userConfig options non-interactively with repeatable --config flags — they’re validated against the manifest and stored the same way as the interactive configure flow.

bash
claude plugin install ds-bridge \
  --config figma_file_key=abc123 \
  --config readiness_threshold=85

Useful follow-ups: claude plugin list, claude plugin details ds-bridge, claude plugin update ds-bridge, claude plugin uninstall ds-bridge.

Local02

Run from a local checkout.

Load the plugin straight from a checkout for the current session — no marketplace, no install. --plugin-dir is repeatable and also accepts a .zip. Inside that session the slash commands and both hooks are live.

bash
claude --plugin-dir /path/to/ds-bridge
CLI03

Use the standalone CLI in CI.

Every behavior lives in the bundled CLI (dist/cli.mjs) — handy for CI gates and scripts. Exit codes: 0 clean · 1 findings · 2 config error. dist/cli.mjs is committed at release tags only; build it from a fresh checkout with npm run build. Requires Node ≥ 22.

bash
node dist/cli.mjs --help
node dist/cli.mjs lint ./src
node dist/cli.mjs tokens check --report
Configure04

Configuration options.

Claude Code prompts for these natively when you enable the plugin — no settings.json hand-editing.

OptionDefaultWhat it does
figma_file_keyKey from your Figma library file URL. Used by registry build and any library-wide audit.
figma_tokenFigma personal access token. Sensitive — stored in the system keychain, never in a file.
token_sourceauto-detectedYour W3C / Tokens Studio / Style Dictionary entry file. If unset, ds-bridge discovers it from common paths.
report_stylebothReport output: html, terminal, or both.
readiness_threshold80The handoff-readiness gate /ds-bridge:handoff-qa must clear for a frame to pass.

Resolution order (highest wins): CLI flags → env vars (CLAUDE_PLUGIN_OPTION_*, FIGMA_TOKEN) → project .ds-bridge.jsonuserConfig defaults. A missing token is an actionable message, never a crash.

Token05

Set up your Figma access token.

ds-bridge talks to Figma with a personal access token (PAT). The seat you create it from matters.

Required scopes: file_content:read, library_content:read, file_versions:read, file_comments:read, file_comments:write. The legacy files:read scope is deprecated.

Because figma_token is sensitive, Claude Code stores it in the OS keychain — never put it in .ds-bridge.json (the config loader ignores a token there and warns). Standalone CLI users set FIGMA_TOKEN in the environment instead.

The remote Figma MCP server authenticates on its own — the REST PAT does not authenticate MCP, and vice versa.