
The Short Answer
Paste the contents of your .env.example file into Claude Code and type: 'Create a table listing each key with its purpose, value format, example value, and whether it is sensitive.' A ready-to-use reference table comes back immediately. Follow up with 'Separate the sensitive keys from the public ones' to add a security classification in the same step.
Why This Matters Now
As a project grows, so does the number of keys in the .env file. When a new team member joins, questions like 'What does DATABASE_URL point to?' or 'What value should I put in REDIS_TTL?' start piling up. Answering them individually wastes time that compounds quickly across a team.
Writing a separate document feels like extra work, and it falls out of date the moment a key changes. The .env.example file already contains every key name. Claude Code uses it as raw material to attach human-readable explanations, turning a file that already exists into documentation that actually gets used.
Step-by-Step
- Open Claude Code from your project root.
- Copy the contents of .env.example and paste them into the chat. Use
cat .env.exampleto print the file first if needed. - Type the following: 'For each key in this .env.example, create a table with columns: key name, purpose, value format, example value, and sensitivity level.'
- Review the output. If any description is wrong, say: 'The purpose for key number 3 is incorrect. It controls the email delivery port. Please fix it.'
- Ask Claude Code to save the result: 'Save this table to docs/env-guide.md.'
Inline example: run cat .env.example | pbcopy to copy the file, then paste directly into the chat.
Real-World Example
Here is the kind of table Claude Code produces:
| Key | Purpose | Value Format | Example | Sensitive |
|---|---|---|---|---|
| DATABASE_URL | Database connection string | postgresql://user:pass@host:port/db | postgresql://admin:s3cr3t@localhost:5432/app | Yes |
| PORT | Port the server listens on | Number | 3000 | No |
| JWT_SECRET | Secret used to sign tokens | Long random string | (generate with openssl rand -base64 32) | Yes |
| LOG_LEVEL | Logging verbosity | debug / info / warn / error | info | No |
With this table available, a new team member can fill in their local .env file correctly on day one without asking anyone.
Common Mistakes
The first mistake is pasting the real .env file instead of .env.example. The .env.example should contain only placeholder values or empty strings. Never paste actual secret keys into a chat window.
The second mistake is using Claude Code's output without review. Because Claude Code infers purpose from key names and value formats, a vaguely named key can produce an inaccurate description. Always have a team member verify the table before publishing it.
The third mistake is treating the document as a one-time artifact. Every time a key is added to .env.example, regenerate the table using the same method. The whole process takes under a minute, so there is no reason to let the document drift.
Checklist
- Confirmed .env.example contains no real secret values
- Every key has a purpose description
- Sensitivity classification has been reviewed by a team member
- The completed table is saved in the docs folder
- A process is in place to regenerate the table whenever .env.example changes
FAQ
Q1. What if the project does not have a .env.example file?
Create one by copying .env and removing all real values, leaving only key names with empty assignments like DATABASE_URL=. Feed that file to Claude Code the same way. As a bonus, you end up with a proper .env.example file for future use.
Q2. How do I fix a description Claude Code got wrong?
Say something like: 'The description for SMTP_PORT is wrong. It is the port number for the outgoing mail server. Please update that row.' Claude Code will correct only that entry without regenerating the whole table.
Q3. Does this replace a secrets management tool?
No. This workflow produces documentation that explains what each key is for and what format it expects. Storing the actual secret values securely is still the job of dedicated tools such as AWS Secrets Manager, HashiCorp Vault, or 1Password Secrets Automation. Documentation and secret storage serve different purposes.
Wrapping Up
.env.example is already sitting in your repository. Feeding it to Claude Code and asking for a one-table summary is the only extra step needed. The result is a living reference document that anyone on the team can read on their first day. When keys change, regenerating the table takes less than a minute.
🐦 Faster updates on X: @baegseungh7061
📚 More in this series: Code Intro
💌 Subscribe: Follow on X or grab the RSS
댓글
댓글 쓰기