TECHDEV · Công cụ open-source

env-doctor

Kiểm tra file .env trước khi nó cắn bạn. Drift, trùng lặp, placeholder, secret rủi ro, biến chết — trong một lệnh, zero dependencies.

Python · Chỉ stdlib · MIT · Không dependency, không mạng, không telemetry.

Nó kiểm tra gì

Kiểm traPhát hiện
DriftKey có trong .env.example nhưng thiếu trong .env, và ngược lại
Trùng lặpCùng key định nghĩa 2 lần
PlaceholderGiá trị rỗng, changeme, your-api-key, TODO, xxx, …
Secret rủi roTiền tố quen thuộc (ghp_, sk-, AKIA, …) hoặc giá trị dài entropy cao
Biến không dùngKey không được code tham chiếu (--scan .)
Dòng saiDòng không có =, tên key sai

Exit code 0 = không lỗi, 1 = có lỗi. Warning không tự làm fail.

Cài đặt (3 bước)

git clone https://github.com/techdevfun/env-doctor.git
cd env-doctor
# Không cần cài dependency (chỉ Python 3.9+ stdlib).
# Tuỳ chọn: cài lệnh env-doctor
pip install -e .
# Chạy
python -m env_doctor check --env .env --example .env.example

Lệnh copy đúng từ README của env-doctor. Đừng dùng pip install env-doctor — README không nói có cài qua PyPI.

Chạy check từ thư mục DỰ ÁN của bạn với file của dự án, không phải từ thư mục env-doctor. Nếu bạn đã cài bằng pip install -e ., lệnh dùng được từ mọi thư mục.

Ví dụ

# Setup sạch — nên pass
python -m env_doctor check --env examples/basic/.env --example examples/basic/.env.example
# Drift + placeholder — nên fail với 2 lỗi
python -m env_doctor check --env examples/drift/.env --example examples/drift/.env.example || true
# Output JSON cho CI / script
python -m env_doctor check --env examples/drift/.env --example examples/drift/.env.example --format json
# Gắn cờ biến không được code dùng tới
python -m env_doctor check --env .env --example .env.example --scan .

Output mẫu (từ ví dụ drift trong README)

[ERROR] duplicate-key: Duplicate key 'DATABASE_URL' (line 3)
[ERROR] missing-in-env: 'NEW_API_URL' is in .env.example but missing in .env
[WARN ] placeholder-value: 'STRIPE_KEY' still looks like a placeholder value
[WARN ] missing-in-example: 'OLD_FLAG' is in .env but missing in .env.example
Summary: 2 error(s), 2 warning(s), 3 key(s).

CI

- name: Audit .env drift
  run: python -m env_doctor check --env .env --example .env.example --format text

Repo chạy check này trong CI trên Python 3.9, 3.11 và 3.12. Giấy phép: MIT.

Giới hạn

Source + README trên GitHub → · Báo lỗi → · ask@techdev.fun

Công cụ liên quan

Các công cụ mã nguồn mở khác của TECHDEV: sessguard, runverdict, gheist-guard, vetgate, context-diet, ci-failure-detective, agent-seatbelt, devsecops-os, skill-audit, logtrim, testguard, breakcheck, keymap, memgraph, ggufit, leaseguard, factfence, jsonfold

Đóng góp ý kiến

Bình chọn cho công cụ này, đề xuất tính năng, hoặc thảo luận với các vận hành khác trên bảng cộng đồng.