Skip to content

The pluggable unit is an app, not an extension - #308

Merged
czpython merged 1 commit into
mainfrom
commonzenpython/eng-871-rename-extension-to-app-across-druks
Aug 23, 2026
Merged

The pluggable unit is an app, not an extension#308
czpython merged 1 commit into
mainfrom
commonzenpython/eng-871-rename-extension-to-app-across-druks

Conversation

@czpython

Copy link
Copy Markdown
Owner

The pluggable unit druks loads is an app, not an extension. This renames the concept across the backend and frontend so one word runs through the whole surface.

What changes for an app author:

  • The base class and its import: from druks.apps import App, AppSettings, Secret.
  • Apps register under the druks.apps entry-point group, one class per package.
  • The package's app class lives in <package>/app.py.
  • Scaffold a new one with druks create app <name>.

On the platform side:

  • Roster and settings routes are /api/apps and /api/settings/apps; the wire fields follow (app, apps, appSettings).
  • The events log column and the settings-override key prefix become app; one migration renames both in place, with a matching downgrade.
  • The ASGI modules move to druks.api.server and druks.mcp.server, so app in a module path always means the domain noun.

The /api/<name> and /app/<name> mounts, every app slug, and GitHub App settings are unchanged. Docs move to the new term in a follow-up.

Rename the Extension concept to App across the backend and frontend so
one word runs through the whole surface:

- `from druks.apps import App, AppSettings, Secret`; apps register under
  the `druks.apps` entry-point group and live in `<package>/app.py`.
- Roster and settings routes become `/api/apps` and `/api/settings/apps`,
  with the `app` / `apps` / `appSettings` wire fields to match.
- The events log column and the settings-override key prefix become
  `app`; one migration renames both in place, with a mirror downgrade.
- The ASGI modules move to `druks.api.server` and `druks.mcp.server`.
- `druks create app` scaffolds a new package from the app template.

The `/api/<name>` and `/app/<name>` mounts, every app slug, and GitHub
App settings are unchanged. Docs move to the new term separately.
@czpython
czpython merged commit cc2bc6a into main Aug 23, 2026
2 checks passed
@czpython
czpython deleted the commonzenpython/eng-871-rename-extension-to-app-across-druks branch August 23, 2026 07:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant