Files
pi-kit/skills/python-standards/SKILL.md
Aleksey Shakhmatov 7fc7d79815 feat(skills): add rust-standards, typescript-standards, python-standards
- mirror go-standards: structure, linters/formatters, tests, commits/MR, pre-MR checklist
- ecosystem defaults (clippy/rustfmt, eslint/prettier/tsc, ruff/mypy/pytest); company specifics marked TODO
- verified all four *-standards skills load via pi RPC get_commands
2026-07-16 11:54:29 +03:00

3.0 KiB
Raw Blame History

name, description
name description
python-standards Используй при написании, ревью и проверке кода на Python в наших сервисах — структура проекта, запуск ruff/mypy, тесты, формат коммитов и merge request. Применяй всегда, когда пишешь или правишь Python-код, готовишь MR, а также в командах /bugfix, /feature и /review для Python-репозиториев.

Стандарты Python

Один из наших языков — Python. Ниже — общепринятые дефолты экосистемы; специфичное для компании помечено TODO — уточняй, не выдумывай.

Структура

Ориентир (уточняется под компанию):

pyproject.toml
src/<package>/          # src-layout
  __init__.py
tests/

Линтеры и форматирование

  • Линтер + форматтер: ruffruff check . и ruff format --check . (локально ruff format .). Конфиг — в pyproject.toml ([tool.ruff]).
  • Типы: mypymypy . (конфиг [tool.mypy]).

Тесты

  • Прогон: pytestpytest (с покрытием — pytest --cov).
  • Требования к покрытию / обязательные виды тестов: <!-- TODO -->.

Окружение и зависимости

  • Менеджер зависимостей и lock: <!-- TODO: poetry / uv / pip-tools --> — lock коммитим.
  • Виртуальное окружение — обязательно; глобально пакеты не ставим.

Коммиты и MR

  • Формат коммитов: <!-- TODO: например Conventional Commits или свой -->.
  • MR обязателен (см. корпоративные правила из контекста сессии). Прямой push в защищённые ветки запрещён — расширение permission-gate дополнительно переспросит.
  • Перед MR: ruff check ., ruff format --check ., mypy ., pytest — всё зелёное.
  • Описание MR: что и зачем, как проверено, ссылка на тикет (скилл jira-workflow).

Чек-лист перед MR

  • ruff check . чисто
  • ruff format --check . чисто
  • mypy . чисто
  • pytest зелёные, есть тесты на новую логику / фикс
  • нет секретов и закоммиченных .env
  • описание MR со ссылкой на тикет