Complete these setup steps before the workshop to ensure you're ready to participate without delays.
| Software | Minimum Version | Verification Command |
|---|---|---|
| Python | 3.9+ | python3 --version |
| Node.js | 18+ | node --version |
| npm | 9+ | npm --version |
| Git | Any recent | git --version |
| Claude Code | 2.1+ | claude --version |
- macOS:
brew install python@3.12 - Windows: Download from python.org or
choco install python - Linux:
sudo apt install python3(Ubuntu/Debian) or equivalent
- All platforms: Download from nodejs.org (LTS version recommended)
- macOS:
brew install node - Windows:
choco install nodejs-lts
- macOS: Pre-installed or
brew install git - Windows: Download from git-scm.com
- Linux:
sudo apt install git
Install Claude Code CLI:
npm install -g @anthropic-ai/claude-codeVerify installation:
claude --version
# Should show 2.1.x or higherIf you have an older version, update with:
npm update -g @anthropic-ai/claude-codeYou will need a JIRA account with API access for the workshop exercises.
- Go to https://www.atlassian.com/software/jira/free
- Click "Get it free" and create an account
- Create a new project (any template works - Kanban recommended)
- Note your JIRA instance URL (e.g.,
https://your-name.atlassian.net)
- Go to https://id.atlassian.com/manage-profile/security/api-tokens
- Click "Create API token"
- Give it a label (e.g., "Workshop Token")
- Copy and save the token securely - you won't be able to see it again
Have these ready:
- JIRA Instance URL:
https://your-name.atlassian.net - Email: The email you used to create the account
- API Token: The token you generated above
- Project Key: The short code for your project (e.g., "DEMO", "TEST")
- VS Code with extensions:
- Python
- ES7+ React/Redux/React-Native snippets
- Tailwind CSS IntelliSense
- Prettier - Code formatter
- Playwright browsers are installed automatically when running
npm installat the project root
Run all verification commands:
python3 --version # 3.9.x or higher
node --version # v18.x or higher
npm --version # 9.x or higher
git --version # Any version
claude --version # 2.1.x or higherClone the repository and verify everything works:
git clone https://github.com/gravity9-tech/claude_code_workshop
cd claude_code_workshop./start.shThis will:
- Install Python dependencies (backend)
- Install npm dependencies (frontend)
- Start the backend on http://localhost:8765
- Start the frontend on http://localhost:4321
Visit http://localhost:4321 - you should see the Tea Store application.
Press Ctrl+C to stop both services.
# Using node directly (cross-platform)
node test.js # Run backend + frontend unit tests
node test.js --e2e # Include E2E tests (requires Playwright browsers)
node test.js --coverage # Run with coverage reports
# Or using npm scripts
npm test # Run backend + frontend unit tests
npm run test:all # Include E2E tests
npm run test:coverage # Run with coverage reportstea-store-demo/
├── backend/ # Python FastAPI backend
├── frontend/ # React + TypeScript + Vite frontend
├── e2e/ # Playwright E2E tests
├── start.sh # Start both services
└── test.js # Cross-platform test runner
If python3 points to an older version, you may need to use python3.12 explicitly or update your PATH.
Use sudo npm install -g or configure npm to use a different directory for global packages.
If ports 4321 or 8765 are in use, the scripts will try alternative ports or you can kill existing processes:
lsof -ti:4321 | xargs kill -9 # Kill process on port 4321
lsof -ti:8765 | xargs kill -9 # Kill process on port 8765Run claude and follow the prompts to authenticate before the workshop.
Playwright browsers are installed automatically via postinstall. If E2E tests fail due to missing browsers, reinstall manually:
npx playwright install chromiumQuestions? Contact the workshop organizer before the session.