---
sidebar_position: 4
sidebar_label: "Docs Coverage"
---

# 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.ts` is listed in [Remote API Reference](/reference/api).
- Agent file examples use current on-disk fields: `connection-type` in `agent.md`, and `skillsConfig.enabledSkillIds` with `allSkillsDisabledByDefault` in `config.json`.
- Platform commands are written with `pnpm`; the repo does not use npm or yarn.
- The verifier passes:

```bash
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](/desktop/overview), [Architecture Deep Dive](architecture), [Development Setup](setup), [Build, Release, Deploy](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](architecture), [Remote Server & Mobile Pairing](/desktop/remote-server), [Remote API Reference](/reference/api) | 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](/desktop/overview), [Architecture Deep Dive](architecture) | 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](architecture), 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](architecture), [Security](/security/model) | Treat this as part of the process boundary. |
| `apps/desktop/dotagents-rs` | Native keyboard/input binary built by desktop scripts | [Architecture Deep Dive](architecture), [Development Setup](setup), [Build, Release, Deploy](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](/mobile/overview), [Installation](/getting-started/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](apps-and-packages), [Architecture Deep Dive](architecture), [.agents Protocol](/concepts/dot-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](apps-and-packages), [Architecture Deep Dive](architecture), [Remote API Reference](/reference/api), 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](/tools/whatsapp), 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](setup), [Build, Release, Deploy](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](setup), [Build, Release, Deploy](build-release-deploy), this page | Use these docs for source install, build, and verification commands. |
| `tests` | Repo-level integration tests | [Development Setup](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](/desktop/overview) and [Architecture Deep Dive](architecture):

| Page file | Route or surface | Documentation owner |
|-----------|------------------|---------------------|
| `knowledge.tsx` | `/knowledge` knowledge notes | [Desktop App](/desktop/overview), [Knowledge & Notes](/agents/knowledge-notes) |
| `onboarding.tsx` | `/onboarding` first-run flow | [Quick Start](/getting-started/quickstart), [Desktop App](/desktop/overview) |
| `panel.tsx` | `/panel` floating panel | [Desktop App](/desktop/overview), [Voice Interface](/voice/overview) |
| `sessions.tsx` | `/`, `/:id`, `/history`, `/history/:id` sessions | [Desktop App](/desktop/overview) |
| `settings-agents.tsx` | `/settings/agents` | [Agents](/agents/profiles) |
| `settings-capabilities.tsx` | `/settings/capabilities` | [MCP Tools](/tools/mcp), [MCP Server Configuration](/configuration/mcp-servers) |
| `settings-discord.tsx` | `/settings/discord` | [Remote API Reference](/reference/api), [Settings Reference](/configuration/settings) |
| `settings-general.tsx` | `/settings`, `/settings/general` | [Settings Reference](/configuration/settings) |
| `settings-loops.tsx` | `/settings/repeat-tasks` | [Desktop App](/desktop/overview), [Settings Reference](/configuration/settings) |
| `settings-mcp-tools.tsx` | legacy MCP tools settings surface | [MCP Tools](/tools/mcp) |
| `settings-models.tsx` | `/settings/models` | [AI Providers](/tools/providers) |
| `settings-providers.tsx` | `/settings/providers` | [AI Providers](/tools/providers) |
| `settings-remote-server.tsx` | legacy remote server settings surface | [Remote Server & Mobile Pairing](/desktop/remote-server) |
| `settings-skills.tsx` | legacy skills settings surface | [Skills](/agents/skills) |
| `settings-whatsapp.tsx` | `/settings/whatsapp` | [WhatsApp Integration](/tools/whatsapp) |
| `setup.tsx` | `/setup` setup flow | [Installation](/getting-started/installation), [Quick Start](/getting-started/quickstart) |

## Mobile Screens

These mobile screens must stay covered by [Mobile App](/mobile/overview), [Remote Server & Mobile Pairing](/desktop/remote-server), and feature-specific docs:

| Screen file | Purpose | Documentation owner |
|-------------|---------|---------------------|
| `AgentEditScreen.tsx` | Create/edit agents | [Agents](/agents/profiles), [Mobile App](/mobile/overview) |
| `ChatScreen.tsx` | Text, voice, streaming chat, TTS, hands-free mode | [Mobile App](/mobile/overview), [Voice Interface](/voice/overview) |
| `ConnectionSettingsScreen.tsx` | QR pairing, manual API setup, connection tests | [Remote Server & Mobile Pairing](/desktop/remote-server), [Mobile App](/mobile/overview) |
| `KnowledgeNoteEditScreen.tsx` | Create/edit knowledge notes | [Knowledge & Notes](/agents/knowledge-notes), [Mobile App](/mobile/overview) |
| `LoopEditScreen.tsx` | Create/edit recurring loops | [Mobile App](/mobile/overview), [Settings Reference](/configuration/settings) |
| `OperationsScreen.tsx` | Operator dashboard for health, logs, tunnels, integrations, updater, actions | [Remote API Reference](/reference/api), [Mobile App](/mobile/overview) |
| `SessionListScreen.tsx` | Conversation list, search, deletion, resume | [Mobile App](/mobile/overview) |
| `SettingsScreen.tsx` | API/model/voice/theme settings | [Mobile App](/mobile/overview), [Settings Reference](/configuration/settings) |
| `SplitChatScreen.tsx` | Multi-agent comparison chat | [Mobile App](/mobile/overview), [Agent Delegation](/agents/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](/reference/api). 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:

1. Add or move a desktop renderer page: update **Desktop Renderer Pages**.
2. Add or move a mobile screen: update **Mobile Screens**.
3. Add, rename, or delete a remote server route: update [Remote API Reference](/reference/api) and run `pnpm docs:coverage`.
4. Add a package or app under `apps/` or `packages/`: add it to **Source Coverage Matrix** and the verifier script.
5. Add a generated media-only area: document what owns the source of truth and whether tracked files are source or output.
6. Before merging docs work, run:

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