Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
.PHONY: setup lint test coverage help

.DEFAULT_GOAL := help

help: ## Show this help message
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}'

setup: ## Install dev dependencies and git hooks
uv sync --dev
uv run prek install

lint: ## Run all pre-commit hooks
uv run prek run --all-files

test: ## Run tests
uv run pytest

coverage: ## Run tests with coverage report
uv run pytest --cov=src/bsblan --cov-report=term-missing
14 changes: 13 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,9 +150,21 @@ To install all packages, including all development requirements:

```bash
npm install
uv sync --dev
make setup
```

### Makefile Targets

A `Makefile` is provided for common development tasks. Run `make help` to
see all available targets:

| Command | Description |
|-----------------|--------------------------------------|
| `make setup` | Install dev dependencies & git hooks |
| `make lint` | Run all pre-commit hooks |
| `make test` | Run tests |
| `make coverage` | Run tests with coverage report |

As this repository uses [prek][prek] (a faster, Rust-based drop-in replacement
for pre-commit), all changes are linted and tested with each commit. You can
run all checks and tests manually, using the following command:
Expand Down
Loading