Codai

Orchestration skill for the codai-dev local environment. Routes user commands to the right plugin (proxy-manager, mysql-manager, postgres-manager, redis-manager, worktree-manager). Use when the user asks to manage any part of the dev environment without specifying which plugin.

Audits

Pass

Install

openclaw skills install codai

Codai

Orchestration skill for the codai-dev local development environment. Routes user requests to the correct plugin without requiring the user to remember which script handles what.

Plugin Map

What user asksPluginCommand
subir/start MySQLmysql-manager./mysql/run.sh start
parar/stop MySQLmysql-manager./mysql/run.sh stop
status MySQLmysql-manager./mysql/run.sh status
dump de main para <x>mysql-manager./mysql/run.sh dump codai_main codai_<x>
subir/start PostgreSQLpostgres-manager./postgres/run.sh start
parar/stop PostgreSQLpostgres-manager./postgres/run.sh stop
dump postgres para <x>postgres-manager./postgres/run.sh dump codai_main codai_<x>
subir/start Redisredis-manager./redis/run.sh start
parar/stop Redisredis-manager./redis/run.sh stop
flush Redisredis-manager./redis/run.sh flush
subir/start proxyproxy-manager./nginx-proxy/run.sh start
conectar proxy <x>proxy-manager./nginx-proxy/run.sh connect <x>
criar worktree <x>worktree-manager./run.sh create-worktree <x>
subir worktree <x>worktree-manager./run.sh start <x>
parar worktree <x>worktree-manager./run.sh stop <x>
remover worktree <x>worktree-manager./run.sh remove-worktree <x>
listar instânciasworktree-manager./run.sh list
status geraltodosrun each status in order

Plugin Locations in codai-dev-base

codai-dev-base/
├── run.sh                  # worktree-manager entry point
├── mysql/run.sh            # mysql-manager
├── nginx-proxy/run.sh      # proxy-manager
└── .claude/skills/         # all plugin SKILL.md files

Redis and PostgreSQL are optional extras — install their directories when needed.

Startup Order

Always follow this sequence:

./nginx-proxy/run.sh start      # 1. creates nginx-proxy_net network
./mysql/run.sh start            # 2. MySQL joins the network
./run.sh start main             # 3. main app instance (seeds db, starts containers, connects proxy)

For Redis or Postgres (if in use):

./redis/run.sh start
./postgres/run.sh start

Multi-Step Workflows

Create and start a new worktree from scratch

./run.sh create-worktree <name>   # creates branch worktree/<name>, .worktrees/<name>, .env.worktree-<name>
./run.sh start <name>             # creates db, dumps codai_main→codai_<name>, starts containers, connects proxy

Result: http://<name>.frontend.localhost and http://<name>.backend.localhost

Dump main database to a feature branch

./mysql/run.sh dump codai_main codai_<name>
# For PostgreSQL:
./postgres/run.sh dump codai_main codai_<name>

Remove a worktree completely (confirm first)

Confirm: "Remover worktree '<name>'? Isso apaga os containers, banco de dados, git worktree (branch worktree/<name>) e o env file."

./run.sh remove-worktree <name>

Full environment status

./run.sh list                   # worktrees + infra status
./mysql/run.sh status           # MySQL databases
./nginx-proxy/run.sh status     # proxy routes

Rules

  • Always confirm before remove-worktree — it is irreversible.
  • Always report URLs after starting a worktree: frontend and backend.
  • Check infra first: if MySQL or proxy is not running, start them before trying to start an instance.
  • Startup order matters: proxy → databases → app instances.
  • If the user says "sobe tudo" or "start everything", start in order: proxy → mysql → run.sh start main.
  • Never run ./mysql/run.sh drop-db codai_main — it is the source of truth.

Environment Variables (shared across plugins)

VariableDefaultUsed by
MYSQL_CONTAINERcodai_dbmysql-manager, worktree-manager
MYSQL_ROOT_PASSsecretmysql-manager, worktree-manager
MYSQL_MAIN_DBcodai_mainmysql-manager, worktree-manager
PROXY_CONTAINERcodai_nginx_proxyproxy-manager, worktree-manager
CODAI_NETWORKnginx-proxy_netall plugins
PROJECT_PREFIXcodai-devproxy-manager, worktree-manager