# Makefile for Firehose monorepo .PHONY: check precommit deps compile test test-elisp format # Common check target that runs all static analysis check: @echo "Running static analysis..." @make -C app MISE_BIN=mise check # Precommit target for CI/pre-commit hooks precommit: check # Sync dependencies deps: @make -C app deps # Compile the project compile: @make -C app compile # Run tests (app suite + blogex library suite) test: @make -C app test @make -C blogex test # Run Emacs Lisp tests for roam-export-blog (requires emacs on PATH) test-elisp: emacs --batch -Q -l org -l ox-md -l scripts/roam-export-blog.el -l scripts/roam-export-blog-test.el -f ert-run-tests-batch-and-exit # Format code format: @make -C app format # Serve the app serve: @cd app && mix phx.server # Run Playwright browser-based tests (requires running server) # Set PLAYWRIGHT_BASE_URL to point at the running Phoenix app playwright: @make -C app playwright # Run Playwright in UI mode (headed browser) playwright-ui: @make -C app playwright-ui # Run Playwright against Docker Chrome container (must be running) playwright-docker: @make -C app playwright-docker # Full e2e workflow: start Chrome container, run tests, stop container playwright-full: @make -C app playwright-full # Start Docker Chrome container playwright-docker-start: @make -C app playwright-docker-start # Stop Docker Chrome container playwright-docker-stop: @make -C app playwright-docker-stop