set shell := ["/usr/bin/env", "bash", "-euo", "pipefail", "-c"]

[private]
default:
	@just --choose

# Run all tests
check:
  nix flake check

# Lint all source code
lint:
 echo FIXME: Add linter(s) here

# Format all source code
fmt:
 echo FIXME: Add formatter here

# Update all dependencies
update: update-nix-pkgs update-rust-deps

# Update rust dependencies
update-rust-deps:
  cargo upgrade --recursive
  cargo update --recursive

# Update nix flake packages
update-nix-pkgs:
  nix flake update

# Find unused dependencies with cargo machete
machete:
  cargo machete

# Run local development
dev $OTEL_SERVICE_NAME="my-program" $RUST_LOG="debug":
  watchexec --clear --restart --stop-signal INT --debounce 300ms -- nix run .