Tach CLI
Tach, CLI для Python, проверяет импорты отдельно от работающего приложения: архитектурные правила можно запускать в CI.
- 2 861 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Tach читает код и конфигурацию, создает отчеты; при запуске с `--web` программа отправляет конфигурацию внешнему сервису.
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/tachОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Tach читает код и конфигурацию, создает отчеты; при запуске с `--web` программа отправляет конфигурацию внешнему сервису.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Tach, инструмент командной строки, читает границы модулей Python из конфигурации проекта. Команда проекта отмечает модули и разрешенные зависимости, затем CLI находит импорты, которые нарушают эти правила. Для связи между модулями можно ограничить использование публичным интерфейсом. При нарушении CLI указывает место импорта и возвращает ненулевой код завершения. Такой результат используют в CI и проверке перед коммитом. Дополнительные команды показывают граф зависимостей и импорты выбранного модуля в других частях проекта.
Для кого. Архитекторам Python-монолитов, которые хотят удерживать согласованные границы модулей при росте проекта.
Подходит, если
- После рефакторинга команда запрещает новые импорты через внутренние границы модулей.
- Монолит постепенно делят на части с явно разрешенными зависимостями.
- В коде появляются циклы импортов, которые вы хотите находить до запуска приложения.
- Перед переносом модуля архитектор изучает его зависимости и потребителей.
Не подходит, если
- Нужно автоматически выбрать правильную архитектуру без решений команды.
- Проект написан на другом языке и не содержит Python-модулей.
- Требуется измерять производительность приложения во время выполнения.
Пример запроса к агенту
Предложи границы трех модулей Python и покажи текущие запрещенные импорты. Веб-визуализацию не запускай.Ограничения
Границы и разрешенные зависимости задает команда, поэтому чистый отчет подтверждает соответствие конфигурации; архитектуру оценивают отдельно. В монорепозитории нужно явно отметить корни Python-исходников. Режим `tach show --web` передает содержимое `tach.toml` удаленному визуализатору; для локальной схемы используйте обычный `tach show`. Поэтапное подключение оставляет часть модулей вне проверки, поэтому охват стоит фиксировать перед использованием результата как обязательного гейта.
Как отключить. Уберите `tach check` из CI и хуков, затем удалите пакет. Конфигурацию границ можно сохранить как архитектурный документ.
Частые вопросы
Как настроить первые модули?
Запустите `tach init` и отметьте границы в дереве файлов. Можно начать с нескольких модулей.
Как проверить правила?
Выполните `tach check` из корня проекта. Нарушения дают путь к импорту и ненулевой код завершения.
Можно ли получить локальный граф?
Да. `tach show` создает `tach_module_graph.dot`. Вариант с `--web` использует удаленный сервис.
Что делать с исходниками ниже корня?
В мастере отметьте корни исходников клавишей s. Проверьте, что все нужные пакеты попали в анализ.
Как найти потребителей модуля?
Используйте `tach report` с путем. Просмотрите зависимости и места использования перед переносом кода.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыCLI управляет Python-проектом, окружениями и сборкой пакетов, чтобы агент выполнял повторяемые команды по настройкам репозитория.
isort упорядочивает импорты Python по правилам проекта и выводит различия до записи, отделяя оформление от логики кода.
CLI задает вопросы об изменениях Git перед отправкой и оценивает ответы выбранной моделью, проверяя понимание своей правки.
Refurb анализирует Python-код и предлагает точечные улучшения с кодами правил, пояснениями и учетом целевой версии языка.
Команда tqdm добавляет индикатор к потоку строк или байтов, чтобы пользователь видел ход долгого сценария агента.
CLI превращает изменения Git в пошаговый разбор с кодом, вопросами и объяснениями от подключенного ИИ-агента
Коротко о README
Конфигурация поддерживает многопакетные репозитории и пакеты пространств имен. Корни исходников отмечают отдельно, чтобы CLI находил импорты ниже корня репозитория.