- 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
3.0 KiB
3.0 KiB
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/
Линтеры и форматирование
- Линтер + форматтер: ruff —
ruff check .иruff format --check .(локальноruff format .). Конфиг — вpyproject.toml([tool.ruff]). - Типы: mypy —
mypy .(конфиг[tool.mypy]).
Тесты
- Прогон: pytest —
pytest(с покрытием —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 со ссылкой на тикет