Modules
Modules give drobek apps their backend: routes on the app's own host, an SDK the app imports and a skill your agent reads. auth, data, forms, email, files and proxy come with every drobek server. The modules below are installed on a server separately.
Submit your module → Write one
Directory
-
counter official on drobek.app
Named counters per app: page views, likes, downloads.
- Route POST /__drobek/v1/counter/:key/hit
- SDK drobek.counter.hit(key) / get(key) / list()
- Per-IP and per-app hit limits, maxKeys
- A skill your agent reads
task selfhost:module:add -- drobek-module-counter@0.1.1- Package
- drobek-module-counter
- Contract
^1.1- Author
- Tomáš Grasl
- License
- AGPL-3.0-only
- Source
- github.com/freema/drobek-module-counter
-
hello template
The scaffold's output plus the slot demo: a starting point for your own module, not for production.
- Route GET /__drobek/v1/hello
- SDK drobek.hello.ping()
- Config greeting, excited
Not on npm: start from its folder, or install the tarball
npm packwrites there.- Contract
^1.1- License
- AGPL-3.0-only
- Source
- github.com/freema/drobek/tree/main/examples/drobek-module-hello
Community modules
Found on npm by the drobek-module keyword — not reviewed; read the code before installing.
Install one on your server
On your own drobek server, install the package into the modules volume, add its name to DROBEK_MODULES and restart drobek:
task selfhost:module:add -- <package>@<version>The install never runs the package's scripts, and the server refuses a module whose contract it does not satisfy. Upgrades and removal: Self-hosting → Third-party modules. How the install works: Modules → Installing an external module.
On drobek.app I choose which modules are installed. The ones marked “on drobek.app” are installed there; ask your agent to use one in your app.
Write your own
The scaffold writes a working module with a route, an SDK, config, a migration, a skill and tests:
npm create drobek-module@latest erpThen read Modules → Writing a module for the contract, the rules a module keeps and how to publish it. When it is on npm, submit it and I add it here.