---
type: JS Module
title: main.mjs
resource: npm/rules/python/tooling/main.mjs
docgen:
  crc: c46acc00
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 90
  issues: surzhik,judge:inaccurate:0.98
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Цей файл відповідає за перевірку відповідності проєкту встановленим правилам, визначеним у `python.mdc`. Він підтверджує наявність ключових конфігураційних файлів, зокрема `package.json`, що визначає залежності проекту. Дозволена функціональність обмежена лише читанням файлової системи та бази даних; жодних операцій запису в ці ресурси не виконується. Основна логіка роботи реалізована у публічній функції `main`.

## Поведінка

main виявляє відповідність проєкту правилам (python.mdc) за наявності необхідних файлів та конфігурацій.

1. Перевіряє наявність `pyproject.toml` у корені.
2. Перевіряє наявність `uv.lock`, повідомляючи про необхідність його генерації, якщо він відсутній.
3. Перевіряє відсутність артефактів Poetry (`poetry.lock`, `poetry.toml`), оскільки підтримується лише `uv` (python.mdc).
4. Перевіряє наявність `package.json` у корені.
5. Перевіряє наявність файлу робочого процесу `.github/workflows/lint-python.yml`, необхідного для відповідності (python.mdc).
   Не перевіряє шляхи, що містять `.github` або `.git`.

## Публічний API

main — перевіряє, чи відповідає проєкт вимогам, визначеним у правилах `python.mdc`.

## Гарантії поведінки

- Read-only: не виконує операцій запису (ФС/БД).
- Свідомо пропускає шляхи: `.github`, `.git`.
