Encloud

Securely sync and restore .env
files across your VS Code projects

Encloud allows developers to securely encrypt and store .env
files in Supabase using password-based encryption. Perfect for managing environment variables across different machines and projects.
📸 Screenshots

*GitHub authentication flow*
Selecting .env files to sync
Restoring encrypted .env files
✨ Features
- Detects
.env*
files in your workspace
- Password-based encryption (PBKDF2 + AES-256-CBC)
- GitHub authentication for user management
- Secure cloud storage with end-to-end encryption
- Restore
.env
files on any device with your password
🚀 Getting Started
Installation
- Open VS Code
- Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
- Search for "Encloud"
- Click Install
First-time Setup
- Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
- Type "Encloud: Login" and press Enter
- Authenticate with your GitHub account
- Create your encryption password (minimum 8 characters)
- Important: This password is used to encrypt your data and cannot be recovered if lost
Basic Usage
Syncing .env Files:
- Open the Command Palette
- Run "Encloud: Sync .env Files"
- Select files to encrypt and sync
Restoring .env Files:
- Open the Command Palette
- Run "Encloud: Restore .env Files"
- Enter your password to decrypt files
Clearing Stored Data:
- Open the Command Palette
- Run "Encloud: Clear .env Data"
- Confirm to remove all stored .env files
🔒 Security
- Password-based key derivation (PBKDF2 with 100,000 iterations)
- AES-256-CBC encryption for file contents
- Only salt and verification hash stored in database
- Zero-knowledge design - server never sees your password or decrypted data
- Each operation requires password verification
🛠️ For Developers
Prerequisites
- Node.js (v14 or higher)
- VS Code
- Supabase account (for backend)
Local Development Setup
This project uses pnpm as its package manager for faster and more efficient dependency management.
Install pnpm if you haven't already:
npm install -g pnpm
Clone the repository:
git clone https://github.com/berzz26/encloud.git
cd encloud
Install dependencies:
pnpm install
Create a .env
file with your Supabase credentials:
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key
Run the extension in development mode:
- Press F5 in VS Code to start debugging
- A new VS Code window will open with the extension loaded
Building the Extension
pnpm run build # Compile TypeScript code
pnpm run package # Create VSIX package
This will create a .vsix
file that can be installed manually in VS Code.
❓ Troubleshooting
Common Issues
Login Fails
- Ensure you have a stable internet connection
- Check if GitHub authentication services are operational
- Try clearing browser cookies and cache
Cannot Sync Files
- Verify that your workspace contains
.env
files
- Ensure you're logged in (run "Encloud: Login" first)
- Check if you have write permissions to the workspace
Password Not Working
- Passwords are case-sensitive
- Ensure you're using the same password that was set during initial setup
- There is no password recovery - if lost, you'll need to clear data and start fresh
Files Not Restoring
- Verify that you've previously synced files
- Check if you're using the correct password
- Ensure you have write permissions to the workspace
Getting Help
If you encounter issues not covered here, please open an issue on GitHub.
⚠️ Important Notes
- Keep your password safe - there's no recovery mechanism
- Password required for both sync and restore operations
- Works across different devices with the same password
- Always backup important .env files before using this extension
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🤝 Contributing
Contributions are welcome! Please see our CONTRIBUTING.md for details on how to contribute to this project.