11repos :
22 - repo : https://github.com/astral-sh/ruff-pre-commit
3- # Ruff version.
43 rev : v0.15.12
4+ # Each project is linted under its own config; the global hook runs once per project.
55 hooks :
6- # Run the linter.
76 - id : ruff
7+ name : api-lint
8+ files : ^api/
89 args : [--config, api/pyproject.toml, --config, "src = ['api']", --fix]
9- # Run the formatter.
1010 - id : ruff-format
11+ name : api-format
12+ files : ^api/
1113 args : [--config, api/pyproject.toml, --config, "src = ['api']"]
14+ - id : ruff
15+ name : mcp-lint
16+ files : ^mcp/
17+ args : [--config, mcp/pyproject.toml, --config, "src = ['mcp/src']", --fix]
18+ - id : ruff-format
19+ name : mcp-format
20+ files : ^mcp/
21+ args : [--config, mcp/pyproject.toml, --config, "src = ['mcp/src']"]
1222
1323 - repo : https://github.com/pre-commit/pre-commit-hooks
1424 rev : v6.0.0
@@ -34,12 +44,22 @@ repos:
3444 entry : make -C api generate-docs
3545 pass_filenames : false
3646 types_or : [python, toml]
37- - id : python -typecheck
38- name : python -typecheck
47+ - id : api -typecheck
48+ name : api -typecheck
3949 language : system
4050 entry : uv run --directory api mypy .
4151 require_serial : true
4252 pass_filenames : false
53+ files : ^api/
54+ types : [python]
55+ stages : [pre-push]
56+ - id : mcp-typecheck
57+ name : mcp-typecheck
58+ language : system
59+ entry : uv run --directory mcp mypy .
60+ require_serial : true
61+ pass_filenames : false
62+ files : ^mcp/
4363 types : [python]
4464 stages : [pre-push]
4565
@@ -52,7 +72,11 @@ repos:
5272 rev : 0.11.14 # Ensure this matches the version in api/pyproject.toml
5373 hooks :
5474 - id : uv-lock
75+ name : api-lockcheck
5576 args : ["--project", "api", "--check"]
77+ - id : uv-lock
78+ name : mcp-lockcheck
79+ args : ["--project", "mcp", "--check"]
5680
5781 - repo : https://github.com/renovatebot/pre-commit-hooks
5882 rev : 43.205.2
@@ -65,5 +89,5 @@ default_install_hook_types: [pre-commit, pre-push]
6589default_stages : [pre-commit]
6690
6791ci :
68- skip : [generate-docs, python -typecheck, renovate-config-validator]
92+ skip : [generate-docs, api-typecheck, mcp -typecheck, renovate-config-validator]
6993 autoupdate_commit_msg : " ci: pre-commit autoupdate"
0 commit comments