We’ve Used TDK CLI (Including Private Source) for 2 Years: Here’s Why You Need to Know
Description and use
After two years of using TDK CLI, the team reduced local development complexity, accelerated onboarding, and kept production on Helm while maintaining a flat config debt.
Problem
Local development setup was complex, with many Dockerfiles, Compose entries, Traefik rules, and onboarding documentation, leading to maintenance overhead and onboarding delays.
Outcome
After two years, TDK CLI eliminated local‑development maintenance, collapsed onboarding, enabled reliable hot reload, and justified its $19/month per developer cost by reducing Compose drift and manual wiring.
Workflow
- Run tdk doctor to check environment
- Edit service.json for new service
- Run tdk up
<stack>to generate artifacts and start Tilt - Tilt watches code and live‑updates containers
- Develop locally with hot reload and local *.localhost domains
Evidence
Two years ago our team was drowning in local setup. Every new service meant another Dockerfile, another entry in a sprawling Compose file, another set of Traefik rules, another paragraph in the onboarding wiki, and another “it works on my machine” ticket.
TDK is simple in concept: one service.json per service becomes a full local Docker + Tilt stack. You run tdk up. Production stays on Helm. Local development does not require Kubernetes.
After two years this still feels natural: tdk up identity brings up only what we need. New services are discovered automatically.
Config debt stayed flat. Adding a service is still one service.json plus a short tdk resource command. The generated files are treated as a contract; we run tdk config verify in CI.
New engineers run tdk doctor, clone an example or our private template, then tdk up. The old multi‑page wiki is gone.
We use the licensed generators, Verdaccio local registry, and a few extra scaffolding features. At roughly $19 per developer per month it was cheaper than the hours spent fighting Compose drift.
Windows developers still need WSL2 Ubuntu for full runtime; native Windows is inspection‑only.
- Record date: 2026-10-20T00:56:01.156Z