Files
supabase-postgres-best-prac…/mise.toml
Pedro Rodrigues 3c3d1f55ca containerize eval environment with Docker and mock CLIs
Host now only needs Docker + ANTHROPIC_API_KEY to run evals. Adds
multi-stage Dockerfile, mock supabase/docker/psql scripts, entrypoint,
docker-compose for local use, and switches CI to Docker-based execution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 19:22:47 +00:00

92 lines
2.9 KiB
TOML

[settings]
experimental = true
lockfile = true
[tools]
node = "lts"
[env]
_.path = ["{{config_root}}/node_modules/.bin"]
_.file = [".env", "packages/evals/.env"]
# ── Root tasks ────────────────────────────────────────────────────────
[tasks.install]
description = "Install all dependencies"
run = "npm install && npm --prefix packages/skills-build install && npm --prefix packages/evals install"
sources = ["package.json", "packages/skills-build/package.json", "packages/evals/package.json"]
outputs = ["node_modules/.package-lock.json"]
[tasks.validate]
description = "Validate all skills"
run = "npm --prefix packages/skills-build run validate"
sources = ["skills/**/SKILL.md", "skills/**/references/**"]
[tasks.build]
description = "Build all skills"
run = "npm --prefix packages/skills-build run build"
sources = ["skills/**/SKILL.md", "skills/**/references/**", "packages/skills-build/src/**"]
outputs = ["skills/**/AGENTS.md"]
[tasks.check]
description = "Format and lint (auto-fix)"
run = "biome check --write ."
sources = ["**/*.ts", "**/*.js", "**/*.json", "biome.json"]
[tasks."ci:check"]
description = "CI format and lint check"
run = "biome ci ."
sources = ["**/*.ts", "**/*.js", "**/*.json", "biome.json"]
[tasks.test]
description = "Run tests"
run = "vitest run"
sources = ["test/**", "skills/**"]
# ── Eval tasks ────────────────────────────────────────────────────────
[tasks.eval]
description = "Run workflow evals"
run = "npm --prefix packages/evals run eval"
sources = ["packages/evals/src/**", "packages/evals/evals/**"]
[tasks."eval:upload"]
description = "Run workflow evals and upload to Braintrust"
run = "npm --prefix packages/evals run eval:upload"
sources = ["packages/evals/src/**", "packages/evals/evals/**"]
# ── Docker eval tasks ────────────────────────────────────────────────
[tasks."eval:docker:build"]
description = "Build the eval Docker image"
run = "docker build -t supabase-evals:local -f packages/evals/Dockerfile ."
[tasks."eval:docker"]
description = "Run evals in Docker"
depends = ["eval:docker:build"]
run = """
docker run --rm \
-e ANTHROPIC_API_KEY \
-e EVAL_MODEL \
-e EVAL_SCENARIO \
-e EVAL_BASELINE \
-e EVAL_SKILL \
-e BRAINTRUST_UPLOAD \
-e BRAINTRUST_API_KEY \
-e BRAINTRUST_PROJECT_ID \
-e EVAL_RESULTS_DIR=/app/results \
-v "$(pwd)/packages/evals/results:/app/results" \
supabase-evals:local
"""
[tasks."eval:docker:shell"]
description = "Open a debug shell in the eval container"
depends = ["eval:docker:build"]
run = """
docker run --rm -it \
-e ANTHROPIC_API_KEY \
-e IN_DOCKER=true \
-v "$(pwd)/packages/evals/results:/app/results" \
supabase-evals:local /bin/bash
"""