Documentation is English-only for now. The rest of the site follows your language.
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/.
| Package | Role |
|---|---|
@justflows/core | Config schema/loader, hook registry, logging, settings, health, app lifecycle |
@justflows/sdk | Stable extension API — hook maps, plugin types, capabilities, license helpers. Plugins import this. |
@justflows/plugin-api | Loader: register/activate/deactivate, permission-gated hooks, plugin cache facade |
@justflows/auth | PBKDF2 passwords, can / requireCan, session types |
@justflows/blocks | Block registry, 18 core blocks, HTML sanitize |
@justflows/database | Postgres/MySQL clients and schema modules |
@justflows/cache | jf-cache factory: memory, filesystem, null |
@justflows/content | ContentService with revisions (parallel to Express SQL routes) |
@justflows/media | MediaService, local/S3, Sharp derivatives |
@justflows/installer | Safe zip / .jfpkg extract and manifests |
@justflows/updater | Core update manager |
@justflows/cli | justflows binary |
@justflows/jobs | In-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.