Getting started
This guide walks you through a full design system import with the interactive wizard, from a fresh machine to seeing your components and design tokens in the Contentful web app. It assumes you have a component library on disk and a Contentful space with Experiences enabled.
If you get stuck at any step, see the FAQ page.
Prerequisites
Before you start, make sure you have:
- Node.js 24+ and pnpm 10.27+ — Installed on your machine.
- A coding agent — Installed and authenticated.
experiences setupdetects Claude Code, OpenAI Codex, OpenCode, and Cursor on your PATH, and offers to install Claude Code, OpenAI Codex, or OpenCode for you if none are found. Cursor must be installed manually. - A Contentful Management API (CMA) token — Generate one in the Contentful web app under Settings > API keys > Content management tokens.
- A component library on disk — Any React, Vue, Astro, Stencil, or Web Components project works. This guide assumes a TypeScript + React library with roughly 10 components, plus a design tokens file.
Step 1: Install the CLI
Clone the SDK and build from source:
Link the CLI globally:
Verify it runs:
For more detail, see Installation.
Step 2: Run the setup wizard
experiences setup walks you through Node.js and pnpm checks, dependency install, coding-agent detection, credentials, and optional preferences:

When prompted for credentials, paste your CMA token and enter your target space ID and environment ID. Setup saves them to ~/.config/experiences/credentials.json so you don’t have to re-enter them on future runs.
Step 3: Start the import wizard
From any directory, run:
The wizard greets you and asks for the path to your component library:

Point it at your project root:
This walkthrough imports components as a flat list, which is the default. If your components embed other components and you want that nesting preserved in Contentful, restart with experiences import --composite. See Coded components.
Step 4: Provide your design tokens
Immediately after you select the project, the wizard prompts for a raw token source file (SCSS, CSS variables, JS/TS, Style Dictionary, or Tailwind config). This is optional — you can skip it and import components only.

For this walkthrough, provide the path to your tokens file:
The wizard classifies the raw variables into W3C DTCG format and includes them in the push alongside your components.
Step 5: Confirm the file scan
The CLI scans your source directory and lists the file types it found. Confirm to start extraction:

Step 6: Review the scope gate
Once extraction finishes, the wizard shows a scope gate with two sections: AI-recommended exclusions (with the AI’s reasoning shown inline) and Components. This is where you decide which components make it into the manifest.

The AI flags things like DebugPanel, FocusTrap, Portal, and SrOnly for exclusion — infrastructure wrappers with no authorable UI. Review its call, override anything you disagree with, and confirm.
Step 7: Enter your Contentful credentials
If experiences setup already saved your credentials, the wizard pre-fills them and you can press Enter to accept. Otherwise, enter your space ID, environment ID, and CMA token.
Generation prefetches in parallel with credential entry, so the credentials step and the generation step overlap.
Step 8: Review the generated components
The wizard opens the Final review step and displays each generated component with its properties and slots. Walk through the list to inspect what the AI produced and tweak property names, types, defaults, or allowed values before push:
For any component in the list, you can also open the AI’s rationale, the raw generated JSON, or the extracted source snippet. A preview banner at the top of the screen tracks what will change in your Contentful space; open the removed-list overlay to see which components will be deleted from Contentful on push:
When you’re satisfied, finalize the review.
Step 9: Save and push
The wizard prompts you to save components.json and tokens.json to disk, push to your Contentful space, or do both. Save-and-push is the default:

Before the push commits, the wizard shows a diff summary of what will be created, updated, and removed:

Components absent from your manifest are deleted from Contentful on push. Confirm the list of removals in the diff before pushing.
Confirm the push. The wizard reports progress and prints a link to view the result in the Contentful web app:

Step 10: Verify in Contentful
Follow the URL the wizard printed at the end of the push to jump directly to your imported components. To navigate there manually instead:
- Log in to the Contentful web app.
- Navigate to your space and environment.
- Go to Design system > Components to see the imported components.
Design tokens are surfaced on the components that reference them — open a component to see the tokens it uses on its design properties.
What next
- Import components — Deep-dive on the wizard’s flow, the scope gate, and the Final review step.
- Import design tokens — Details on token formats and the token classification step.
- Coded components — Preserve embedded-component hierarchies with composite mode.
- Run history and replay — Push a recorded run again, or re-open one for edits.
- Command reference — Every flag on every subcommand.
- FAQ — Behaviors that surprise operators the first time through.