Prerequisites
Before you begin, ensure you have the following installed:- Node.js 18+ (with npm)
- pnpm (required for workspace protocol)
- Git for version control
Rowboat uses pnpm as its package manager because it’s required for the
workspace:* protocol used in the monorepo.Quick Start
Build workspace packages
Build the shared packages in the correct order:This builds:
shared → core → preloadRepository Structure
The Rowboat monorepo contains several applications:- apps/x - Electron desktop app (primary focus)
- apps/rowboat - Next.js web dashboard
- apps/rowboatx - Next.js frontend
- apps/cli - Command-line interface tool
- apps/python-sdk - Python SDK
- apps/docs - Documentation site (Mintlify)
Most development work focuses on the Electron app (
apps/x), which has its own nested workspace structure.Development Workflow
Running the Electron App
Making Changes
- Shared types/utilities - Edit
apps/x/packages/shared/src/, then runnpm run deps - Core business logic - Edit
apps/x/packages/core/src/, then runnpm run deps - Main process - Edit
apps/x/apps/main/src/, requires dev server restart - Renderer (UI) - Edit
apps/x/apps/renderer/src/, hot-reloads automatically - Preload scripts - Edit
apps/x/apps/preload/src/, then runnpm run deps
Tech Stack
The Electron app is built with modern web technologies:| Layer | Technology |
|---|---|
| Desktop | Electron 39.x |
| UI | React 19, Vite 7 |
| Styling | TailwindCSS, Radix UI |
| State | React hooks |
| AI | Vercel AI SDK, OpenAI/Anthropic/Google/OpenRouter |
| IPC | Electron contextBridge |
| Build | TypeScript 5.9, esbuild, Electron Forge |
Key Documentation
- Monorepo Structure - Understand the workspace layout
- Electron App - Deep dive into the Electron architecture
- Building - Build system and packaging instructions
- Testing - Testing guide and best practices
Getting Help
For detailed context when working with AI coding agents, refer to theCLAUDE.md file in the repository root. This file contains comprehensive information about the codebase structure, common tasks, and key reference files.