An open API service indexing awesome lists of open source software.

https://github.com/involvex/ghost-env

A secure TUI (Terminal User Interface) for managing environment secrets. Safely add, list, and delete environment variables without them ever appearing in shell history.
https://github.com/involvex/ghost-env

bun env environment-variables ink tui typescript

Last synced: 14 days ago
JSON representation

A secure TUI (Terminal User Interface) for managing environment secrets. Safely add, list, and delete environment variables without them ever appearing in shell history.

Awesome Lists containing this project

README

          

# Ghost-Env

A secure TUI (Terminal User Interface) for managing environment secrets. Safely add, list, and delete environment variables without them ever appearing in shell history.

## Features

- **Interactive TUI** - No command-line arguments needed for secrets
- **Masked Inputs** - Values are hidden during typing (asterisks), toggle visibility with 's' key
- **Secure Storage** - Secrets stored in `.env` file in current directory
- **Zod Validation** - Ensures proper .env format
- **No History Leakage** - Secrets never appear in shell history (`bash_history`, `ps aux`, etc.)

## Install

```bash
npm install --global @involvex/Ghost-Env
```

Or install from source:

```bash
bun install
bun run build
npm install --global .
```

## Usage

Run the interactive CLI:

```bash
Ghost-Env
```

Navigate the menu:

- Select **Secrets** to manage environment variables
- **Add Secret** - Enter key name and masked value
- **List Secrets** - View all stored keys (values hidden)
- **Delete Secret** - Remove a key with confirmation

### CLI Options

```bash
Ghost-Env --help # Show help
Ghost-Env --version # Show version
Ghost-Env --about # Show about
```

## Commands

| Command | Description |
| ---------- | ----------------------------- |
| `Secrets` | Enter secrets management menu |
| `Demo` | View component demos |
| `Help` | Show help information |
| `Settings` | Configure settings |
| `About` | About Ghost-Env |
| `Version` | Show version |

## Security

- Secrets are typed interactively in the TUI - never passed as CLI arguments
- Input is masked with asterisks by default, toggle with 's' key
- No data written to shell history
- File permissions should be set to `0600` on Unix systems:

```bash
chmod 600 .env
```

## Development

```bash
# Run in development with hot reload
bun run dev

# Run directly
bun run start

# Build for production
bun run build

# Run checks (format, lint, typecheck)
bun run prebuild
```

## Funding

Support this project:

- GitHub Sponsors: [@involvex](https://github.com/sponsors/involvex)
- Buy Me a Coffee: [buymeacoffee.com/involvex](https://buymeacoffee.com/involvex)
- PayPal: [paypal.me/involvex](https://paypal.me/involvex)

## License

MIT