Skip to content

Codebase Map ​

QDash keeps application code and generated clients in the following areas.

AreaPathNotes
UIui/Next.js, React, TypeScript, DaisyUI, TanStack Query
APIsrc/qdash/api/FastAPI routers, services, schemas, middleware
Workflowsrc/qdash/workflow/Prefect flows, deployment service, user flow worker, scheduler, task execution
Shared model/repository codesrc/qdash/common/, src/qdash/datamodel/, src/qdash/dbmodel/, src/qdash/repository/Shared config, document models, repositories
Python clientclients/python/Typed client package and service wrappers
TypeScript clientclients/typescript/Published client; local workspace dependency of pi-qdash
Agent runtimeagent-runtime/Copilot sessions and host integration for pi tools
Pi extensionspackages/pi-qdash/, packages/pi-qcaleval/Independently published tools and skills

The runtime, TypeScript client, and pi extensions share the root Bun workspace and bun.lock. The UI and docs keep separate installs. See Pi Packages for setup and Pi Extension Design for extension boundaries.

Generated Files ​

Do not manually edit:

  • ui/src/client/
  • ui/src/schemas/
  • clients/typescript/src/generated/
  • docs/oas/openapi.json

When API schemas or routes change, run:

bash
task generate

Runtime Paths ​

Host-side development and Docker containers see different absolute paths. Use the shared runtime path helpers in src/qdash/common/config/path_resolver.py instead of adding local path fallbacks inside individual services.

Important mounted paths:

  • CALIB_DATA_PATH ↔ /app/calib_data
  • CONFIG_PATH ↔ /app/config/qubex-config for the Qubex backend configuration repository/data
  • CALIB_TASKS_PATH ↔ /app/qdash/workflow/calibtasks

QDash application configuration is separate from CONFIG_PATH and lives under config/app, config/domain, and config/copilot.

Released under the Apache 2.0 License.