Repository navigation
Add a script to check .env.example files stay in sync - #63
Merged
Muhammadcodes112 merged 2 commits intoJul 10, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The root
.env.exampleis a documentation-only map of which environment variables belong to which workspace (frontend vs. backend). Nothing enforced that this map stayed accurate — a variable could be added toapps/backend/.env.example,apps/frontend/.env.example, or the backend's env schema without anyone updating the root map, silently letting the docs drift out of sync.Solution
scripts/check-env-examples.mjs, a dependency-free Node script that:apps/backend/.env.exampleandapps/frontend/.env.example.apps/backend/src/config/env.ts)..env.examplemap (including comma-separated groups likeNODE_ENV, PORT, HOST).apps/backend/.env.example, or if a variable documented in either workspace's.env.exampleis missing from the root map.pnpm check:envscript that runs the check.appsjob, right afterpnpm lint.This builds on the validated env schema from #2, since that schema is the source of truth this script checks the backend
.env.exampleagainst.closes #3