rmi-backend/Makefile
cryptorugmunch 0a8c73d99b feat(domains): consolidate bulletin, intelligence, markets, admin, referral, mcp + mypy gate
- Make app/domains/auth/ and app/core/redis.py mypy-clean under strict.
- Add mypy-gate.ini and Makefile mypy-gate target; promote typecheck-gate in CI.
- Consolidate domains into app/domains/: bulletin, admin, intelligence, markets.
- Extract referral domain incl. DeFi partner DEX ref links; keep Telegram bot wired.
- Move app/mcp/ package and app/api/v1/mcp/router into app/domains/mcp/.
- Archive dead app/mcp_router.py.
2026-07-07 16:43:49 +07:00

56 lines
1.7 KiB
Makefile

.PHONY: help install dev build lint format check test test-all security ci clean mypy-gate typecheck-gate
help: ## Show this help
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}'
install: ## Install dependencies
pip install -e ".[dev]"
pip install -r requirements.txt
@command -v pre-commit >/dev/null 2>&1 && pre-commit install || echo " (pre-commit not installed; skipping hook install)"
dev: ## Start dev server
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
build: ## Build Docker image
docker build -t rmi-backend .
lint: ## Lint with ruff
ruff check app/ tests/
format: ## Format with ruff (writes)
ruff format app/ tests/
ruff check --fix app/ tests/
check: ## Full check: lint + format + typecheck + test
ruff check app/ tests/
ruff format --check app/ tests/
mypy app/ --ignore-missing-imports
pytest tests/ -x -q -m "not integration"
typecheck: ## MyPy type check (full codebase, informational)
mypy app/ --config-file mypy.ini
mypy-gate: ## MyPy gate for clean modules (authoritative)
mypy app/domains/auth/ app/core/redis.py --config-file mypy-gate.ini
typecheck-gate: ## Alias for mypy-gate
$(MAKE) mypy-gate
test: ## Run tests (non-integration)
pytest tests/ -x -q -m "not integration"
test-all: ## Run ALL tests including integration
pytest tests/ -q
security: ## Security audit
bandit -r app/ -q
ruff check --select S app/ tests/
ci: ## Full CI pipeline
ruff check app/ tests/
ruff format --check app/ tests/
$(MAKE) mypy-gate
pytest tests/ -x -q -m "not integration"
clean: ## Remove build artifacts
rm -rf dist build *.egg-info .pytest_cache .mypy_cache .ruff_cache