В разработке · релиза ещё нет

.env, без боли.

envbox — CLI-инструмент для проверки, синхронизации и безопасного управления .env и .env.example. Сейчас в разработке — ниже план и черновик того, как это будет выглядеть.

$ envbox check
DATABASE_URL
BOT_TOKEN
REDIS_URL (missing in .env)
S3_BUCKET (missing in .env.example)
1 required variable is missing. Run 'envbox sync' to update template.

черновик вывода — команды ещё не реализованы, финальный формат может измениться

the problem

С `.env` всё отлично.
С синхронизацией — хаос.

Добавил переменную в `.env`, забыл обновить `.env.example` — и следующий разработчик тратит час на понимание, почему приложение падает после `git pull`. Именно этот сценарий envbox должен закрыть.

.env local & secret
DATABASE_URL=postgres://user:pass@localhost:5432/db
BOT_TOKEN=712398412:AAH...
PORT=3000
S3_BUCKET=my-production-bucket
.env.example out of sync
DATABASE_URL=
BOT_TOKEN=
PORT=

# S3_BUCKET забыли добавить в шаблон!
planned features

Один инструмент
для всех сценариев.

Ничего из этого ещё не реализовано — так задуман первый релиз.

план

check

Будет сравнивать `.env` и `.env.example` и подсвечивать расхождения. Задуман для pre-commit хуков и CI с кодами возврата 0/1.

план

sync

Будет добавлять новые ключи в `.env.example` с пустыми значениями, не затирая комментарии и порядок.

план

manage

Команды get, set, unset и безопасный list с маскированием токенов.

план

scan

Будет искать забытые секреты и токены в коде проекта перед отправкой в git.

config, not secrets

Правила — в
envbox.toml

Файл конфигурации коммитится в репозиторий. Он не содержит секретов — только правила валидации для команды и CI.

  • Обязательные переменные для `check`
  • Пути, которые `scan` должен игнорировать
  • Работает без настройки «из коробки»

формат черновой, может измениться до первого релиза

envbox.toml
[required]
DATABASE_URL = true
BOT_TOKEN    = true
PORT         = true
REDIS_URL    = true

[scan]
ignore_paths = [".git", "dist", "vendor", "node_modules"]
status

Ещё не релиз. Вот план.

envbox только начинают строить. Ниже — этапы до первой версии, в порядке разработки.

  1. 1

    Foundation

    в работе

    Каркас CLI и парсер `.env` / `.env.example`.

  2. 2

    Core validation

    план

    `check`, `sync` и `envbox.toml`.

  3. 3

    Variable management

    план

    `get`, `set`, `unset`, `list`.

  4. 4

    Security scan

    план

    `scan` — поиск случайно закоммиченных секретов.

  5. 5

    Release readiness

    план

    Документация и первый публичный релиз.

Инструментов установки пока нет — устанавливать нечего. Если хотите узнать о релизе первым, следите за репозиторием.

Открыть репозиторий на GitLab