Skip to main content

Project structure

Apollon is a pnpm-workspaces monorepo. Top-level layout:

Apollon/
├── library/ # @tumaet/apollon — published to npm
│ ├── lib/ # TypeScript source
│ ├── tests/
│ └── package.json
├── standalone/
│ ├── server/ # @tumaet/server — Express + Redis + WebSocket relay
│ │ ├── src/
│ │ ├── Dockerfile
│ │ └── package.json
│ └── webapp/ # @tumaet/webapp — the browser-hosted app
│ ├── src/
│ ├── tests/ # Playwright e2e + visual regression
│ ├── Dockerfile
│ └── package.json
├── vscode-extension/ # apollon-vscode — VS Code extension
│ ├── editor/ # apollon-vscode-editor — diagram webview (Vite)
│ └── menu/ # apollon-vscode-menu — diagram-picker webview (Vite)
├── docker/ # Compose files for local + production
├── docs/ # Documentation sources (this directory)
├── scripts/ # dev.mjs and other monorepo helpers
├── .github/workflows/ # CI, release, and deploy workflows
├── .nvmrc # Node.js version (consumed by nvm)
├── commitlint.config.mjs # Conventional-commits enforcement
├── pnpm-workspace.yaml # pnpm workspace definition + settings + overrides
├── .npmrc # pnpm/registry settings
├── package.json # Root workspace manifest (packageManager field pins pnpm version)
└── README.md

Workspaces

WorkspaceNamePublished as
library/@tumaet/apollonnpm
standalone/webapp/@tumaet/webappghcr.io/ls1intum/apollon/webapp
standalone/server/@tumaet/serverghcr.io/ls1intum/apollon/server
vscode-extension/apollon-vscodeVS Code Marketplace
vscode-extension/menu/apollon-vscode-menubundled into the extension VSIX
vscode-extension/editor/apollon-vscode-editorbundled into the extension VSIX
docs/@tumaet/apollon-docspublished as the Docusaurus site at https://ls1intum.github.io/Apollon/