{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "stack": "python",
  "description": "Python test gap rules. Sources in *.py; tests in test_*.py / *_test.py / tests/.",
  "sourceExtensions": [".py"],
  "testPathSuffixes": ["_test.py"],
  "testPathPrefixes": ["test_"],
  "testPathContains": ["/tests/", "/test/"],
  "excludePathGlobs": [
    "__pycache__/",
    ".venv/",
    "venv/",
    ".tox/",
    "build/",
    "dist/",
    "*.egg-info/",
    "**/migrations/**"
  ],
  "publicApiPatterns": [
    { "id": "top_def", "regex": "^def\\s+([a-z_][a-z0-9_]*)" },
    { "id": "top_class", "regex": "^class\\s+([A-Z][A-Za-z0-9_]*)" },
    { "id": "async_def", "regex": "^async\\s+def\\s+([a-z_][a-z0-9_]*)" }
  ],
  "hint": "Cover with pytest test_<symbol> style. Async with pytest-asyncio. Avoid name collision with private helpers (prefix _)."
}
