Dibbla Docs Get started Guides Workflows Changelog
Open Console
Reference · CLI

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 a dibbla-task.yaml pipeline.
  • 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.

FlagPurpose
--refreshForce re-fetch of the manifest, bypassing the fresh cache.
-v, --verbosePrint 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:

  1. Looks up <id> in the manifest.
  2. Creates [dir]defaults to the template id, so dibbla template install expense-reporter creates ./expense-reporter.
  3. Changes into the directory and runs the template’s bootstrap_url — typically a dibbla-task.yaml that clones the source repo and runs setup.

Refuses to install if the target directory already exists, unless --force is passed.

FlagPurpose
<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.)
--forceOverwrite or reuse the destination directory if it exists.
--refreshForce 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
Template bootstrap pipelines.

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.

FlagPurpose
[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

PromptRequiredDefault
Project nameYes (if not passed as arg)
Hosting typeYesDibbla Cloud
gRPC addressYes (self-hosted only)
TLS enabledYes (self-hosted only)
API tokenNoPlaceholder in .env
Include frontendNoNo

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.