JustFlows

Packages

What each workspace package is for — core, sdk, plugin-api, blocks, cache, and the rest.

6 min read

justflows-platform-ce is a pnpm workspace. `apps/server` is the Express app plus the Vite admin SPA. Packages are the libraries it (and plugins) depend on. Write your own plugin in `plugins/<name>/` — copy plugins/hello-world. Do not add plugin source under packages/.

PackageRole
@justflows/coreConfig schema/loader, hook registry, logging, settings, health, app lifecycle
@justflows/sdkStable extension API — hook maps, plugin types, capabilities, license helpers. Plugins import this.
@justflows/plugin-apiLoader: register/activate/deactivate, permission-gated hooks, plugin cache facade
@justflows/authPBKDF2 passwords, can / requireCan, session types
@justflows/blocksBlock registry, 18 core blocks, HTML sanitize
@justflows/databasePostgres/MySQL clients and schema modules
@justflows/cachejf-cache factory: memory, filesystem, null
@justflows/contentContentService with revisions (parallel to Express SQL routes)
@justflows/mediaMediaService, local/S3, Sharp derivatives
@justflows/installerSafe zip / .jfpkg extract and manifests
@justflows/updaterCore update manager
@justflows/clijustflows binary
@justflows/jobsIn-process cron scheduler (not heavily wired in server boot)

Note

The default theme is themes/default. Write plugins in plugins/<name>/, not under packages/. Production admin content uses SQL routes in apps/server, not the in-memory ContentService.