A lightweight desktop application for managing environment files across your projects.
Built with Tauri, React, and Rust.
Envault helps developers manage multiple .env files across different projects. It provides a clean interface to view, switch between, and organize environment configurations without manually copying files or editing symlinks.
- Project Management: Add and organize multiple projects with custom icons and colors
- Environment Scanning: Automatically detects all
.envfiles in your project directories - Quick Switching: Activate different environment files (
.env.local,.env.production, etc.) with a single click - File Viewer: View environment file contents with syntax highlighting
- Keyboard Navigation: Full keyboard support for efficient workflow
- Native Performance: Built with Tauri for minimal resource usage
- Cross-Platform: Works on macOS, Windows, and Linux
Download the latest release for your platform from the Releases page.
- macOS (Apple Silicon):
.dmgfile for arm64 - macOS (Intel):
.dmgfile for x64 - Windows:
.msior.exeinstaller - Linux:
.debor.AppImagefile
brew install --cask envault- Clone the repository:
git clone https://github.com/Natxo09/envault.git
cd envault- Install dependencies:
npm install- Run in development mode:
npm run tauri dev- Build for production:
npm run tauri buildThe built application will be available in src-tauri/target/release/bundle/.
- Click "Add Project" in the sidebar or press
Cmd/Ctrl + N - Select a project directory
- Customize the project name, icon, and color
- Click "Add"
- Select a project to view its environment files
- Click on any
.envfile to view its contents - Press
Aor use the context menu to activate an environment - The active environment will be symlinked to
.env
| Action | Shortcut |
|---|---|
| Add Project | Cmd/Ctrl + N |
| Open Settings | Cmd/Ctrl + , |
| Toggle Sidebar | Cmd/Ctrl + B |
| Navigate Projects | Arrow Up/Down or J/K |
| Select Project | Enter |
| Switch to Env List | Tab |
| Activate Environment | A |
| Refresh Files | Cmd/Ctrl + R |
| Copy File Content | Cmd/Ctrl + C |
envault/
├── src/ # React frontend
│ ├── components/ # UI components
│ ├── hooks/ # Custom React hooks
│ └── lib/ # Utilities
├── src-tauri/ # Tauri backend
│ ├── src/
│ │ ├── commands.rs # Tauri commands
│ │ ├── database.rs # SQLite operations
│ │ └── types.rs # Type definitions
│ └── Cargo.toml
├── package.json
└── README.md
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name-
Make your changes following the code style:
- Use TypeScript strict mode
- Avoid using
anytype - Follow Conventional Commits for commit messages
-
Test your changes:
npm run build
npm run tauri dev- Submit a pull request
<type>(<scope>): <description>
Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore
Examples:
feat(projects): add project duplication feature
fix(env-files): resolve scanning issue on Windows
docs: update installation instructions
# Frontend
npm run build
# Backend
cd src-tauri
cargo testThe project uses:
- ESLint and TypeScript for frontend code quality
- Rustfmt for Rust code formatting
- Homebrew installation support
- Create and edit .env files directly
- Environment variable diff view
- Search across all environment files
- Environment templates
- Import/export configurations
- Encrypted secrets support
The current logo is temporary. If you are a designer and would like to contribute a logo for Envault, please open an issue or submit a pull request. Any help is appreciated.
MIT License - see LICENSE for details.
