DDEV add-on for parallel git worktree development on Genero Bedrock sites.
Shared MariaDB by default; Caddy (replace-response) rewrites browser URLs to :808x while PHP/DB keep canonical DDEV hostnames.
ddev add-on get generoi/ddev-worktree --version v0.1.3If the add-on registry lookup fails, use the release tarball directly:
ddev add-on get https://github.com/generoi/ddev-worktree/tarball/v0.1.3Or from a local checkout while developing the add-on:
ddev add-on get /path/to/ddev-worktree-
.gitignore—.ddev/wt/(generated Caddyfile + state). -
Multisite — list subsite hostnames in
additional_hostnames(e.g.nat.herrfors).
The add-on installs config.generoi-worktree.yaml with the wt-guard pre-start hook — no manual config.yaml edits.
No Bedrock changes required — Caddy sends {http.request.host} (hostname without :port) to PHP and rewrites :808x back into browser responses.
Canonical checkout: ddev start
Git worktree:
git worktree add ../myproject-feature feature-branch
cd ../myproject-feature
ddev wt-up
ddev wt-port
ddev wt-down| Command | Description |
|---|---|
ddev wt-up |
Shared DB + Caddy on :808x |
ddev wt-up --port=8083 |
Pin host port |
ddev wt-up --no-deps |
Skip composer/pnpm |
ddev wt-port |
Print WT_URL / WT_PORT |
ddev wt-wp … |
WP-CLI in sidecar |
ddev wt-list |
Running sidecars |
ddev wt-down |
Stop sidecar + Caddy |
See generoi-worktree/README.md for architecture details.
From a git worktree checkout (canonical DDEV running):
bash .ddev/generoi-worktree/test-acceptance.sh