Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.opendot.ai/llms.txt

Use this file to discover all available pages before exploring further.

OpenDot keeps the current product surfaces close together while preserving clear internal boundaries. Start with the smallest area that matches your change, then follow the linked docs when your work crosses into runtime, database, or device contracts.

Top-level layout

PathWhat lives thereContributor notes
docs/Mintlify docs, docs navigation, logos, diagramsKeep setup docs practical and cross-link changed behavior
platform/React console, Fastify API, voice runtime, Drizzle schemaMain app surface for agents, pipeline config, browser tests, devices, settings
dot-device/firmware/ESP-IDF firmware for the Dot device prototypeUse firmware build guidance before changing device behavior
containers/Dockerfiles and Nginx config for local/deployed platform servicesKeep service env contracts aligned with .env.example and docs
.agents/Shared agent instructions and reusable workflowsUpdate only for durable repo-wide agent guidance
assets/Brand and README assetsPreserve the existing OpenDot mark
Root docsREADME.md, CONTRIBUTING.md, SECURITY.md, ROADMAP.mdKeep project framing and contribution guidance consistent

Platform internals

SurfaceKey filesWhat to check
UI shell and navigationplatform/src/App.tsx, platform/src/pages/**Page state, selected agent/device behavior, loading/error states
API client and cacheplatform/src/lib/platformApi.ts, platform/src/lib/queryClient.tsRequest shape, auth token behavior, TanStack Query invalidation
Pipeline defaultsplatform/src/lib/pipeline.ts, platform/src/types.tsVAD/STT/LLM/TTS stage settings and normalization
Control APIplatform/src/server/api.tsAuth, agents, devices, settings, deployments, runtime token verification
Databaseplatform/src/server/db/schema.ts, platform/drizzle/Schema, migrations, indexes, versioned agent/pipeline data
Runtimeplatform/src/server/runtime.jsBrowser /voice, device /ws, OTA proxy, VAD/STT/LLM/TTS orchestration
The platform architecture direction is captured in platform/platform-architecture.md. The docs architecture summary is at Platform architecture.

Runtime and device contracts

The runtime exposes:
GET  /health
POST /ota/
POST /ota/activate
WS   /voice
WS   /ws
The platform API owns:
/api/auth/*
/api/platform-state
/api/agents
/api/dot-devices
/api/device-activations/claim
/api/runtime/voice-sessions
/api/settings
/api/api-keys
/api/internal/*
Treat /api/internal/* as runtime-to-platform trust boundaries. They depend on OPENDOT_RUNTIME_INTERNAL_SECRET and should not become browser-facing APIs.

Verification by change type

ChangeRun
Docs onlypnpm run format:check -- docs and mint broken-links from docs/
Platform UI/API/runtimepnpm run lint && pnpm run test && pnpm run build
Database contractPlatform checks plus migration review and Drizzle Studio inspection when useful
Firmwareidf.py build from dot-device/firmware/ when ESP-IDF is available
Root docsspelling/link review plus git diff --check
Use Contributing for the first-time contributor workflow and Runtime configuration when service URLs or environment variables change.