Author SHA1 Message Date
Russell Shean 96585d8c35 Merge a614252a10 into f963896e65 2026-04-03 17:34:58 -04:00
Russell Shean a614252a10 Merge pull request #1 from Russell-Shean/Russell-Shean-patch-1
R: add `.env` to prevent accidentally exposing credentials
2025-12-19 19:30:56 +08:00
Russell Shean 460b9d97a7 R: add .env to prevent accidentally exposing credentials
Historically R users have used the .Renviron file for storing environmental variables such as secrets, credentials, API keys etc. However, I believe there are several compelling reasons for adding .env to the .gitignore too:

1. The dotenv R package was created to allow users to use .env instead of .Renviron. The package has a significant number of downloads.  https://github.com/gaborcsardi/dotenv 

2. .env files are standard in many other programming languages. It wouldn't be that out of the unexpected to think R users might end up with an .env file because a python user on their team contributed files to the repo, the R user started programming in nodejs and is used to working with .env file, or a repo is in the process of being translated from a language that uses .env to R. 

3. LLMs are making programming accessible to people who may not have much previous experience handling credentials and security. One of the first steps many of these users have to do is store LLM provider API keys somewhere. I worry about a new R user adapting a python workflow or an R workflow that recommends using an .env file and then accidentally committing their LLM API keys to a public repo. 

4. I can't think of why an R user would create an .env file for any other reason other than storing credentials and environmental variables. If, for whatever reason, they need to commit an .env file, they can remove that part from the template, but I think the risk of accidentally exposing sensitive credentials justifies adding .env files to the template and not commenting it out by default.
2025-12-19 19:27:15 +08:00
7 changed files with 8 additions and 18 deletions

No files matched your search

+6 -6
View File
@@ -49,14 +49,14 @@ CMakeFiles/
CMakeCache.txt
cmake_install.cmake
Makefile
install_manifest.txt
install_manifest.txt
compile_commands.json
# Temporary files
*.tmp
*.log
*.bak
*.swp
*.tmp
*.log
*.bak
*.swp
# vcpkg
vcpkg_installed/
@@ -66,4 +66,4 @@ vcpkg_installed/
# test output & cache
Testing/
.cache/
.cache/
-1
View File
@@ -1,6 +1,5 @@
# General
.DS_Store
.localized
__MACOSX/
.AppleDouble
.LSOverride
-2
View File
@@ -1,2 +0,0 @@
# cache and other artifacts produced by Lean's Lake build tool
.lake/
+1 -1
View File
@@ -7,7 +7,7 @@ release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# https://maven.apache.org/tools/wrapper/#Usage_with_or_without_Binary_JAR
# https://maven.apache.org/wrapper/#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar
# Eclipse m2e generated files
-3
View File
@@ -4,6 +4,3 @@ result-*
# Ignore automatically generated direnv output
.direnv
# Ignore NixOS interactive test driver history
**/.nixos-test-history
+1
View File
@@ -38,6 +38,7 @@ vignettes/*.pdf
# R Environment Variables
.Renviron
.env
# pkgdown site
docs/
-5
View File
@@ -75,11 +75,6 @@ acs-*.bib
# comment
*.cut
# context
*.tuc
*.tui
*.tuo
# cprotect
*.cpt