Every multi-service project has the same morning. You pull the latest code, start the database, start the API, start the frontend, start the worker, and hope the ports line up. Something is always out of order. TDK CLI Core is built to make that one command: tdk up.
What the command does
tdk up reads the project's service.json files, works out which services exist and what they depend on, and starts them in order. Services with dependsOn wait for the services they need. The shared infrastructure, such as Postgres and the Traefik proxy, starts with them.
Ports are handled too. If the default Postgres port is taken, TDK chooses a free port from a fallback range and prints the choice. You can override any of them with environment variables such as TDK_POSTGRES_PORT.
Starting part of the stack
You rarely need everything. tdk up --only <service> starts the named services and the services they depend on. Names must belong to the stack you asked for, and dependencies may cross stacks.
Checking before starting
tdk up main --dry-run prints the plan without starting containers: the services, their health URLs, the ports, and the exact Tilt command it would run. Read it before the first start of a new project.
When it does not start
Run tdk doctor --json first. It reports the host type, whether a container runtime is reachable, and whether canUp is true. If canUp is false, no change to the project will help.
If the stack starts but a service fails, tdk logs --json --service <name> shows its recent lines, and tdk status --json shows readiness and failures.
Summary
TDK CLI Core turns the morning routine into one command, with dependency order, port handling, and a dry run for checking. The checks come first, so a problem shows up before containers do.
Top comments (0)