| name | setup-genai-dev |
| description | Set up the GenAI Engine development environment. Use when starting work on the project for the first time, or when environment needs to be reset. Handles uv, PostgreSQL, migrations, and environment variables. |
| allowed-tools | Bash, Read, Task |
Setup GenAI Engine Development Environment
Step 1 — GPT Key Gate
Use the Read tool to read ./genai-engine/.env.
Check that GENAI_ENGINE_OPENAI_GPT_NAMES_ENDPOINTS_KEYS is present and has a non-empty value (not just GENAI_ENGINE_OPENAI_GPT_NAMES_ENDPOINTS_KEYS= with nothing after the =).
If the value is missing or empty:
- STOP immediately. Do not proceed to Step 2.
- Tell the user: "Setup cannot continue. Please open
genai-engine/.env and set GENAI_ENGINE_OPENAI_GPT_NAMES_ENDPOINTS_KEYS using the format: MODEL_NAME::ENDPOINT_URL::API_KEY (e.g. gpt-4o::https://api.openai.com/::sk-...). Run the skill again once the key is set."
Step 2 — Delegate Setup to Bash Sub-Agent
Only proceed here if Step 1 passed. Spawn a Task sub-agent with subagent_type="Bash" and the following self-contained prompt:
Run the following setup steps for the GenAI Engine development environment. Report success or failure for each step and stop immediately if any step fails.
Step 1 — Prerequisites check:
python3 --version && docker ps && uv --version
If any fail, report which tool is missing and stop.
Step 2 — Install dependencies:
cd genai-engine && uv sync --group dev --group linters
Step 3 — Start PostgreSQL:
cd genai-engine && docker compose up -d db && sleep 5 && docker compose ps
Step 4 — Run database migrations with all required env vars:
cd genai-engine && \
set -a && source .env && set +a && \
export POSTGRES_USER=postgres \
POSTGRES_PASSWORD=changeme_pg_password \
POSTGRES_URL=localhost \
POSTGRES_PORT=5432 \
POSTGRES_DB=arthur_genai_engine \
POSTGRES_USE_SSL=false \
PYTHONPATH="src:$PYTHONPATH" \
GENAI_ENGINE_SECRET_STORE_KEY="some_test_key" \
GENAI_ENGINE_ENVIRONMENT=local \
GENAI_ENGINE_ADMIN_KEY=changeme123 \
GENAI_ENGINE_ENABLE_PERSISTENCE=enabled \
ALLOW_ADMIN_KEY_GENERAL_ACCESS=enabled && \
uv run alembic upgrade head && uv run alembic current
Report the final migration revision that is current after running these steps.