Ensure you have the following installed:
- Node.js (18+) - Install
- pnpm (8+) - Install
- Rust (1.75+) - Install - Optional, for WASM development
- Git - Install
# Clone the repository
git clone https://github.com/nutstore/creatorweave.git
cd creatorweave
# Install dependencies
pnpm install# Start the main web application
cd web && pnpm run devThe application will be available at http://localhost:5173
Note: The development server requires COOP/COEP headers for SQLite WASM support, which are automatically configured in vite.config.ts.
To enable mobile remote control:
# Terminal 1: Start relay server
cd relay-server && pnpm run dev
# Terminal 2: Start mobile web
cd mobile-web && pnpm run dev --port 3002Then:
- Open http://localhost:5173 (Desktop)
- Click "Remote Session" → "Create Session"
- Scan QR code with mobile device at http://localhost:3002
# Build WASM modules (if modified)
cd web && pnpm run build:wasm
# Build web application
pnpm run build
# Preview the build
pnpm run preview# Development
pnpm run dev # Start dev server (localhost:5173)
pnpm run build # Build for production
pnpm run preview # Preview production build
# Testing
pnpm run test # Run Vitest unit tests
pnpm run test:ui # Run tests with UI
pnpm run test:coverage # Run tests with coverage
pnpm run test:e2e # Run Playwright E2E tests
# Code Quality
pnpm run lint # Run ESLint
pnpm run lint:fix # Fix ESLint issues
pnpm run format # Format code with Prettier
pnpm run typecheck # Run TypeScript type checker
# WASM
pnpm run build:wasm # Build WASM modules (Rust required)# UI Package
cd packages/ui
pnpm run build # Build UI components
pnpm run storybook # Start Storybook (localhost:6006)
pnpm run build-storybook # Build Storybook static
# Other packages
cd packages/[package-name]
pnpm run typecheck # Type check packagecd mobile-web
pnpm run dev -- --port 3002 # Start dev server on 3002 (recommended for remote flow)
pnpm run build # Build for production
pnpm run typecheck # Run TypeScript type checkercd relay-server
pnpm run dev # Start relay server (default port 3001)
pnpm run build # Build TypeScript
pnpm run start # Start production servercreatorweave/
├── web/ # React frontend (Desktop)
│ ├── src/
│ │ ├── agent/ # AI agent system
│ │ │ ├── agent-loop.ts
│ │ │ ├── context-manager.ts
│ │ │ ├── tools/ # 30+ agent tools
│ │ │ └── llm/ # LLM providers
│ │ ├── components/ # React components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── python/ # Pyodide integration
│ │ ├── sqlite/ # SQLite WASM database
│ │ ├── store/ # Zustand stores
│ │ ├── workers/ # Web Workers
│ │ └── export/ # Data export
│ └── package.json
│
├── mobile-web/ # React frontend (Mobile Remote)
│ └── src/
│ ├── components/ # Mobile-optimized components
│ ├── pages/ # Mobile pages
│ └── contexts/ # React contexts
│
├── relay-server/ # Socket.IO relay server
│ └── src/index.ts
│
├── packages/ # Monorepo shared packages
│ ├── ui/ # Shared UI components (Radix UI)
│ ├── conversation/ # Conversation components
│ ├── encryption/ # E2E encryption
│ ├── i18n/ # Internationalization
│ └── config/ # Shared configurations
│
├── wasm/ # Rust + WASM modules
│ └── crates/
│
├── docs/ # Documentation
│ ├── architecture/ # Architecture docs
│ ├── development/ # Development guides
│ └── api/ # API reference
│
└── scripts/ # Development scripts
SQLite WASM requires COOP/COEP headers. If you see errors:
# Check vite.config.ts has the headers:
server: {
headers: {
'Cross-Origin-Opener-Policy': 'same-origin',
'Cross-Origin-Embedder-Policy': 'require-corp',
},
}# Kill process on port 5173 (macOS/Linux)
lsof -ti:5173 | xargs kill -9
# Or use a different port
pnpm run dev -- --port 3001# Clear pnpm cache and reinstall
rm -rf node_modules pnpm-lock.yaml
pnpm install# Clear OPFS storage
# In browser DevTools → Application → Origin Private File System
# Delete all files
# Or use the "Reset Storage" option in Settings# Check CDN connectivity
curl -I https://cdn.jsdelivr.net/pyodide/v0.29.3/full/pyodide.js
# If blocked, you may need to use a different CDN or mirror- Read Architecture Overview
- Read Agent System Documentation
- Explore the API Documentation
- Read Python Integration Guide
- Hot Reload: Vite provides hot module replacement for fast development
- WASM Changes: When modifying Rust code, run
pnpm run build:wasm - TypeScript: The project uses strict TypeScript for type safety
- Code Style: Run
pnpm run formatto format code with Prettier - Testing: Use
pnpm run test:uifor interactive test UI
- Configure API Key: Go to Settings → API Configuration
- Select Folder: Click "Open Directory" to select a local folder
- Start Chatting: Type your question in the input box
- Explore Tools: Use the command palette (
Ctrl/Cmd + K) to access features
- Check existing Issues
- Read Documentation
- Start a Discussion