Files
ВяткинАртём 2817cf8dc6 Add test coverage checklist, report template, and stack matrix for ecommerce project
- Created a test coverage checklist to ensure comprehensive testing of backend and frontend components.
- Added a test report template to standardize reporting on test execution results and gaps.
- Introduced a test stack matrix to guide the selection of testing tools and frameworks for backend and frontend.
- Established a skill for repairing failing tests, including a failure triage checklist and a test repair template.
- Documented recommended MCP stack for ecommerce development with FastAPI and React/Next.js.
- Developed a detailed README outlining the project structure, agent capabilities, and recommended workflows.
- Compiled a comprehensive workflow guide detailing step-by-step commands for project setup, testing, and SEO implementation.
2026-05-20 18:09:24 +03:00

1.3 KiB

Python Quality Matrix

Configuration detection

  • Read pyproject.toml first.
  • Detect the configured Python version.
  • Detect mypy, ty, ruff, deptry, pytest, and formatter configuration.

Review rules

  • If mypy is configured, check the actual options before judging missing annotations or strictness violations.
  • If ty is configured, use its configured expectations and error model.
  • If both exist, respect whichever toolchain the project clearly treats as authoritative, and flag inconsistent duplication.
  • If ruff is configured, review for meaningful rule violations, not cosmetic churn.
  • If deptry is configured, verify dependency placement, unused dependencies, and hidden transitive reliance.

Modern Python usage

  • Use modern typing syntax only when the configured Python version supports it.
  • Prefer typing.Self, typing.TypeAliasType, typing.override, collections.abc imports, match, enum.StrEnum, dataclass slots, and other newer features only when they improve clarity and compatibility.
  • Do not suggest a newer language feature that the configured interpreter cannot run.

Common harsh checks

  • Weak or missing type boundaries.
  • Hidden Any spread.
  • Async misuse.
  • Leaky ORM or transport models.
  • Overly dynamic code that defeats static analysis.
  • Wrong dependency classification.