Whiteboard is a Harbor-docked app.

Whiteboard is optimized for tablet and desktop only. Mobile is intentionally unsupported.

Runtime model:

  • Harbor-docked only
    • Harbor-authenticated browser APIs
    • Postgres-backed private documents
    • MCP at /mcp
    • Harbor header shown directly in docked mode
    • guest users can still edit locally inside the Harbor shell

Current repo layout:

  • apps/server
  • apps/web
  • packages/wbml
  • packages/core
  • packages/render
  • packages/mcp
  • scripts
  • docs

Browser APIs:

  • GET /api/session
  • GET /api/documents
  • POST /api/documents
  • GET /api/documents/:id
  • PUT /api/documents/:id
  • DELETE /api/documents/:id
  • POST /api/render/svg
  • POST /api/render/png

MCP tools:

  • whiteboard.list_documents
  • whiteboard.create_document
  • whiteboard.get_document
  • whiteboard.apply_operations
  • whiteboard.delete_document
  • whiteboard.export_document
  • whiteboard.validate_document

Documentation:

Local commands:

  • npm install
  • npm run build:client
  • npm run build:harbor -- --app-dir /path/to/harbor-release/apps/whiteboard
  • lighthouse harbor local

Whiteboard no longer supports standalone deployment. Local manual verification should go through Harbor using lighthouse harbor local.