Build a design system with AI - Part 1: Environment Setup
March 2026
How to Use This Guide
Every step has two paths. Choose the one that suits you.
| Path | When to use it |
|---|---|
| π€ Guided Path | Copy the prompt into Claude.ai Chat mode. Claude walks you through each step for your specific machine. No need to understand the commands β Claude explains everything. |
| β¨οΈ Terminal Path | Run the commands directly in Terminal. Faster if you're comfortable with the command line. |
π¬ Stuck at any point?
Open Claude.ai (browser or desktop app β Chat mode). Describe what happened, paste the full error message, and ask:
'I'm setting up for the Slalom design system workshop and got stuck on [step name]. Here's what I see: [paste error or describe]. How do I fix it?'
Claude can diagnose and walk through fixing almost any setup issue in a few messages. If you're still stuck, share a screenshot in the Slack channel so the team can assist.
Step 1 β Install Node.js
The engine that runs the project. Install once, forget about it.
Node.js lets your computer run project commands like npm install and npm run dev. You don't write Node.js code β you just need it installed. Think of it like a printer driver.
π€ Guided Path
Paste into Claude.ai β Chat mode
π I need to install Node.js on my Mac. I'm a designer with no coding experience.
Please walk me through, one step at a time:
Downloading and installing Node.js LTS version 20
Verifying it installed correctly
What to do if something goes wrong
Wait for me to confirm each step before moving to the next.
Explain any technical terms in plain language.
Follow Claude's instructions. Come back here once it's installed.
β¨οΈ Terminal Path
Direct download (simplest):
- Go to nodejs.org
- Click the green LTS button
- Open the downloaded
.pkgand follow the installer - Open Terminal β
Cmd+Spaceβ typeTerminalβ Enter - Run:
node --version
β
You should see v20.x.x β any v18 or v20 is fine.
If you see command not found β close Terminal completely, reopen it, and try again.
Via nvm (if you manage multiple Node versions):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# Close Terminal completely, then reopen it
nvm install 20
nvm use 20
node --version
βΒ You're ready to continue when:
node --versionΒ prints a version starting with v18 or v20 or higher.
Step 2 β Install Cursor
Your code editor. Like Word, but for code files.
Cursor is where you open your project, write instructions to Claude Code, and watch files update in real time. It's built on the same foundation as VS Code with AI features added.
Already use VS Code? You can keep using it β the workflow is the same. This guide uses Cursor in all examples.
π€ Guided Path
Paste into Claude.ai β Chat mode
π I need to install Cursor IDE on my Mac. It's a free code editor at cursor.sh.
I'm a designer who has never installed a code editor before.Please walk me through:
Downloading Cursor from cursor.sh
Installing it on Mac
Opening it for the first time and creating a free account
What the interface looks like when it has opened correctly
Be thorough β I haven't done this before.
β¨οΈ Terminal Path
- Go to cursor.sh
- Click Download
- Open the
.dmgand drag Cursor to your Applications folder - Open Cursor and create a free account when prompted
βΒ You're ready to continue when:
Cursor opens without errors.
You have a Cursor account and are signed in.
Step 3 β Set Up Claude Code
Claude Code is an AI coding assistant. Once it's connected to your project, you give it instructions in plain English β 'Build a Button component using only design tokens', 'Add a spacing token', 'Generate the CLAUDE.md rules file' β and it reads your files, understands your conventions, and makes the changes.
Claude Code follows rules in CLAUDE.md
Every project has a CLAUDE.md file. This is where the design system rules live:
'never use raw hex values', 'only use tokens that already exist', 'follow this component pattern'.
Claude Code reads CLAUDE.md at the start of every session and follows those rules throughout.
This is what stops it from inventing values or ignoring your conventions.
You'll write CLAUDE.md together in the Wednesday session β for now, just know it exists.
Two options β choose one
| Option A β Cursor extension | Claude Code runs as a panel inside Cursor. Instructions on the left, files updating on the right. Everything in one window. |
| β Option B β Claude desktop app (recommended) | Three modes: Chat (questions), Co-work (file automation), Code (the agent). Switch between them instantly β ask something in Chat, return to Code without losing your session. |
π‘ Why the desktop app works well for designers
While building a design system, you'll frequently want to:
- Ask a quick clarifying question mid-task ('what does semantic token mean again?')
- Run a focused coding session without distractions
- Jump to Chat for an explanation, then return to exactly where you left off
Chat stays conversational. Code stays clean. Switch in one click.
Option A β Claude Code extension inside Cursor
π€ Guided Path
Paste into Claude.ai β Chat mode
π I've just installed Cursor IDE and want to add the Claude Code extension.
Please walk me through:
How to open the Extensions panel in Cursor
Searching for and installing the Claude Code extension (by Anthropic)
Signing in with my Anthropic / Claude.ai account
What the Claude Code panel looks like when it's working
How to send a test message to confirm it responds
I've never installed an extension in a code editor before.
β¨οΈ Terminal Path
- Open Cursor
- Press
Cmd+Shift+Xto open Extensions - Search:
Claude Code - Install the extension by Anthropic
- Click the Claude Code icon in the sidebar
- Sign in with your Claude.ai account
Option B β Claude code desktop app β
π€ Guided Path
Paste into Claude.ai β Chat mode
β¨οΈ Direct Path
π I want to install the Claude desktop app on my Mac and use it for a coding project.
Please walk me through:
Where to download the Claude desktop app
Installing it and signing in with my Anthropic account
How to find the Chat, Co-work, and Code modes
How to open a project folder in Code mode
How to send a test message to confirm Code mode is working
β¨οΈ Terminal Path
- Go to claude.ai, sign in, and download the desktop app
- Open the
.dmgand drag Claude to Applications - Open the app and sign in
- Find the mode switcher β click Code
- Open your project folder using the folder icon or File β Open
The three modes
| Mode | What it's for |
|---|---|
| Chat | Questions, explanations, planning. Keeps your Code session clean and separate. |
| Co-work | Desktop file and task automation. Not needed for the workshop. |
| Code | The Claude Code agent. Reads your project, follows CLAUDE.md, writes and edits files. This is what you use to build. |
No Anthropic account yet? Sign up at claude.ai β it's free. One account works for claude.ai, the desktop app, and the Cursor extension.
β οΈΒ When Claude Code asks: 'Allow all edits during this session?'
Select:Β Yes, allow all edits during this session.
Without this, Claude Code pauses and asks permission before every single file change,
which makes the workflow very slow. You can always undo any edit with Cmd+Z.
β Step 3 done when Claude Code is installed, you're signed in, and it responds to a test message in Code mode.
Step 3b β Connect the Figma MCP
Links Claude Code to Figma for bidirectional sync.
β° Needed before Friday β optional to do now. Not required for Wednesday or Thursday. Set it up now or come back before Friday.
MCP (Model Context Protocol) lets Claude Code talk to external tools. The Figma MCP lets Claude Code push component frames into Figma and read design changes back into code.
| Direction | What happens |
|---|---|
| Code β Figma | Claude Code captures your dev server UI and creates Figma frames |
| Figma β Code | Paste a Figma frame URL into a prompt β Claude Code updates the component to match |
| Token sync | Export tokens as JSON β Token Studio imports as Figma Variables β stays in sync |
Get your Figma access token
- Open figma.com β profile picture β Settings β Security tab
- Under Personal access tokens β Generate new token
- Name it
claude-code, set File content to Read & Write - Click Generate β copy it immediately, shown only once
π Treat this like a password. Don't paste it into Slack, email, or shared docs.
Create .mcp.json in your project
Right-click the root of your project in the Cursor sidebar β New File β name it .mcp.json
Paste this, replacing YOUR_FIGMA_TOKEN_HERE with your token:
{
"mcpServers": {
"figma": {
"type": "streamable-http",
"url": "https://mcp.figma.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_FIGMA_TOKEN_HERE"
}
}
}
}
Not sure how to create the file? Ask Claude Code: "Create a .mcp.json in the project root for the Figma MCP β I'll paste my token in manually."
Test the connection
Send this in Claude Code (Code mode):
π Can you confirm the Figma MCP is configured in this project?
What URL is it pointing to?
Claude Code should confirm it can see the file and name the server. If it can't β check .mcp.json is at the root of your project, not inside a subfolder.
β Step 3b done when Claude Code confirms the Figma MCP is connected.
Step 3c β Optional Tools
Token Studio and Git. Not needed until Thursday/Friday β set up now if you want to get ahead.
Token Studio β Figma plugin
Token Studio imports your design tokens as Figma Variables. It's the bridge between tokens.ts in code and Figma's Variables panel.
Direct Link: https://www.figma.com/community/plugin/843461159747178978/tokens-studio-for-figma
Or,
- Open Figma β Community icon (left sidebar)
- Search:
Token Studio for Figma - Find the plugin by Jan Six β Install
- Access it via: right-click canvas β Plugins β Token Studio
What Token Studio does
When you export your tokens as a tokens.json file (Thursday session), Token Studio reads it
and creates Figma Variable collections automatically β Primitive tokens in one collection,
Semantic tokens in another. All alias relationships are preserved. No manual entry required.
Git β version control
Git tracks file changes and lets you push work to Github. Needed for Thursday/Friday when working with the Bunch repo.
π€ Guided Path
Paste into Claude.ai β Chat mode
π I need to install Git on my Mac for the first time.
I'm a designer who has never used version control.Please walk me through:
Installing Git on Mac
Configuring my name and email (required once per machine)
Confirming it installed correctly
Keep it simple β I just need Git working.
β¨οΈ Terminal Path
git --version
# If macOS prompts to install Xcode Command Line Tools β click Install
Configure your identity (once per machine):
git config --global user.name "Your Name"
git config --global user.email "you@slalom.com"
Step 4 β Create Your Project Folder
An empty folder where your design system will live.
A project folder is just a regular folder on your Mac containing all the design system files. When you open it in Cursor or Code mode, Claude Code can see and edit everything inside.
π€ Guided Path
Paste into Claude.ai β Chat mode
π I need to create a new empty folder called 'slalom-design-system' on my Desktop on my Mac.
Please walk me through:
Creating the folder
Opening it in Cursor (or Claude desktop app Code mode)
Confirming Claude Code can see the folder
Sending a test message to verify everything is connected
β¨οΈ Terminal Path
mkdir ~/Desktop/slalom-design-system
Then open the folder in your editor:
- Cursor: File β Open Folder β Desktop β select
slalom-design-systemβ Open - Claude desktop app: Code mode β folder icon β select
slalom-design-system
Test the connection
With the folder open, send this in Code mode:
π Hello. What is the name of the folder I have open? What files are in it?
Claude Code should name the folder and say it's empty. If it does β you're set.
β Step 4 done when Claude Code can name your folder and describe its contents.
Setup Checklist
| How to verify | |
|---|---|
| β Step 1 | node --version prints v18 or higher in Terminal |
| β Step 2 | Cursor opens and you're signed in |
| β Step 3 | Claude Code responds to a test message in Code mode |
| β Step 4 | slalom-design-system folder is open and Claude Code can name it |
| β Step 3b (before Fri) | .mcp.json is in the project root and Claude Code confirms it |
| β Step 3c (before Thu) | Token Studio installed in Figma Β· git --version works |
β Steps 1β4 done? You're ready for Wednesday.
Homework β Setup Validation
10β15 minutes. Complete before Wednesday.
Why this task?
π― The goal isn't to build anything yet β it's to confirm your setup works before we're all in a room together. If something breaks, now is the right time to find out.
Four steps
- Complete Steps 1β4 and tick all four checkboxes
- Open the
slalom-design-systemfolder in Cursor or Claude desktop app Code mode - Send this message to Claude Code and screenshot the response
- Share the screenshot in the team Slack channel or send to Rotash
Test message β paste this exactly into Claude Code
π I am testing my setup. Please tell me:
What folder do I currently have open?
What files are in it right now?
What is one thing you could help me build in this design system project?
A good response will:
- Name the folder correctly (slalom-design-system)
- Describe the contents β probably just .mcp.json if you did Step 3b, otherwise empty
- Suggest something it could build β a Button component, a tokens file, etc.
π‘Β If Claude Code can't see the folder: confirm you used File β Open Folder (not a single file). If using the desktop app, confirm you're in Code mode not Chat.
The week ahead
| This week | Steps 1β4 + homework. Share screenshot |
| Wednesday | Build a client design system together β with βPromptβ scaffold |
| Thursday | Components, tokens, CLAUDE.md hands-on |
| Friday | Governance, debugging, Figma sync, Bunch comparison |
π Parts 2β5 will be shared before Wednesday.
Troubleshooting
If your issue isn't here β paste the full error into Claude.ai Chat and ask for help.
| Problem | Fix |
|---|---|
node --version β command not found | Close Terminal completely, reopen it, try again. If still failing β repeat Step 1. |
npm install fails | Check node --version is v18+. If it is, paste the full error into Claude.ai Chat. |
localhost:5173 not loading | npm run dev must stay running in an open Terminal tab. Open a new tab and run it again. |
| Claude Code panel not visible in Cursor | View β Extensions β search "Claude Code" β confirm installed. Restart Cursor. |
| Claude Code in Chat mode instead of Code | Check the mode switcher in the desktop app β click Code. |
| Claude Code can't see my folder | You likely opened a file, not a folder. Use File β Open Folder and select the project folder. |
| Claude Code inventing token names | CLAUDE.md isn't being read β confirm it's at the project root, not in a subfolder. |
.mcp.json not found | Must be at the project root β same level as CLAUDE.md, not inside src/. |
| Token Studio missing from Figma | Right-click canvas β Plugins β search Token Studio. If missing, reinstall from Community. |
| Any other error | Copy the full error. Open Claude.ai Chat: "Setting up for Slalom DS workshop, got this error on [step]: [paste]." |