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 packages
  • apps/rowboat/ – Next.js web dashboard
  • apps/rowboatx/ – Next.js frontend application
  • apps/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: zod for 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: ai SDK
  • 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 (as motion), 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-v2 for 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-auth0 for 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 zod for validation, pdf-parse/mammoth/xlsx for document parsing, and mongodb/ioredis/@qdrant/js-client-rest for database operations.
  • Installation requires pnpm install from the root to resolve all workspace dependencies using the workspace:* 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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →