devops-env
Инвентаризация env-переменных — где читаются, обязательность, .env.example без значений, проверка утечек секретов (роль devops). Use когда нужно разобраться с конфигурацией или секретами проекта.
SKILL.mdcodex/skills/devops-env/SKILL.md
GitHub<!-- generated by scripts/generate-codex-skills.mjs; edit canonical agents/, commands/ or skills/ -->
Проведи инвентаризацию env-переменных проекта: запрос пользователя.
- Найди все чтения env:
grep -rn "process\.env\." src/(+import.meta.env,env(в конфигах), схемы валидации (zod/envalid),docker-compose.yml,render.yaml,.github/workflows/. Составь таблицу: переменная → где читается (file:line) → обязательна/опциональна → дефолт → секрет ли. - Классифицируй: секреты (ключи, токены, строки подключения с паролем) vs конфиг (порты, флаги, URL без кредов). Секреты — только через env/секрет-хранилища: локально
.env(в.gitignore), CI — GitHub secrets, Render — env-переменные сервиса (через агента$render). - Собери
.env.example: все переменные с комментарием-назначением, без значений (или с безопасными плейсхолдерами видаpostgres://user:pass@localhost:5432/db). Проверь, что.env*в.gitignoreи в.dockerignore— секреты не должны попадать ни в репо, ни в слои образа. - Проверь утечки:
git grepпо сигнатурам ключей (sk-,AKIA,-----BEGIN, паролям в URL) в трекаемых файлах; найденное — сообщи владельцу (ротация ключа — его решение, сам не ротируй). - Сверь среды: переменные, которые читаются в коде, но отсутствуют в
.env.example/compose/CI — перечисли как разрывы. Помни: в Docker изменения env применяются только черезdocker compose up -d --force-recreate.
Края: пустой запрос пользователя — текущий каталог. Найденный закоммиченный секрет — не удаляй историю сам, доложи. Значения прод-переменных не выводи в ответ.
Отдай: таблицу инвентаря, .env.example (путь), список разрывов/утечек, следующий шаг. Опирайся на навыки docker, ci-cd, backend-architecture. Делегируй субагенту $devops.