# .importlinter — машинная защита границ слоёв (волна 0, задача 4).
#
# Запуск:  uv run --with import-linter lint-imports
#
# clikit — CLI-обвязка (L2, наравне с librarykit по стеку corekit <- librarykit
# <- {adapterkit, clikit}, см. clikit/errors.py): не знает про браузерный кит,
# пул аккаунтов и продукты сверху.
#
# adapterkit — по спеке будущая дверь через clikit.command_kit (extra, до волны
# 5), но СЕГОДНЯ фактического импорта нет НИГДЕ в ките (проверено: ни в
# command_kit.py, ни где-либо ещё) — поэтому adapterkit просто в общем списке
# запретов, без ignore_imports: пустая запись-заглушка на несуществующий импорт
# была бы мёртвым TODO, а появление реального импорта не через command_kit
# обязано красить контракт, а не тихо проходить через заранее прописанное
# исключение.

[importlinter]
include_external_packages = True
root_packages =
    clikit
exclude_type_checking_imports = True

[importlinter:contract:clikit-no-upstream]
name = clikit не знает про browserkit/accountpoolkit/adapterkit/продукты
type = forbidden
source_modules =
    clikit
forbidden_modules =
    browserkit
    accountpoolkit
    adapterkit
    gateway
    bublictr
