Overview
This guide will help you set up a development environment to contribute to Tesslate Studio or build custom extensions.Just want to use Tesslate Studio? See the Self-Hosting Quickstart instead.
Prerequisites
Before you begin, install these tools:Node.js & npm
Python & uv
Docker Desktop
Git
Fork and Clone
1
Fork the Repository
- Navigate to github.com/TesslateAI/Studio
- Click “Fork” button
- Choose your account
2
Clone Your Fork
YOUR-USERNAME with your GitHub username.3
Add Upstream Remote
4
Verify Remotes
Install Dependencies
- Frontend
- Backend
- React 19
- Vite 7
- TypeScript
- Tailwind CSS
- Monaco Editor
- Zustand
Configure Environment
1
Copy Environment File
2
Generate Keys
3
Update .env File
Development Modes
Choose the mode that fits your workflow:Full Docker Mode
Best for: Testing the complete system, minimal setup
- Everything works out of the box
- Closest to production
- No local dependencies needed
- Slower feedback loop
- Need to rebuild on code changes
- Frontend:
http://studio.localhost - Backend API:
http://studio.localhost/api - Traefik Dashboard:
http://localhost:8080
Hybrid Mode (Recommended)
Best for: Active development with instant feedback
1
Start Infrastructure
2
Run Backend
3
Run Frontend
- Instant hot reload
- Direct access to logs
- Easy debugging
- Fast iteration
- More terminal windows
- Manual dependency management
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:8000 - Backend Docs:
http://localhost:8000/docs
Project Structure
Making Changes
Create a Feature Branch
feature/- New featuresfix/- Bug fixesdocs/- Documentationrefactor/- Code refactoringtest/- Tests
Make Your Changes
- Frontend Changes
- Backend Changes
- Database Changes
- Edit files in
app/src/ - Changes auto-reload in browser (HMR)
- Check browser console for errors
- Test in different screen sizes
Keep Your Branch Updated
Testing
Frontend Tests
Backend Tests
Manual Testing
1
Test User Flow
- Create a new account
- Create a project
- Chat with AI agent
- Verify code generation
- Check live preview
2
Test Edge Cases
- Empty inputs
- Invalid data
- Network errors
- Long-running operations
3
Browser Testing
Test in multiple browsers:
- Chrome
- Firefox
- Safari (if on Mac)
- Edge
Debugging
Frontend Debugging
- React DevTools
- Console Logging
- VS Code Debugger
Backend Debugging
- Print Debugging
- pdb Debugger
- VS Code Debugger
Common Tasks
Reset Database
Reset Database
View Container Logs
View Container Logs
Access Database
Access Database
Clean Docker Resources
Clean Docker Resources
Contributing Workflow
1
Create Feature Branch
2
Make Changes
Write code, add tests, update docs.
3
Test Locally
Run all tests and manual testing.
4
Commit Changes
5
Push to Fork
6
Create Pull Request
- Go to your fork on GitHub
- Click “Pull Request”
- Fill in the template
- Link related issues