Do not commit sensitive, time-limited, or environment-specific configuration files to version control. Instead:

  1. For files with expiration dates (like SSL certificates):
  2. For environment-specific configurations:

Example of proper .gitignore usage:

# npm
node_modules
package-lock.json
npm-shrinkwrap.json

# Security
*.pem
*.key
*.crt

Example of documentation in README.md:

## Setup
Before running the example, generate the required SSL certificates:

```bash
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

```