experimental_monorepo_root = true [tools] # Go version from go.mod go = "1.25.6" # Node.js for frontend packages node = "25" # Bun for agent gateway bun = "latest" # pnpm for workspace management pnpm = "10" # sqlc for sql management sqlc = "latest" # typos for spell check typos = "latest" [task_config] dir = "{{cwd}}" [settings] experimental = true [tasks.pnpm-install] description = "Install dependencies" env = { CI = "true" } run = "pnpm install" [tasks.go-install] description = "Install Go dependencies" run = "go mod download" [tasks.swagger-generate] description = "Generate Swagger documentation" depends = [ "//:go-install", ] run = "cd internal/handlers && go generate" [tasks.sdk-generate] description = "Generate SDK code" run = "pnpm run generate-sdk" depends = [ "//:pnpm-install", "//:swagger-generate" ] [tasks.sqlc-generate] description = "Generate SQL code" run = "sqlc generate" [tasks.infra] description = "Start dev infrastructure (postgres + qdrant)" run = "docker compose -f devenv/docker-compose.yml up -d" [tasks.infra-down] description = "Stop dev infrastructure" run = "docker compose -f devenv/docker-compose.yml down" [tasks.infra-logs] description = "View dev infrastructure logs" run = "docker compose -f devenv/docker-compose.yml logs -f" [tasks.db-up] description = "Initialize and Migrate Database" run = "scripts/db-up.sh" [tasks.db-down] description = "Drop Database" run = "scripts/db-drop.sh" [tasks.release] description = "Release new version" run = "pnpm release" [tasks.install-cli] description = "Install CLI" depends = ["//:pnpm-install"] run = "cd packages/cli && npm install -g" [tasks.compile-mcp] description = "Build MCP binary into /app and signal container" run = "scripts/compile-mcp.sh" [tasks.dev] description = "Start development environment" depends = [ "//:swagger-generate", "//:sdk-generate", "//agent:dev", "//cmd/agent:start", "//packages/web:dev", ] [tasks.setup] description = "Setup development environment" depends = [ "//:sqlc-generate", "//:pnpm-install", "//:go-install", "//:install-cli", ] run = """ #!/bin/bash set -e # Auto-copy dev config if config.toml doesn't exist if [ ! -f config.toml ]; then cp conf/app.dev.toml config.toml echo '✓ Copied conf/app.dev.toml → config.toml' fi # Start dev infrastructure docker compose -f devenv/docker-compose.yml up -d # Wait for postgres to be healthy echo 'Waiting for postgres...' until docker compose -f devenv/docker-compose.yml exec -T postgres pg_isready -U memoh >/dev/null 2>&1; do sleep 1 done echo '✓ Postgres ready' # Run migrations scripts/db-up.sh echo '✓ Setup complete! Run: mise run dev' """