Configuration
Kibaco stores the project-local config at .kibaco/config.json. This file is developer-specific local state and should not be committed.
Commit kibaco.config.example.json and the JSON Schema so humans, AI coding assistants, and editors can understand the expected shape without sharing private local ports or commands.
Discovery order
Kibaco checks config files in this order:
./.kibaco/config.json./kibaco.config.json- Registered fallback config under
~/.kibaco/workspaces/...
Run kibaco explain to show exactly which file Kibaco found.
Git ignore
kibaco init adds these entries to .gitignore when missing:
Repo-local overrides
Add kibaco.yaml, kibaco.yml, or kibaco.json at the workspace root to override the stored config without rerunning kibaco init.
Projects and services are merged by name, so a repo-local file can override just the fields that differ.
AI-safe commands
Use these commands before editing JSON by hand:
When a route such as http://web.localhost:8080 fails, check kibaco config list-routes and kibaco config validate before looking for Caddy, nginx, docker-compose, or system proxy settings.
Projects
Each project describes one local app process and the URL Kibaco should expose.
name: Project name used by commands such askibaco open webhost: Local hostname handled by the proxytarget: Local server URL started by the project commandcommand: Shell command for the app processcwd: Working directory for the commandservices: Service names that should be started before the projectremote: Optional SSH endpoint such asdevbox:3004; when set,kibaco devopens an SSH tunnel andtarget/commandcan be omittedcacheDirs: Optional project-relative cache directories removed bykibaco cleanandkibaco restart --force
Remote projects are useful when the dev server runs on another machine but you want the same local browser URL:
This runs ssh -N -L 3004:localhost:3004 devbox during kibaco dev and routes http://remote-web.localhost:8080 to http://127.0.0.1:3004. Use object form when the local tunnel port differs:
Services
Services are Docker containers, Compose-backed services, or command-backed external services managed by Kibaco.
name: Service name referenced by projectstype:dockerorcommandimage: Docker image for Docker servicesstart: Start command for command servicesstop: Optional stop command for command servicesstatus: Optional status command for command serviceslogs: Optional log command for command servicesmode: Command service mode, such asoneshotstopOnExit: Stop a command service whenkibaco devexitsurls: Optional service URLs shown bykibaco urlsports: Docker port mappingsenv: Environment variables passed to the containervolumes: Docker volume mappingsdependsOn: Services to start firsthealthCheck: Optional readiness check