Skip to main content

Apps & Packages

This is the contributor map for every tracked app, package, server surface, and shipped support area in the monorepo.


Workspace Packages

The pnpm workspace is defined in pnpm-workspace.yaml:

packages:
- 'docs-site'
- 'apps/*'
- 'packages/*'

docs-site is the Docusaurus package and primary public website. Use pnpm --filter docs-site ... for docs commands.

Apps

PathRuntimeOwnsMain commands
apps/desktopElectron, React, Rust helper binaryDesktop UI, main-process agent runtime, MCP/ACP/acpx, remote server, integrations, updater, release packagingpnpm --filter @dotagents/desktop dev, pnpm --filter @dotagents/desktop build, pnpm --filter @dotagents/desktop test:run
apps/mobileExpo, React Native, React Native WebiOS/Android/web mobile client, voice UX, QR pairing, remote API client, operator dashboardpnpm --filter @dotagents/mobile start, pnpm --filter @dotagents/mobile web, pnpm --filter @dotagents/mobile test
apps/promo-studioTracked media output onlyDemo and marketing renders used by launch materialsNo package script currently; add a README if source project files are added

Desktop App Boundaries

PathPurposeNotes
apps/desktop/src/mainElectron main process, local agent runtime, MCP/ACP, remote server, persistence, integrationsRenderer code must not import from here. Reuse singleton services instead of constructing ad hoc instances.
apps/desktop/src/renderer/srcReact renderer app, routes, settings, sessions, panel UITalks to the main process through preload/TIPC. Use renderer aliases such as @renderer/* or ~/*.
apps/desktop/src/preloadSecure IPC bridge exposed to rendererKeep this boundary narrow and typed.
apps/desktop/src/sharedDesktop-only types shared by main/preload/rendererCross-app contracts belong in packages/shared.
apps/desktop/dotagents-rsRust native keyboard/input helperBuilt by pnpm --filter @dotagents/desktop build-rs.
apps/desktop/scriptsDesktop build, release, Rust, perf, and install helpersPrefer package scripts over calling internals directly.

Desktop Server Surfaces

SurfaceSourceDocumentation
Remote HTTP APIapps/desktop/src/main/remote-server.tsRemote API Reference
Mobile pairingapps/desktop/src/main/remote-server.ts, apps/mobile/src/screens/ConnectionSettingsScreen.tsxRemote Server & Mobile Pairing
ACP-injected MCP runtime transportapps/desktop/src/main/remote-server.ts, apps/desktop/src/main/acpx/Remote API Reference, Architecture Deep Dive
Operator dashboard endpointsapps/desktop/src/main/remote-server.ts, apps/mobile/src/screens/OperationsScreen.tsxRemote API Reference, Mobile App
Cloudflare Tunnel controlsapps/desktop/src/main/cloudflare-tunnel.tsRemote Server & Mobile Pairing, Settings Reference
Discord operator commandsapps/desktop/src/main/discord-service.tsDiscord Integration
WhatsApp operator commandspackages/mcp-whatsapp/src/index.tsWhatsApp Integration

Mobile App Boundaries

PathPurpose
apps/mobile/App.tsxNavigation, providers, deep links, notification routing, app-level sync
apps/mobile/src/screensUser-facing screens: chat, sessions, split chat, settings, connection, operations, agent editing, knowledge notes, loops
apps/mobile/src/libRemote API clients, OpenAI-compatible chat client, sync, connection/tunnel recovery, push, TTS, voice helpers
apps/mobile/src/lib/voiceSpeech recognition, hands-free controller, phrase matching
apps/mobile/src/storeAsyncStorage-backed config, sessions, profiles, queue, connection state
apps/mobile/src/uiReusable mobile UI components and markdown/theme rendering
apps/mobile/androidNative Android project generated for development builds
apps/mobile/testsNode-based mobile utility tests

Native iOS/Android devices require a development build for expo-speech-recognition; Expo Go is not enough.

Packages

PathPackageOwnsMain commands
packages/core@dotagents/corePlatform-agnostic config/runtime primitives, service interfaces, .agents file helpers, testing mockspnpm --filter @dotagents/core build, pnpm --filter @dotagents/core test, pnpm --filter @dotagents/core typecheck
packages/shared@dotagents/sharedCross-app API contracts, message/session/progress types, providers, colors, language/STT/TTS helperspnpm --filter @dotagents/shared build, pnpm --filter @dotagents/shared test, pnpm --filter @dotagents/shared typecheck
packages/mcp-whatsapp@dotagents/mcp-whatsappStandalone WhatsApp MCP server, WhatsApp session/auth, /ops bridge to DotAgents operator endpointspnpm --filter @dotagents/mcp-whatsapp build, pnpm --filter @dotagents/mcp-whatsapp typecheck

If you change packages/shared, run pnpm build:shared before pnpm dev.

Docs, Scripts, and Tests

PathOwnsCommands
docs-siteDocusaurus docs and primary websitepnpm --filter docs-site start, pnpm --filter docs-site build, pnpm --filter docs-site typecheck
scriptsRoot install, release, migration, Linux smoke, docs coverage helpersUse the documented root/package scripts first
testsRepo-level integration testspnpm test or package-specific test commands

See Build, Release, Deploy for signing, packaging, release artifacts, and deployment workflows.

Validation

For docs coverage work:

pnpm docs:coverage
pnpm --filter docs-site build

For code changes:

pnpm typecheck
pnpm test

Use narrower package commands when the change is scoped.