22 ポイント 投稿者 xguru 2025-07-21 | 2件のコメント | WhatsAppで共有
  • 従来の .env/.env.example 方式の限界を克服し、コラボレーション/AI/セキュリティ/型安全性を一度に解決する 次世代環境変数管理ツール
    • .env.schema で環境変数スキーマを一か所で管理でき、.env.example と違って実際の値と例示の不一致を心配する必要がない
  • @env-spec デコレーター注釈 を通じて、スキーマ、型、検証、例、機密性、外部シークレット管理など多様な情報を .env ファイルに宣言的に追加
    • @required, @type=string, @sensitive, @example など
  • 強力なバリデーション: 誤った設定/未入力エラーを即座に明確なメッセージで案内(ランタイム前に事前防止)
  • スキーマベースの 自動型生成 により、コード内で環境変数へアクセスする際の型安全性と IDE インテリセンス対応 を提供
  • セキュリティ: 機密情報の自動マスキング(ログ/コンソール)、バンドルされたクライアント/レスポンス内での漏えいを検知
  • マルチ環境とオーバーライド: デフォルト値、環境ごとのファイル、git-ignored の個人値、プロセス env の組み合わせなど、複合的な環境構成をサポート
  • 外部シークレット統合: 1Password、exec などコマンドベースのシークレット動的読み込みに対応し、プラグイン・ローカル暗号化・チーム vault も近日対応予定
  • 言語非依存/ランタイム非依存: JS/TS だけでなく、varlock run -- python my.py のようにあらゆる言語・プロセスへ検証済み env を注入可能
  • dotenv を完全に置き換え可能: dotenv import を varlock に変えるだけで、即時バリデーション、自動型生成、セキュリティ強化、マルチ環境/シークレット統合など多様な機能を利用可能

2件のコメント

 
onixboox 2025-07-23

これなら .gitignore.env.schema も含める必要があるのでしょうか?

 
onixboox 2025-07-23

ああ… .env に情報を置いて、.env.schema がそれを読み込む方式なんですね