open-index/open-npm huggingface dataset:
npm package: @nasimstg/xenvsync
Description: Encrypt, commit, and inject .env secrets with AES-256-GCM. No cloud required.
Author: Md Nasim Sheikh
Latest version: 1.13.0

# xenvsync

Encrypt, commit, and inject `.env` secrets — no cloud required.

[![CI](https://github.com/nasimstg/xenvsync/actions/workflows/ci.yml/badge.svg)](https://github.com/nasimstg/xenvsync/actions/workflows/ci.yml)
[![License](https://img.shields.io/github/license/nasimstg/xenvsync)](https://github.com/nasimstg/xenvsync/blob/main/LICENSE)

**xenvsync** encrypts your `.env` files into a `.env.vault` using **AES-256-GCM** so you can safely commit secrets to Git — while the decryption key never leaves your machine.

## Install

```bash
npm install -g @nasimstg/xenvsync
```

Or run without installing:

```bash
npx @nasimstg/xenvsync
```

The npm package automatically downloads the correct prebuilt binary for your platform (Linux, macOS, Windows — x64 and arm64).

## Quick Start

```bash
xenvsync init                    # generate key + update .gitignore
xenvsync push                    # encrypt .env → .env.vault
git add .env.vault && git commit # safe to commit

xenvsync pull                    # decrypt .env.vault → .env
xenvsync run -- npm start        # inject secrets into process (in-memory)
```

## Commands

| Command | Description |
|---------|-------------|
| `xenvsync init [--force]` | Generate a 256-bit key, add it to `.gitignore` |
| `xenvsync push` | Encrypt `.env` → `.env.vault` |
| `xenvsync pull` | Decrypt `.env.vault` → `.env` |
| `xenvsync run -- <cmd>` | Decrypt in-memory and inject into a child process |
| `xenvsync diff` | Preview changes between `.env` and the vault |
| `xenvsync status` | Show file presence, timestamps, and sync direction |
| `xenvsync envs` | List all discovered environments and sync status |
| `xenvsync export` | Decrypt vault and output as JSON, YAML, shell, tfvars, or dotenv |
| `xenvsync completion` | Generate shell completions (bash/zsh/fish/powershell) |

## Multi-Environment Support

```bash
xenvsync push --env staging     # .env.staging → .env.staging.vault
xenvsync pull --env production  # .env.production.vault → .env.production
xenvsync run --env staging -- npm start
xenvsync envs                   # list all discovered environments
```

Set `XENVSYNC_ENV` to avoid passing `--env` every time.

When pushing, variables are automatically merged from `.env.shared` (base) < `.env.<name>` (env) < `.env.local` (overrides). Use `--no-fallback` to disable.

## Why xenvsync?

- **No cloud required** — works 100% offline, key stays on your machine
- **Single binary** — zero runtime dependencies
- **In-memory injection** — `xenvsync run` never writes plaintext to disk
- **Standard crypto** — AES-256-GCM with fresh nonce per encryption
- **Git-friendly** — commit `.env.vault`, share the key out-of-band

## Alternative Install Methods

```bash
# Go
go install github.com/nasimstg/xenvsync@latest

# Prebuilt binary
# https://github.com/nasimstg/xenvsync/releases
```

## Documentation

Full documentation: [xenvsync.softexforge.io](https://xenvsync.softexforge.io)

## License

[MIT](https://github.com/nasimstg/xenvsync/blob/main/LICENSE)
npm package: @nasirbaloch/copy-lite
Description: This is a very light weighted copier. You can pass any thing, it will be simply copy to clipboard.
Author: Nasir Baloch
Latest version: 1.0.2

# copy-lite
This is a very light weighted copier. You can pass any thing, it will be simply copy to clipboard. 

# How to use?
Simply import like this. ```import copyMe from '@nasirbaloch/copy-me';```. Then place anything in this copyMe function. For example.
```js
import copyMe from '@nasirbaloch/copy-me';
   var1 = "This is var1 to copy"
   var2 = ["john doe", "robin", "alexa", "google"];
   var3 = [
              {
                "name": "john",
                "age" : 20
              },
              {
                "name": "robin",
                "age" : 30
              },
              {
                "name": "alexa",
                "age" : 05
              },
          ]
     etc....

//this could be any variable containing any. then simple pass var in function. like this.

	copyMe(anyVar); 
// it will copy that var containing value to your clipboard.
```

Thanks 😍 ```#avoidExtraLines```
npm package: @nasirbaloch/shuffler
Description: This is the package for any kind of array shuffle and after shuffle it will provide you an random item of that array.
Author: Nasir Baloch
Latest version: 1.1.3

# shuffler-package
This is the package for any kinds of array shuffler and get a random item of an array.

# How to use?
Simply import like this. ```import shuffle from '@nasirbaloch/shuffler';``` then place any kind of array in this. For example.
```js
   import shuffle from '@nasirbaloch/shuffler';


   array1 = [1, 2, 3, 4, 5]
   array2 = ["john doe", "robin", "alexa", "google"];
   array3 = [
              {
                "name": "john",
                "age" : 20
              },
              {
                "name": "robin",
                "age" : 30
              },
              {
                "name": "alexa",
                "age" : 05
              },
          ]
     etc....

//this could be any array. then simple pass array in function. like this.

	shuffle(definedArray); 
// it will return you the shuffled item, you can receive in any variable. And then simply console log that variable.
```

Thanks 😍