frappe_docker/Makefile

44 lines
1.4 KiB
Makefile

# Help generator (targets with ##)
help: ## Show this help message
@echo ""
@echo "$(GREEN)Available make commands:$(RESET)"
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) \
| sort \
| awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}'
@echo ""
# 1. Run all linters and formatters from pre-commit config
lint: ## Run all configured pre-commit hooks (includes formatting & checks)
pre-commit run --all-files
# 2. Only run formatting hooks (e.g. Prettier, Black, Isort)
format: ## Run formatting-only hooks from pre-commit
pre-commit run prettier --all-files || true
pre-commit run black --all-files || true
pre-commit run isort --all-files || true
pre-commit run shfmt --all-files || true
# 3. Stage, commit & push
push: ## Add all files, commit (ask for message), and push
@git add .
@read -p "Enter commit message: " msg; \
git commit -m "$$msg"
@git push
# 4. Amend last commit (no edit)
amend: ## Amend last commit without editing the message
git commit --amend --no-edit
# Add-ons:
check-hooks: ## Run all pre-commit hooks (full check)
pre-commit run --all-files
install-hooks: ## Install pre-commit hooks in .git/hooks
pre-commit install
reset-soft: ## Undo last commit but keep changes staged
git reset --soft HEAD~1
clean: ## Remove temporary Python/node/docker files
rm -rf __pycache__ node_modules *.pyc *.log .pytest_cache .mypy_cache