deps:
  pip-compile-multi --uv

sync:
  pip-sync requirements/dev.txt

freshdeps: deps sync

lint: lint-ruff lint-django lint-woodpecker lint-markdown

lint-ruff:
  ruff check .

lint-django:
  python -m django check
  python -m django validate_templates

lint-woodpecker:
  @# allowed to fail because woodpecker-cli requires installation of homebrew
  @# beforehand and not everyone will want to do that
  -woodpecker-cli lint .woodpecker/workflow.yaml

lint-markdown:
  pymarkdown scan .

serve:
  python -m django runserver

test *ARGS:
  ENV_PATH=.env.test python -m pytest {{ARGS}}

cov *ARGS:
  just test --cov --cov-report xml --cov-report term --junitxml=reports/junit/junit.xml {{ARGS}}

badges:
  genbadge coverage --output-file docs/coverage-badge.svg
  genbadge tests --output-file docs/tests-badge.svg

alias fd := freshdeps