The native (Delphi) side of PubPascal — the apps that run on a developer's
machine, talking to the portal (https://www.pubpascal.dev) and the developer's
own git. The web portal lives separately (pubpascal-dev).
-
cli/— the engine,boss.exe. It is not a separate codebase: the source is Boss (HashLoad/boss), pulled in as a git submodule atcli/.modules/bossand compiled bycli/scripts/build.ps1. Workspace operations (workspace clone / status / update / push), package operations (pkg spec,sbom) and compliance (cra) all live there, alongside Boss's own dependency management (install,update,new, ...).Because it is a submodule, clone with
--recursive, or rungit submodule update --init --recursivein an existing clone. Fixing the engine means opening a PR onHashLoad/boss— never editing files undercli/.modules/, which are a checkout, not a copy. -
studio/— the GUI apps, built around one shared WebView2 frame. Seestudio/README.md. Two products from one core:studio/core/— the shared frame (workspace graph + bridge + CLI driving).studio/desktop/— the standalone Windows app (today's shipping exe).studio/ota/— the RAD Studio plugin (docks the same frame via OTA).studio/installer/— Inno Setup (bundles the CLI + the desktop app).
The studio apps run the CLI, and everything reads the same pubpascal.json
manifest — they share concepts and code (the studio/core/ frame is reused by
both the desktop and the OTA hosts). One repo keeps the native apps together,
separate from the web portal (pubpascal-dev).