Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
],
"updateInternalDependencies": "patch",
"privatePackages": { "version": true, "tag": false },
"ignore": ["@tumaet/apollon-docs", "apollon-vscode-webview"]
"ignore": ["@tumaet/docs", "@tumaet/vscode-webview"]
}
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
docusaurus-${{ steps.flag.outputs.is-production }}-${{ hashFiles('pnpm-lock.yaml') }}-
docusaurus-${{ steps.flag.outputs.is-production }}-

- run: pnpm --filter @tumaet/apollon-docs run build
- run: pnpm --filter @tumaet/docs run build
env:
DOCUSAURUS_BASE_URL: ${{ steps.flag.outputs.is-production == 'true' && '/Apollon/' || '/' }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-health-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ jobs:
# `docs/` imports `@tumaet/apollon` for the live embed, so its
# `tsc --noEmit` resolves through the library's exports map and
# needs `library/dist/` to exist — keep this step after build.
run: pnpm --filter @tumaet/apollon-docs run typecheck
run: pnpm --filter @tumaet/docs run typecheck

- name: Typecheck doc code examples
# Compiles the ```ts / ```tsx examples in library/README.md,
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ A pnpm + Vite monorepo (the server compiles with `tsc`, not Vite).
- **`library/`** — `@tumaet/apollon`, the embeddable React editor, published to npm. Native HTML + Base UI primitives (`@base-ui/react`) styled via `--apollon-*` CSS variables; `lucide-react` icons; Yjs collaboration — the live-cursor/presence layer lives here ([`collaboration.md`](docs/library/api/collaboration.md)).
- **`standalone/webapp/`** — `@tumaet/webapp` (private). React + Vite + Tailwind; Capacitor for iOS/Android.
- **`standalone/server/`** — `@tumaet/server` (private). Express + Redis Stack (RedisJSON diagram storage + version history).
- **`vscode-extension/`** — `apollon-vscode`, with nested `menu/` and `editor/` webview sub-packages.
- **`docs/`** — `@tumaet/apollon-docs` (private), the Docusaurus site (`user/` · `library/` · `contributor/`).
- **`vscode-extension/`** — `apollon-vscode`, the extension host, with a nested `webview/` sub-package (`@tumaet/vscode-webview`). Unscoped because the VS Code Marketplace forbids a scope in an extension name.
- **`docs/`** — `@tumaet/docs` (private), the Docusaurus site (`user/` · `library/` · `contributor/`).
- **`ops/`** — runbooks and legal/DSMS material; not part of any release.

`@tumaet/apollon` is consumed via `workspace:*` by every other workspace, so a library change can ripple everywhere. `standalone/webapp` + `standalone/server` are paired in `.changeset/config.json#fixed` and release together. The `library/` workspace targets an older Node floor than the repo (it ships to external consumers) — check `library/package.json` before using newer Node APIs.
Expand Down
8 changes: 5 additions & 3 deletions docs/contributor/development/project-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Apollon/
│ └── package.json
├── vscode-extension/ # apollon-vscode — VS Code extension
│ ├── src/ # extension host (custom text editor, tree view, commands)
│ └── webview/ # apollon-vscode-webview — diagram canvas (Vite)
│ └── webview/ # @tumaet/vscode-webview — diagram canvas (Vite)
├── docker/ # Compose files for local + production
├── docs/ # Documentation sources (this directory)
├── scripts/ # dev.mjs and other monorepo helpers
Expand All @@ -52,5 +52,7 @@ Apollon/
| `standalone/webapp/` | `@tumaet/webapp` | `ghcr.io/ls1intum/apollon/webapp` |
| `standalone/server/` | `@tumaet/server` | `ghcr.io/ls1intum/apollon/server` |
| `vscode-extension/` | `apollon-vscode` | [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=tumaet.apollon-vscode) |
| `vscode-extension/webview/` | `apollon-vscode-webview` | bundled into the extension VSIX |
| `docs/` | `@tumaet/apollon-docs` | published as the Docusaurus site at <https://ls1intum.github.io/Apollon/> |
| `vscode-extension/webview/` | `@tumaet/vscode-webview` | bundled into the extension VSIX |
| `docs/` | `@tumaet/docs` | published as the Docusaurus site at <https://ls1intum.github.io/Apollon/> |

The scope carries the organization and the name carries the role, so `@tumaet/apollon` is the product and every other workspace is named for the job it does. `apollon-vscode` is the sole exception: the VS Code Marketplace requires an extension name to match `[a-z0-9][a-z0-9-]*`, so `vsce` rejects a scope outright. Its Marketplace identity, `tumaet.apollon-vscode`, is the same name spelled the way the Marketplace spells scopes — and it is fixed for good, because the identity is what installed clients follow for updates.
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "@tumaet/apollon-docs",
"name": "@tumaet/docs",
"version": "0.0.0",
"private": true,
"scripts": {
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"build:server": "pnpm --filter @tumaet/server run build",
"build:webapp": "pnpm --filter @tumaet/webapp run build",
"build:vscode": "pnpm --filter apollon-vscode run build:all",
"build:docs": "pnpm run build:lib && pnpm --filter @tumaet/apollon-docs run build",
"build:docs": "pnpm run build:lib && pnpm --filter @tumaet/docs run build",
"check:doc-snippets": "pnpm run build:lib && node scripts/check-doc-snippets.mjs",
"storybook": "pnpm --filter @tumaet/webapp run storybook",
"build-storybook": "pnpm --filter @tumaet/webapp run build-storybook",
Expand All @@ -20,7 +20,7 @@
"dev:server": "pnpm run ensure:localdb && pnpm --filter @tumaet/server run dev",
"dev:webapp": "pnpm --filter @tumaet/webapp run start",
"dev:vscode": "pnpm --filter apollon-vscode run watch",
"dev:docs": "pnpm run build:lib && pnpm --filter @tumaet/apollon-docs run start",
"dev:docs": "pnpm run build:lib && pnpm --filter @tumaet/docs run start",
"start": "concurrently \"pnpm run start:server\" \"pnpm run start:webapp\"",
"start:server": "pnpm --filter @tumaet/server run start",
"start:webapp": "pnpm --filter @tumaet/webapp run start",
Expand All @@ -34,7 +34,7 @@
"lint:server": "pnpm --filter @tumaet/server run lint",
"lint:webapp": "pnpm --filter @tumaet/webapp run lint",
"lint:vscode": "pnpm --filter apollon-vscode run lint",
"lint:docs": "pnpm --filter @tumaet/apollon-docs run lint",
"lint:docs": "pnpm --filter @tumaet/docs run lint",
"lint:fix": "concurrently \"pnpm run lint:fix:ui\" \"pnpm run lint:fix:lib\" \"pnpm run lint:fix:server\" \"pnpm run lint:fix:webapp\" \"pnpm run lint:fix:vscode\"",
"lint:fix:ui": "pnpm --filter @tumaet/ui run lint:fix",
"lint:fix:lib": "pnpm --filter @tumaet/apollon run lint:fix",
Expand Down
4 changes: 2 additions & 2 deletions vscode-extension/README.dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Build, run, and release notes for the [Apollon VS Code extension](./README.md).
Two pnpm workspaces:

- [`src/`](./src) — `apollon-vscode`, the extension host (Vite library mode, CJS output). Registers a `CustomTextEditorProvider` for `*.apollon`, a native tree view of the workspace's diagrams, and the `Apollon: …` commands. It reaches the filesystem only through `vscode.workspace.fs`, so it works in virtual and remote workspaces. It is not a [web extension](https://code.visualstudio.com/api/extension-guides/web-extensions): there is no `browser` entry point.
- [`webview/`](./webview) — `apollon-vscode-webview`, the canvas that hosts the `@tumaet/apollon` editor (Vite).
- [`webview/`](./webview) — `@tumaet/vscode-webview`, the canvas that hosts the `@tumaet/apollon` editor (Vite).

[`src/shared/protocol.ts`](./src/shared/protocol.ts) is the single typed contract between the two, and the class doc on [`ApollonEditorProvider`](./src/apollonEditorProvider.ts) explains how document and canvas stay in sync.

Expand All @@ -22,7 +22,7 @@ pnpm install
## Run locally

```sh
pnpm --filter apollon-vscode-webview start # webview
pnpm --filter @tumaet/vscode-webview start # webview
pnpm --filter apollon-vscode watch # extension host
```

Expand Down
4 changes: 2 additions & 2 deletions vscode-extension/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,8 @@
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p webview/tsconfig.json --noEmit",
"test": "vitest run",
"package:vsix": "vsce package --no-dependencies",
"start:webview": "pnpm --filter apollon-vscode-webview run start",
"build:webview": "pnpm --filter apollon-vscode-webview run build",
"start:webview": "pnpm --filter @tumaet/vscode-webview run start",
"build:webview": "pnpm --filter @tumaet/vscode-webview run build",
"build:all": "pnpm run build && pnpm run build:webview"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion vscode-extension/webview/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "apollon-vscode-webview",
"name": "@tumaet/vscode-webview",
"version": "1.0.0",
"private": true,
"type": "module",
Expand Down
Loading