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

export OTEL_SERVICE_NAME := "my-program"

[private]
default:
	@just --choose

# Run
run $RUST_LOG="debug":
  nix run

# Run local development
dev:
  watchexec --clear --restart --stop-signal INT --debounce 300ms -- just run

# Run all tests
check:
  nix flake check

# 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