ИИ-инструменты и скрипты
Проверка конфигурации Turborepo и Nx
Проверьте монорепозитории Turborepo и Nx, прежде чем кэш раскроет секрет или пропустит деплой: файлы .env в outputs, закэшированные задачи деплоя и миграции, закоммиченные токены кэша, необъявленные переменные среды, неподписанные самостоятельно размещённые кэши и устаревшие кэши Nx.
Что вы получите: 1 файл · 44.3 KB · ZIP
Варианты покупкиОписание товара
"outputs": ["dist/**", ".env.production"] копирует ваши продакшен-секреты в каждый артефакт кэша, а задача деплоя без "cache": false может быть воспроизведена из кэша вместо реального запуска: Turborepo выводит старые логи и сообщает об успехе, хотя на деле ничего не было развёрнуто. Этот скилл находит эти и другие ошибки кэширования монорепозиториев, перечисленные ниже, перед вашей следующей сборкой, и объясняет, как исправить каждую из них.
Ваш агент запускает сканер по turbo.json и turbo.jsonc, nx.json, project.json, файлам package.json, использующим turbo, nx или lerna (scripts, dependencies и nx targets), workflow CI и Dockerfile, которые запускают turbo или nx, а также по коду JavaScript и TypeScript рабочего пространства Turborepo (результат сборки пропускается). Он читает JSON с комментариями, знает текущие значения по умолчанию (Turborepo кэширует каждую задачу и работает в строгом режиме env; Nx кэширует только targets, отмеченные "cache": true), объединяет файлы turbo.json пакетов с корневым файлом над ними, знает переменные, которые Turborepo передаёт каждой задаче, и префиксы фреймворков, которые он определяет, отличает задачи только для чтения, такие как lint:migrations или release:notes, от настоящих деплоев, и считает ссылки на секреты CI и закомментированные заглушки тем, чем они являются. Он никогда не запускает turbo, nx или ваш код. Он возвращает BLOCK, REVIEW или NOT FLAGGED с указанием файла, строки, причины и более безопасного подхода. Секреты никогда не выводятся.
Что проверяется
BLOCK (исправьте перед релизом)
- M01: файлы .env и другие секретные файлы (.pem, .key, .npmrc, ключи SSH) в outputs задачи, из-за чего каждая копия кэша и каждая загрузка в удалённый кэш хранит их
- M02: задачи deploy, publish, release и migrate, которые могут быть отданы из кэша (нет "cache": false в Turborepo, "cache": true или cacheableOperations в Nx); задачи только для чтения, такие как lint:migrations, migrations:check или release:notes, не отмечаются
- M03: TURBO_TOKEN, токены Nx Cloud, ключ подписи удалённого кэша или секретный ключ кэша Nx S3, записанные в активных строках файлов CI, Dockerfile, scripts package.json или nx.json
REVIEW (проверьте перед релизом)
- M11: задачи build в корневом turbo.json без outputs
- M12: переменные среды, которые читает код (в том числе внутри template literals) и которые не объявлены ни в одном turbo.json, одна находка на переменную
- M13: нестрогий режим env (loose environment mode)
- M14: самостоятельно размещённый удалённый кэш Turborepo (remoteCache.apiUrl, TURBO_API) без проверки подписи; настройка Vercel Remote Cache, выполненная так, как показано в документации Turborepo, не отмечается
- M15: ключ pipeline из Turborepo 1.x
- M16: inputs задачи без $TURBO_DEFAULT$
- M17: токен доступа Nx Cloud в nx.json
- M18: устаревшие кэши Nx S3, GCS, Azure и shared-fs (CVE-2025-36852)
- M19: похожий на настоящий токен кэша в закомментированной строке CI или Dockerfile (заглушки, такие как your-token, допустимы)
Что входит в комплект
- Сканер (Python 3.9+, только стандартная библиотека)
- Руководство по правилам с указанием причины, более безопасного подхода и официального источника для каждого правила
- Рискованные и безопасные примеры репозиториев (магазин на Turborepo 2, приложение на Turborepo 1.x и платформа на Nx) и реальный отчёт, который сканер выдаёт для рискованных примеров
Ограничения
Он читает каждый файл в том виде, в каком он записан: задачи, которые выводят плагины Nx, настройки, хранящиеся в панелях Nx Cloud или Vercel (области действия токенов, уровни доступа рабочего пространства), и удалённый кэш, который Vercel включает для своих собственных сборок, не видны. Переменные среды сопоставляются по всем файлам turbo.json сканирования, а не по отдельной задаче, доступ к env через вспомогательные функции не прослеживается, результат сборки в папках, на которые не указывает ни один glob в outputs, поле main или известное имя, читается как исходный код, а файл .env, попадающий только под широкий glob вывода, такой как **, не отмечается. NOT FLAGGED не является гарантией.
Содержимое
Один ZIP-файл с 29 файлами: SKILL.md, сканер в scripts/ (6 файлов Python), references/rules.md (каждое правило с причиной и более безопасным подходом) и examples/ (20 файлов примеров плюс report.md, реальный вывод сканера на рискованном примере).
Как использовать: Это скилл для агента: папка с файлом SKILL.md и скриптами Python, которые может запускать ИИ-агент для написания кода, такой как Claude Code, Cursor или Codex CLI. Распакуйте его в папку скиллов вашего агента (для Claude Code: ~/.claude/skills/), затем попросите агента проверить ваш проект. Скрипты также работают самостоятельно на Python 3.9 или новее, без необходимости что-либо устанавливать. Они только читают ваши файлы: без доступа к сети, и ничего никуда не отправляется.
Что вы получите
1 файл · 44.3 KB
- turborepo-nx-config-check-1.0.0.zipZIP · 44.3 KB
ИИ-инструменты и скрипты
Проверка конфигурации Turborepo и Nx
Проверьте монорепозитории Turborepo и Nx, прежде чем кэш раскроет секрет или пропустит деплой: файлы .env в outputs, закэшированные задачи деплоя и миграции, закоммиченные токены кэша, необъявленные переменные среды, неподписанные самостоятельно размещённые кэши и устаревшие кэши Nx.
Getly открыл загруженные файлы и не нашёл ничего, что помешало бы их открыть. Это не проверка на вирусы и не оценка качества.
Теги
Частые вопросы
Доступ открывается сразу?
Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.
Можно ли использовать в коммерческих проектах?
Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.
Какие условия возврата?
Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.
Какие форматы и размеры файлов я получу?
Вы скачаете 1 файл - ZIP - всего 44.3 KB.
Обновления бесплатны?
Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.
Цена
$5.00



