
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
envbuddy-cli
Advanced tools
A command-line tool for managing environment files with the EnvBuddy API.
npm install -g .
npm link
Initialize the CLI with your API configuration:
envbuddy init
Authenticate with your Supabase JWT token:
envbuddy login
Push environment variables (auto-selects project if needed):
envbuddy push .env
Pull environment variables:
envbuddy pull-vars
The CLI now automatically prompts for project selection when needed:
When you run push or pull-vars without a default project set, the CLI will:
Example:
$ envbuddy push .env
⚠️ No default project set
📋 Fetching your projects...
? Select a project: (Use arrow keys)
❯ my-awesome-app (123e4567-e89b-12d3-a456-426614174000)
another-project (987f6543-e21b-45d6-b789-123456789012)
test-project (456a7890-f12c-34d5-e678-901234567890)
? Save as default project? Yes
✅ Default project set: my-awesome-app
📤 Pushing .env to project my-awesome-app...
You can still manually set a default project:
envbuddy project my-project-id
Or use the -p flag to override for a single command:
envbuddy push -p another-project-id
The CLI requires authentication to interact with the API. You need a JWT token from Supabase Auth.
Using Supabase Dashboard:
Using Supabase Client:
const { data } = await supabase.auth.signInWithPassword({
email: 'user@example.com',
password: 'password'
});
console.log(data.session.access_token); // This is your JWT token
envbuddy loginAuthenticate with your Supabase JWT token.
~/.envbuddy/config.jsonenvbuddy logoutLog out and remove saved authentication.
envbuddy initInitialize the CLI with API configuration. This command will prompt you for:
envbuddy createCreate a new project.
Example:
envbuddy create
# Enter project name: my-awesome-app
# Set as default? Yes
# ✅ Project created and selected: my-awesome-app
envbuddy project <projectId>Set the default project ID for all commands.
envbuddy project my-awesome-project
envbuddy push [file]Push environment variables to the server. This command:
/api/env/push endpointOptions:
-p, --project <projectId> - Override default project ID-e, --environment <env> - Environment name (default: development)-d, --description <desc> - Description for trackingExamples:
# Push .env file (default)
envbuddy push
# Push a specific file
envbuddy push .env.production
# Push with environment
envbuddy push -e production
# Push to a different project
envbuddy push -p another-project -e staging
envbuddy pull-varsPull environment variables from the server (from env_vars table).
Options:
-p, --project <projectId> - Override default project ID-e, --environment <env> - Environment name (default: development)-o, --output <file> - Output file name (default: .env)-f, --force - Overwrite existing file without promptExamples:
# Pull development variables (default)
envbuddy pull-vars
# Pull production variables
envbuddy pull-vars -e production
# Pull to a specific file
envbuddy pull-vars -e staging -o .env.staging
envbuddy list (alias: ls)List your projects or environment files.
Options:
-p, --project <projectId> - Show files for specific project-e, --environment <env> - Filter by environmentExamples:
# List all your projects
envbuddy list
# List files for a specific project
envbuddy list -p my-project
# List production files only
envbuddy list -p my-project -e production
The CLI stores configuration in ~/.envbuddy/config.json:
{
"apiUrl": "http://localhost:3000",
"projectId": "my-default-project",
"token": "your-jwt-token" // Added after login
}
Security Note: The token is stored in plain text. Ensure your home directory has appropriate permissions.
envbuddy login"Not authenticated"
envbuddy login
"Token expired or invalid"
envbuddy logout
envbuddy login
"Project not found"
envbuddy list# 1. Initialize CLI
envbuddy init
# 2. Login with your JWT token
envbuddy login
# Enter your token when prompted
# 3. Create a new project
envbuddy create
# Enter project name: my-app
# Set as default? Yes
# 4. Push local .env to development
envbuddy push .env -e development
# 5. Push production env
envbuddy push .env.production -e production
# 6. On another machine, login and pull
envbuddy login
envbuddy pull-vars -e production -o .env
Token Security:
envbuddy logout on shared machinesFile Permissions:
~/.envbuddy/ has appropriate permissionsEnvironment Variables:
cat ~/.envbuddy/config.jsonenvbuddy init to update the URLSUPABASE_URL configuredISC
FAQs
Sync and restore .env files from the cloud via CLI
We found that envbuddy-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.