Utils

envs

CLI que mantiene los valores .env de todos tus git worktrees en un solo archivo (.envs/values.yml). Edítalos juntos y distribúyelos a cada worktree, o recógelos desde los .env existentes.

Requiere Bun y git · @jondotsoy/envs en npm

Cómo funciona

Instalación

bun add -g @jondotsoy/envs

# o sin instalar
bunx @jondotsoy/envs help

Comandos

Ejecútalos dentro del repo o de cualquiera de sus worktrees; `.envs/` siempre vive en el repo principal.

envs init Crea .envs/, su .gitignore y un values.yml vacío.
envs pull Lee el .env de cada worktree y lo guarda en values.yml.
envs push Escribe values.yml en el .env de cada worktree, conservando comentarios y variables ajenas.
envs lint Revisa seguridad (secretos débiles, permisos, archivos versionados). Sale con código 1 si hay problemas.
envs edit Hace pull, abre values.yml con code -w y, al cerrar, hace push.
envs help Muestra la ayuda.

Formato de values.yml

defaults:
  LOG_LEVEL: info

envs:
  DATABASE_URL:
    main: postgres://localhost/main
    feature-x: postgres://localhost/feature_x
  PORT:
    main: 3000
    feature-x: 3001
  • defaults: valor por defecto de cada variable; push lo escribe en todos los worktrees.
  • envs.<VARIABLE>.<worktree>: valor en ese worktree; sobrescribe a defaults.
  • Los valores pueden ser strings, números o booleanos; push los escribe como texto.