Files
bouncer/Makefile
user ced6232373 feat: initial IRC bouncer implementation
Async Python IRC bouncer with SOCKS5 proxy support, multi-network
connections, password auth, and persistent SQLite backlog with replay.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 11:29:59 +01:00

37 lines
903 B
Makefile

APP_NAME := bouncer
VENV := .venv
PIP := $(VENV)/bin/pip
PYTHON := $(VENV)/bin/python
BOUNCER := $(VENV)/bin/bouncer
.PHONY: help venv install dev lint fmt test run clean
help: ## Show this help
@grep -E '^[a-zA-Z_-]+:.*##' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*## "}; {printf " \033[38;5;110m%-12s\033[0m %s\n", $$1, $$2}'
venv: ## Create virtual environment
python3 -m venv $(VENV)
$(PIP) install --upgrade pip
install: venv ## Install package (editable)
$(PIP) install -e .
dev: venv ## Install with dev dependencies
$(PIP) install -e ".[dev]"
lint: ## Run linter
$(VENV)/bin/ruff check src/ tests/
fmt: ## Format code
$(VENV)/bin/black src/ tests/
$(VENV)/bin/ruff check --fix src/ tests/
test: ## Run tests
$(VENV)/bin/pytest -v
run: ## Run bouncer
$(BOUNCER) --config config/bouncer.toml
clean: ## Remove build artifacts
rm -rf $(VENV) dist build *.egg-info src/*.egg-info