set shell := ["/usr/bin/env", "bash", "-euo", "pipefail", "-c"] [private] default: @just --choose # Run controller run-controller $RUST_LOG="debug,h2=info,hyper_util=info,tower=info": cargo run --package patagia-controller -- --log-stderr # Run controller local development dev-controller: watchexec --clear --restart --stop-signal INT --debounce 300ms -- just run-controller # Run agent run-agent $RUST_LOG="debug,h2=info,hyper_util=info,tower=info": cargo run --package patagia-agent # Run agent local development dev-agent: watchexec --clear --restart --stop-signal INT --debounce 300ms -- just run-agent # Lint all source code lint: cargo clippy # Format all source code fmt: nix fmt # Update all dependencies update: update-nix update-rust-deps # Update rust dependencies update-rust-deps: cargo upgrade --recursive cargo update --recursive # Update nix flake packages update-nix: nix flake update # Find unused dependencies with cargo machete machete: cargo machete # Generate OpenAPI spec open-api: cargo xtask open-api # Run all tests check: check-nix # check-nix check-nix: nix flake check # Run PostgreSQL for development and testing dev-postgres: mkdir -p "$XDG_RUNTIME_DIR/patagia-postgres" podman volume exists patagia-postgres || podman volume create patagia-postgres podman run \ --detach \ --replace \ --name patagia-postgres \ --env POSTGRES_DB=patagia \ --env POSTGRES_USER=patagia \ --env POSTGRES_PASSWORD=swordfish \ --volume patagia-postgres:/var/lib/postgresql/data \ --volume "$XDG_RUNTIME_DIR/patagia-postgres:/var/run/postgresql" \ docker.io/postgres:17 # Reset PostgreSQL data and start dev-postgres-reset: dev-postgres-clean dev-postgres # Clean up PostgreSQL data dev-postgres-clean: podman rm -f patagia-postgres || true podman volume rm patagia-postgres || true # Connect to PostgreSQL with psql dev-postgres-psql: podman exec -it patagia-postgres psql -U patagia