If you find this add-on useful, please star it on GitHub — stars show appreciation and help maintainers know their work matters.
This add-on installs T3 Code in the DDEV web container and adds a ddev t3 start command that runs t3 serve in the foreground.
T3 is exposed through the active DDEV project hostname:
http://<project>.ddev.site:<http-port>https://<project>.ddev.site:<https-port>The default ports are calculated from the DDEV project name so multiple projects usually get different port pairs without manual coordination.
ddev add-on get e0ipso/ddev-assistant-t3
ddev restart
After installation, make sure to commit the .ddev directory to version control.
| Command | Description |
|---|---|
ddev t3 start |
Start t3 serve in the web container and stream logs |
ddev t3 help |
Show command help |
ddev t3 start prints the HTTP and HTTPS URLs before starting T3. Press Ctrl-C to stop T3.
This add-on does not install or validate assistant provider CLIs such as Claude, Codex, Gemini, Grok, OpenCode, or Cursor Agent. Install those separately in the web container when needed.
Configuration lives in these files:
| File | Purpose |
|---|---|
.ddev/.env.assistant-t3 |
T3 version and port overrides |
.ddev/config.assistant-t3.yaml |
Generated DDEV web port exposure |
.ddev/t3/settings.json |
T3 server settings, using T3’s settings schema |
T3 runtime state is stored outside the project .ddev directory in DDEV’s global cache. The add-on links T3’s runtime settings.json back to .ddev/t3/settings.json so the user-editable server settings remain safe to commit.
To override the exposed ports or installed T3 version:
ddev dotenv set .ddev/.env.assistant-t3 --assistant-t3-http-port=21000
ddev dotenv set .ddev/.env.assistant-t3 --assistant-t3-https-port=21001
ddev dotenv set .ddev/.env.assistant-t3 --assistant-t3-version=0.0.27
ddev add-on get e0ipso/ddev-assistant-t3
ddev restart
Port and version changes are rendered into generated DDEV files during ddev add-on get, so re-run the add-on installation and restart after editing .ddev/.env.assistant-t3.
All customization options (use with caution):
| Variable | Flag | Default |
|---|---|---|
ASSISTANT_T3_VERSION |
--assistant-t3-version |
latest |
ASSISTANT_T3_HTTP_PORT |
--assistant-t3-http-port |
Calculated from DDEV_SITENAME |
ASSISTANT_T3_HTTPS_PORT |
--assistant-t3-https-port |
Calculated from DDEV_SITENAME |
ASSISTANT_T3_CONTAINER_PORT |
--assistant-t3-container-port |
3773 |
The default port pair uses this algorithm:
hash="$(printf '%s' "${DDEV_SITENAME}" | cksum | awk '{print $1}')"
offset="$(( (hash % 4500) * 2 ))"
http_port="$(( 20000 + offset ))"
https_port="$(( http_port + 1 ))"
Hash collisions are possible. Override the ports if two projects calculate the same pair.
Contributed and maintained by @e0ipso
If you find this add-on useful, please star it on GitHub — stars show appreciation and help maintainers know their work matters.