netwatch-rs 0.2.0

A modern network traffic monitor for Unix systems, inspired by nload but written in Rust
Documentation
# Makefile for netwatch development

.PHONY: help setup build test fmt clippy clean install hooks dev release check all

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

setup: ## Initial setup for development
	@echo "๐Ÿ”ง Setting up development environment..."
	@cargo build
	@./scripts/setup-hooks.sh
	@echo "โœ… Setup complete!"

build: ## Build the project
	@echo "๐Ÿ”จ Building netwatch..."
	@cargo build

release: ## Build release version
	@echo "๐Ÿš€ Building release version..."
	@cargo build --release

test: ## Run all tests
	@echo "๐Ÿงช Running tests..."
	@cargo test --all

fmt: ## Format code
	@echo "๐Ÿ“ Formatting code..."
	@cargo fmt --all

clippy: ## Run clippy linting
	@echo "๐Ÿ” Running clippy..."
	@cargo clippy --all-targets --all-features -- -D warnings

clean: ## Clean build artifacts
	@echo "๐Ÿงน Cleaning build artifacts..."
	@cargo clean

install: ## Install netwatch locally
	@echo "๐Ÿ“ฆ Installing netwatch..."
	@cargo install --path .

hooks: ## Install git hooks
	@echo "๐Ÿช Installing git hooks..."
	@./scripts/setup-hooks.sh

dev: fmt clippy test ## Run development checks (fmt, clippy, test)

check: ## Run all quality checks
	@echo "โœ… Running all quality checks..."
	@make fmt
	@make clippy
	@make test
	@echo "๐ŸŽ‰ All checks passed!"

all: clean build test ## Clean, build, and test

# Development workflow
watch: ## Watch for changes and run tests
	@echo "๐Ÿ‘€ Watching for changes..."
	@cargo watch -x test

run: ## Run netwatch in development mode
	@echo "๐Ÿƒ Running netwatch..."
	@cargo run

# Release workflow
prepare-release: check ## Prepare for release (run all checks)
	@echo "๐Ÿ“‹ Preparing for release..."
	@make check
	@echo "๐Ÿš€ Ready for release!"