dibbla template & create
Discover hosted starter templates, install one into a directory, or scaffold a Go worker project from scratch — both flows end with a working project ready to deploy.
The CLI offers two ways to start a new project:
dibbla template— discover and install one of the hosted Dibbla templates. Templates are listed in a manifest fetched from GitHub and bootstrapped via adibbla-task.yamlpipeline.dibbla create go-worker— scaffold a fresh Go worker project from the built-in starter, with optional frontend and interactive prompts.
dibbla template list
List the templates published in the manifest at dibbla-public-templates/templates.json. Override the manifest URL with DIBBLA_TEMPLATES_URL for staging or local testing.
The manifest is cached at ~/.dibbla/templates-cache.json for one hour.
| Flag | Purpose |
|---|---|
--refresh | Force re-fetch of the manifest, bypassing the fresh cache. |
-v, --verbose | Print the manifest source — cache or network. |
$dibbla template list ID NAME CATEGORY DESCRIPTION getting-started Simple Website starter Simple web site, ready to build upon expense-reporter Expense Reporter starter Upload PDF receipts and let AI extract expense details crm Starter CRM advanced Dashboard analytics, contacts, tasks, campaigns presentation Slide Deck starter A customizable presentation slide deck
# -v prints whether the manifest came from cache or network $dibbla template list --refresh -v
dibbla template install
Install a template into a directory. The CLI:
- Looks up
<id>in the manifest. - Creates
[dir]— defaults to the template id, sodibbla template install expense-reportercreates./expense-reporter. - Changes into the directory and runs the template’s
bootstrap_url— typically adibbla-task.yamlthat clones the source repo and runs setup.
Refuses to install if the target directory already exists, unless --force is passed.
| Flag | Purpose |
|---|---|
<id> (positional, required) | Template slug from dibbla template list. |
[dir] (positional) | Destination directory. Default: the template id. (The CLI’s own --help says template_path here; that is stale — the manifest field is parsed and never used.) |
--force | Overwrite or reuse the destination directory if it exists. |
--refresh | Force re-fetch of the manifest before installing. |
$dibbla template install expense-reporter installing template "expense-reporter" into /Users/jane/projects/expense-reporter-template-1 # ...followed by output from the template's bootstrap dibbla-task.yaml...
$dibbla template install expense-reporter ./expenses # Reuse an existing directory $dibbla template install expense-reporter --force note: reusing existing directory /Users/jane/projects/expense-reporter-template-1 (--force) installing template "expense-reporter" into /Users/jane/projects/expense-reporter-template-1
Each template ships with a dibbla-task.yaml that runs as part of
template install. You can study any template’s bootstrap by running it
through dibbla run --preview <bootstrap_url> first to see the planned
steps without executing them.
dibbla create go-worker
Scaffold a Dibbla Go worker project from the built-in starter. Prompts for project name, hosting type, API token, and whether to include a frontend.
| Flag | Purpose |
|---|---|
[name] (positional) | Project name. If omitted, the CLI prompts for it. |
Prerequisites
- Go installed and on
$PATH. The CLI verifies this before scaffolding.
Examples
$dibbla create go-worker my-worker $dibbla create go-worker >> Dibbla Go Worker Generator Checking prerequisites... [OK] Go: go1.23.4 ? Project name: my-worker ? Hosting type: Dibbla Cloud ? API Token: **** ? Include frontend? No Creating project... Cloning template... Configuring module path... Creating .env... Running go mod tidy... [*] Ready! Run your worker: cd my-worker go run ./cmd/worker
Prompts
| Prompt | Required | Default |
|---|---|---|
| Project name | Yes (if not passed as arg) | — |
| Hosting type | Yes | Dibbla Cloud |
| gRPC address | Yes (self-hosted only) | — |
| TLS enabled | Yes (self-hosted only) | — |
| API token | No | Placeholder in .env |
| Include frontend | No | No |
The generated project lives at ./<name>/, with the worker entrypoint at ./cmd/worker and the optional frontend at ./frontend.
See also
dibbla run— what runs under the hood when a template installs.dibbla deploy— ship the project once it’s scaffolded.