Services
Kibaco can start and stop services defined in the workspace config. A service can be a Docker container, a Compose-backed service, or a command-backed external service such as Supabase local development.
kibaco init can infer services from common Compose files:
compose.yamlcompose.ymldocker-compose.yamldocker-compose.ymldocker.yamldocker.yml
It reads service images, ports, environment, volumes, and depends_on. For common services such as PostgreSQL, MySQL, Redis, Meilisearch, Mailpit, and MailHog, Kibaco can also infer a simple health check when the Compose file does not define one.
Services inferred from a Compose file are started and stopped through Docker Compose. This lets Compose resolve .env, env_file, variable substitution, networks, volumes, and other service details. Kibaco still starts application commands itself and routes them through its local proxy.
kibaco init can also infer a Supabase command service when it finds supabase/config.toml and package scripts named supabase:start, supabase:stop, and supabase:status.
If the workspace already exists, import Compose services without editing .kibaco/config.json directly:
For one-off service edits, update the service and then attach or detach it from projects:
When a project lists services, kibaco dev starts those services before running the project command.
Command Services
Use type: "command" for services that are not a single Docker container from Kibaco's point of view:
For mode: "oneshot", Kibaco runs status first when available, runs start only when the service is not already running, then waits for the health check before starting dependent projects.
When stopOnExit is false, the service is left running after kibaco dev exits. Set it to true when the service should be stopped with the dev session.
Health Checks
A service can define a health check:
Kibaco waits for the health check before starting dependent project commands.