Rowboat Dependencies: Complete Guide to rowboatlabs/rowboat Packages and Libraries
The rowboatlabs/rowboat monorepo manages dependencies across multiple workspaces—including an Electron desktop app, Next.js web dashboards, and a CLI tool—utilizing AI SDKs, React ecosystems, and cloud service libraries.
Rowboat is a multi-package monorepo organized as a pnpm workspace. Understanding the rowboatlabs/rowboat dependencies requires examining each workspace's package.json, as the project splits functionality across independent applications with specific runtime and development requirements.
Understanding the Rowboat Monorepo Structure
The repository uses pnpm workspaces to manage dependencies across distinct applications. Each workspace maintains its own package.json, creating a distributed dependency graph rather than a single root manifest.
Key workspace locations include:
apps/x/– Electron desktop application with nested packagesapps/rowboat/– Next.js web dashboardapps/rowboatx/– Next.js frontend applicationapps/cli/– Command-line interface tool
Core Dependencies by Workspace
Electron Desktop App (apps/x)
The Electron application uses a nested monorepo structure with multiple sub-packages.
Shared Utilities (apps/x/packages/shared/package.json)
- Runtime:
zodfor schema validation
Core Business Logic (apps/x/packages/core/package.json)
- AI Providers:
@ai-sdk/anthropic,@ai-sdk/google,@ai-sdk/openai,@ai-sdk/openai-compatible,@ai-sdk/provider,@openrouter/ai-sdk-provider,ollama-ai-provider-v2 - Integration Platforms:
@composio/core,@modelcontextprotocol/sdk - Document Processing:
@react-pdf/renderer,mammoth,node-html-markdown,papaparse,pdf-parse,xlsx - Google Services:
@google-cloud/local-auth,google-auth-library,googleapis - Utilities:
awilix,chokidar,cron-parser,glob,yaml,zod - Development:
@types/node,@types/papaparse,@types/pdf-parse
Renderer Process (apps/x/apps/renderer/package.json)
- UI Framework:
react,react-dom,@radix-ui/*primitives,tailwindcss,@tailwindcss/vite - Editor:
@tiptap/*packages for rich text editing - AI Integration:
aiSDK - Utilities:
lucide-react,clsx,class-variance-authority,cmdk,motion,nanoid,posthog-js,sonner,streamdown,tailwind-merge,tokenlens,zod - Development:
@eslint/js,@types/node,@types/react,@vitejs/plugin-react,eslint,typescript,vite
Main Process (apps/x/apps/main/package.json)
- Electron:
electron,electron-squirrel-startup,update-electron-app - Core Logic:
@x/core,@x/shared(workspace links) - File Processing:
chokidar,mammoth,papaparse,pdf-parse,xlsx - Development:
@electron-forge/*,@types/node,esbuild
Preload Script (apps/x/apps/preload/package.json)
- Workspace:
@x/shared - Build:
electron,esbuild
Web Dashboards
Primary Dashboard (apps/rowboat/package.json)
- Framework:
next(v15),react(v19),react-dom - AI:
@ai-sdk/openai,ai,@langchain/*,@openai/agents,@google/generative-ai - Auth:
@auth0/nextjs-auth0,jose - Database:
mongodb,ioredis,@qdrant/js-client-rest - Cloud:
@aws-sdk/client-s3,@aws-sdk/s3-request-presigner,twilio - UI:
@heroui/*,@heroicons/react,@primer/react,lucide-react,tailwindcss,framer-motion(implied by motion),clsx,tailwind-merge - Editors:
@tiptap/*(implied),quill,react-markdown,react-diff-viewer,@dnd-kit/*,react-resizable-panels - Integration:
@composio/core,@modelcontextprotocol/sdk,@mendable/firecrawl-js - Utilities:
zod,zod-to-json-schema,nanoid,immer,cron-parser,dotenv,mermaid,posthog-js,streamdown,remark-gfm,react-dropzone,@internationalized/date - Development:
@tailwindcss/postcss,@types/node,@types/react,eslint,eslint-config-next,postcss,tsx,typescript
Frontend App (apps/rowboatx/package.json)
- Framework:
next(v15),react,react-dom - AI:
@ai-sdk/react,ai,streamdown - UI:
@radix-ui/*,tailwindcss,@tailwindcss/postcss,lucide-react,clsx,class-variance-authority,cmdk,framer-motion(asmotion),tailwind-merge,tw-animate-css - Editors:
@tiptap/*,lowlight,shiki,marked,react-markdown,remark-gfm,turndown,use-stick-to-bottom - Flow:
@xyflow/react - Utilities:
nanoid,tokenlens,v0-sdk - Development:
@eslint/eslintrc,@types/node,@types/react,eslint,eslint-config-next,typescript
CLI Tool (apps/cli/package.json)
- AI Providers:
@ai-sdk/anthropic,@ai-sdk/google,@ai-sdk/openai,@ai-sdk/openai-compatible,@ai-sdk/provider,@openrouter/ai-sdk-provider,ollama-ai-provider-v2 - Framework:
hono,hono-openapi - UI:
ink,react(for CLI UI) - Integration:
@modelcontextprotocol/sdk,eventsource-parser - Google:
google-auth-library,googleapis - Utilities:
awilix,dotenv,json-schema-to-zod,nanoid,node-html-markdown,yaml,yargs,zod - Development:
@types/node,@types/react,typescript
Dependency Categories Across the Monorepo
AI and Machine Learning SDKs
Rowboat integrates multiple AI providers through the Vercel AI SDK (ai) and provider-specific packages:
- Anthropic:
@ai-sdk/anthropic - OpenAI:
@ai-sdk/openai - Google:
@ai-sdk/google,@google/generative-ai - OpenRouter:
@openrouter/ai-sdk-provider - Ollama:
ollama-ai-provider-v2for local models - LangChain:
@langchain/*packages in the web dashboard
UI Frameworks and Component Libraries
The project uses React across all applications with modern UI primitives:
- Styling:
tailwindcss,tailwind-merge,clsx,class-variance-authority - Primitives:
@radix-ui/*components,@heroui/*(HeroUI),@primer/react - Icons:
lucide-react,@heroicons/react - Animation:
motion(Framer Motion) - Editors:
@tiptap/*,quill,react-markdown,shiki,lowlight
Data Processing and Validation
- Schema Validation:
zod(used universally),zod-to-json-schema,json-schema-to-zod - Document Parsing:
pdf-parse,mammoth(Word documents),xlsx(Excel),papaparse(CSV),node-html-markdown - Utilities:
yaml,cron-parser,glob,nanoid,immer
Cloud Services and Authentication
- AWS:
@aws-sdk/client-s3,@aws-sdk/s3-request-presigner - Google Cloud:
googleapis,google-auth-library,@google-cloud/local-auth - Auth0:
@auth0/nextjs-auth0for Next.js authentication - Databases:
mongodb,ioredis(Redis),@qdrant/js-client-rest - Communication:
twilio - Monitoring:
posthog-js
Installing and Managing Dependencies
Rowboat uses pnpm as its package manager with workspace protocol linking.
Installing All Workspaces
From the repository root:
pnpm install
This installs dependencies for all workspaces defined in pnpm-workspace.yaml, including the Electron app, Next.js dashboards, and CLI tool.
Installing Specific Workspace Dependencies
To install dependencies for a specific application:
# Electron desktop app
cd apps/x
pnpm install
# Web dashboard
cd apps/rowboat
pnpm install
# CLI tool
cd apps/cli
pnpm install
Workspace Linking
Internal packages use pnpm workspace protocols. For example, in apps/x/apps/renderer/package.json:
{
"dependencies": {
"@x/core": "workspace:*",
"@x/shared": "workspace:*"
}
}
This links to apps/x/packages/core and apps/x/packages/shared respectively.
Summary
- Rowboat is a pnpm monorepo with dependencies distributed across multiple workspaces including an Electron desktop app (
apps/x), Next.js web dashboards (apps/rowboat,apps/rowboatx), and a CLI tool (apps/cli). - AI integration relies on the Vercel AI SDK (
ai) with provider-specific packages for Anthropic, OpenAI, Google, OpenRouter, and Ollama local models. - UI development uses React 19, Next.js 15, Tailwind CSS, Radix UI primitives, and Tiptap editors across both desktop and web applications.
- Data processing depends on
zodfor validation,pdf-parse/mammoth/xlsxfor document parsing, andmongodb/ioredis/@qdrant/js-client-restfor database operations. - Installation requires
pnpm installfrom the root to resolve all workspace dependencies using theworkspace:*protocol for internal package linking.
Frequently Asked Questions
What package manager does rowboatlabs/rowboat use?
The rowboatlabs/rowboat repository uses pnpm as its package manager. The monorepo configuration relies on pnpm workspaces to link internal packages using the workspace:* protocol, allowing the Electron app, Next.js dashboards, and CLI tool to share local dependencies without publishing to npm.
How are dependencies shared between the Electron app and web dashboards?
Dependencies are not directly shared between the Electron app (apps/x) and web dashboards (apps/rowboat, apps/rowboatx). Each workspace maintains its own package.json and node_modules. However, both use similar technology stacks—React, Tailwind CSS, and the Vercel AI SDK—allowing for consistent development patterns across platforms while keeping dependencies isolated per workspace.
Does rowboatlabs/rowboat support local AI models?
Yes, the repository supports local AI models through the Ollama integration. The apps/x/packages/core/package.json and apps/cli/package.json both include ollama-ai-provider-v2, which provides compatibility with locally hosted models via Ollama, alongside cloud providers like OpenAI, Anthropic, and Google.
What database dependencies are required for the Rowboat web dashboard?
The apps/rowboat Next.js dashboard requires MongoDB (mongodb), Redis (ioredis), and Qdrant (@qdrant/js-client-rest) for data persistence and vector storage. These dependencies support the dashboard's agent management, conversation history, and semantic search capabilities.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →