Skip to content

Repository files navigation

Envault Logo

Envault

A lightweight desktop application for managing environment files across your projects.
Built with Tauri, React, and Rust.

Overview

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.

Key Features

  • Project Management: Add and organize multiple projects with custom icons and colors
  • Environment Scanning: Automatically detects all .env files 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

Screenshot

Envault Screenshot

Installation

Download

Download the latest release for your platform from the Releases page.

  • macOS (Apple Silicon): .dmg file for arm64
  • macOS (Intel): .dmg file for x64
  • Windows: .msi or .exe installer
  • Linux: .deb or .AppImage file

Homebrew (Coming Soon)

brew install --cask envault

Build from Source

Prerequisites

Steps

  1. Clone the repository:
git clone https://github.com/Natxo09/envault.git
cd envault
  1. Install dependencies:
npm install
  1. Run in development mode:
npm run tauri dev
  1. Build for production:
npm run tauri build

The built application will be available in src-tauri/target/release/bundle/.

Usage

Adding a Project

  1. Click "Add Project" in the sidebar or press Cmd/Ctrl + N
  2. Select a project directory
  3. Customize the project name, icon, and color
  4. Click "Add"

Managing Environments

  • Select a project to view its environment files
  • Click on any .env file to view its contents
  • Press A or use the context menu to activate an environment
  • The active environment will be symlinked to .env

Keyboard Shortcuts

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

Tech Stack

Frontend

Backend

Project Structure

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

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch:
git checkout -b feature/your-feature-name
  1. Make your changes following the code style:

  2. Test your changes:

npm run build
npm run tauri dev
  1. Submit a pull request

Commit Message Format

<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

Development

Running Tests

# Frontend
npm run build

# Backend
cd src-tauri
cargo test

Code Style

The project uses:

  • ESLint and TypeScript for frontend code quality
  • Rustfmt for Rust code formatting

Roadmap

  • 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

Help Wanted

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.

License

MIT License - see LICENSE for details.

Acknowledgments

  • Tauri for the amazing framework
  • shadcn/ui for UI component patterns
  • All contributors and users

About

A lightweight desktop application for managing environment files across your projects. Built with Tauri, React, and Rust.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages