Documentation Coverage
This page is the source-to-doc checklist for keeping DotAgents documentation complete across the monorepo. It is intentionally explicit: when code moves, routes are added, or app screens change, update this checklist and run pnpm docs:coverage.
Coverage Standard
Documentation is considered covered only when all of the following are true:
- Every tracked app, package, server surface, and shipped artifact area has a primary documentation owner.
- Every desktop renderer page and mobile screen is named in the coverage checklist below.
- Every Fastify route registered in
apps/desktop/src/main/remote-server.tsis listed in Remote API Reference. - Agent file examples use current on-disk fields:
connection-typeinagent.md, andskillsConfig.enabledSkillIdswithallSkillsDisabledByDefaultinconfig.json. - Platform commands are written with
pnpm; the repo does not use npm or yarn. - The verifier passes:
pnpm docs:coverage
Source Coverage Matrix
| Source area | What it owns | Primary docs | Notes |
|---|---|---|---|
apps/desktop | Electron app package, builds, release scripts, desktop runtime | Desktop App, Architecture Deep Dive, Development Setup, Build, Release, Deploy | The desktop app is Electron-first; renderer validation alone does not cover desktop behavior. |
apps/desktop/src/main | Main process services, LLM loop, MCP, ACP/acpx, config, conversations, remote server, integrations, updater | Architecture Deep Dive, Remote Server & Mobile Pairing, Remote API Reference | Main-process services are the source of truth for server routes and privileged behavior. |
apps/desktop/src/renderer/src | React renderer app, routes, settings surfaces, session UI, panel UI | Desktop App, Architecture Deep Dive | Renderer must use IPC/preload boundaries instead of importing from src/main. |
apps/desktop/src/shared | Desktop-only shared types used by main, preload, and renderer | Architecture Deep Dive, this page | Cross-app types belong in packages/shared; desktop-only types stay here. |
apps/desktop/src/preload | Secure Electron bridge from renderer to main process | Architecture Deep Dive, Security | Treat this as part of the process boundary. |
apps/desktop/dotagents-rs | Native keyboard/input binary built by desktop scripts | Architecture Deep Dive, Development Setup, Build, Release, Deploy | Build with pnpm --filter @dotagents/desktop build-rs. |
apps/mobile | Expo/React Native mobile client, native Android folder, screens, stores, voice, push, connection recovery | Mobile App, Installation | Native devices require development builds for expo-speech-recognition. |
packages/core | Platform-agnostic config, .agents file parsing, service container, state primitives, test adapters | Apps & Packages, Architecture Deep Dive, .agents Protocol, package README | Keep this package dependency-light and usable outside Electron. |
packages/shared | Cross-app API contracts, progress/session/message types, providers, colors, language/STT/TTS utilities | Apps & Packages, Architecture Deep Dive, Remote API Reference, package README | If mobile and desktop both import it, document the shape here or in the feature doc that owns it. |
packages/mcp-whatsapp | Standalone WhatsApp MCP server and operator command bridge | WhatsApp Integration, package README | Covers MCP tools, environment variables, auto-reply, and operator commands. |
docs-site | Docusaurus documentation app and primary website for dotagents.app | Development Setup, Build, Release, Deploy, this page | Build with pnpm --filter docs-site build; keep sidebar generated by categories. |
apps/promo-studio | Rendered marketing/demo clips used by launch materials | This page | Currently tracked as rendered media only. Add a package README if source projects/scripts are added. |
scripts | Root installer and release support scripts | Development Setup, Build, Release, Deploy, this page | Use these docs for source install, build, and verification commands. |
tests | Repo-level integration tests | Development Setup, this page | Package-level tests are documented near each app/package command. |
Desktop Renderer Pages
These files are the user-facing desktop page surfaces that must stay covered by Desktop App and Architecture Deep Dive:
| Page file | Route or surface | Documentation owner |
|---|---|---|
knowledge.tsx | /knowledge knowledge notes | Desktop App, Knowledge & Notes |
onboarding.tsx | /onboarding first-run flow | Quick Start, Desktop App |
panel.tsx | /panel floating panel | Desktop App, Voice Interface |
sessions.tsx | /, /:id, /history, /history/:id sessions | Desktop App |
settings-agents.tsx | /settings/agents | Agents |
settings-capabilities.tsx | /settings/capabilities | MCP Tools, MCP Server Configuration |
settings-discord.tsx | /settings/discord | Remote API Reference, Settings Reference |
settings-general.tsx | /settings, /settings/general | Settings Reference |
settings-loops.tsx | /settings/repeat-tasks | Desktop App, Settings Reference |
settings-mcp-tools.tsx | legacy MCP tools settings surface | MCP Tools |
settings-models.tsx | /settings/models | AI Providers |
settings-providers.tsx | /settings/providers | AI Providers |
settings-remote-server.tsx | legacy remote server settings surface | Remote Server & Mobile Pairing |
settings-skills.tsx | legacy skills settings surface | Skills |
settings-whatsapp.tsx | /settings/whatsapp | WhatsApp Integration |
setup.tsx | /setup setup flow | Installation, Quick Start |
Mobile Screens
These mobile screens must stay covered by Mobile App, Remote Server & Mobile Pairing, and feature-specific docs:
| Screen file | Purpose | Documentation owner |
|---|---|---|
AgentEditScreen.tsx | Create/edit agents | Agents, Mobile App |
ChatScreen.tsx | Text, voice, streaming chat, TTS, hands-free mode | Mobile App, Voice Interface |
ConnectionSettingsScreen.tsx | QR pairing, manual API setup, connection tests | Remote Server & Mobile Pairing, Mobile App |
KnowledgeNoteEditScreen.tsx | Create/edit knowledge notes | Knowledge & Notes, Mobile App |
LoopEditScreen.tsx | Create/edit recurring loops | Mobile App, Settings Reference |
OperationsScreen.tsx | Operator dashboard for health, logs, tunnels, integrations, updater, actions | Remote API Reference, Mobile App |
SessionListScreen.tsx | Conversation list, search, deletion, resume | Mobile App |
SettingsScreen.tsx | API/model/voice/theme settings | Mobile App, Settings Reference |
SplitChatScreen.tsx | Multi-agent comparison chat | Mobile App, Agent Delegation |
Remote Server Route Coverage
pnpm docs:coverage extracts every Fastify route from apps/desktop/src/main/remote-server.ts and requires the exact METHOD /path string to appear in Remote API Reference. This prevents the server and docs from drifting when endpoints are added for mobile, operator dashboards, ACP-injected MCP transports, push, TTS, assets, or integrations.
The same verifier rejects stale agent configuration examples that use the old skill allowlist key or put connection.type inside file-based config.json examples.
Maintenance Checklist
Run this checklist when changing app surfaces:
- Add or move a desktop renderer page: update Desktop Renderer Pages.
- Add or move a mobile screen: update Mobile Screens.
- Add, rename, or delete a remote server route: update Remote API Reference and run
pnpm docs:coverage. - Add a package or app under
apps/orpackages/: add it to Source Coverage Matrix and the verifier script. - Add a generated media-only area: document what owns the source of truth and whether tracked files are source or output.
- Before merging docs work, run:
pnpm docs:coverage
pnpm --filter docs-site build