Added three new API endpoints for managing projects using SQLite:
- GET /api/projects - Lists all active projects (deletedAt IS NULL)
* Sorts by lastActivity DESC
* Returns id, name, description, icon, color, path, sessionCount, createdAt, lastActivity
- POST /api/projects - Creates new project
* Required fields: name, path
* Optional fields: description, icon (default '📁'), color (default '#4a9eff')
* Validates required fields and checks for duplicate names
* Returns 201 status on success
- PUT /api/projects/:id - Updates existing project
* Allows updating: name, description, icon, color, path
* Only updates projects where deletedAt IS NULL
* Returns 404 if project not found
* Validates duplicate names on name change
All endpoints use synchronous better-sqlite3 API with parameterized queries.
SessionCount set to 0 for now (will be implemented in Task 3).
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Full IDE with terminal integration using xterm.js
- Session management with local and web sessions
- HTML preview functionality
- Multi-terminal support with session picker
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>