Skip to content

prudentbird/beakcrypt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

226 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Beakcrypt

Beakcrypt

The open-source standard for managing and sharing environment variables securely across your entire development workflow.

🌐 beakcrypt.com Β Β·Β  πŸ› Report a Bug Β Β·Β  ✨ Request a Feature


TypeScript Next.js Convex Better Auth Turborepo pnpm

Stars Forks Issues License


Table of Contents


What is Beakcrypt?

Tired of pasting .env files into Slack? Sending secrets over email? Beakcrypt gives your team a shared, end-to-end encrypted vault for environment variables β€” managed with a CLI that fits into the workflow you already use.

  • πŸ”’ End-to-end encrypted β€” secrets are encrypted on your machine before they ever leave it
  • 🀝 Team vaults β€” invite teammates and manage access per project
  • ⚑ CLI-first β€” push and pull .env files in seconds
  • 🌍 Fully open-source β€” audit every line, self-host if you want, contribute freely

Using Beakcrypt

πŸ“Ή Demo video coming soon.

# Log in with GitHub OAuth
$ beakcrypt login
βœ“ Logged in as jane@acme.com

# Link this directory to a project
$ beakcrypt link
βœ“ Linked to acme/api (development)

# Push your local secrets β€” encrypted before upload
$ beakcrypt push
β†’ Encrypting 12 variables...
βœ“ Synced to vault

# A teammate pulls the secrets on their machine
$ beakcrypt pull
β†’ Fetching from vault...
βœ“ Written to .env.local

# Inject secrets directly into any command
$ beakcrypt run -- npm run dev

No more .env files in Slack. No more "which version of the key is correct?". One vault. One source of truth.


Project Structure

This is a Turborepo monorepo managed with pnpm workspaces.

beakcrypt/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ web/              # Next.js app β€” beakcrypt.com
β”‚   └── docs/             # Documentation site (Fumadocs)
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ cli/              # CLI tool β€” published as `beakcrypt` on npm
β”‚   β”œβ”€β”€ convex/           # Convex backend β€” schema, auth, API
β”‚   β”œβ”€β”€ crypto/           # Shared E2EE primitives (RSA-4096, AES-256-GCM)
β”‚   β”œβ”€β”€ shared/           # Shared types and utilities
β”‚   β”œβ”€β”€ ui/               # Shared UI component library
β”‚   β”œβ”€β”€ transactional/    # Transactional email templates
β”‚   β”œβ”€β”€ eslint-config/    # Shared ESLint configuration
β”‚   └── typescript-config/ # Shared TypeScript configuration
β”œβ”€β”€ turbo.json
β”œβ”€β”€ pnpm-workspace.yaml
└── tsconfig.json

Getting Started

Prerequisites

Tool Version Install
Node.js v18 or later nodejs.org
pnpm v10 or later corepack enable && corepack prepare pnpm@latest --activate
Git latest git-scm.com

Note: pnpm is the only tool you need globally. Convex CLI is run via npx (no global install needed). If you already have pnpm installed via npm i -g pnpm, that works too.

Verify your setup:

node --version    # v18+
pnpm --version    # v10+
git --version

Just want to run it locally? Clone directly. Want to contribute back? Fork first, then clone your fork β€” see Contributing.

1. Clone the repository

git clone https://github.com/prudentbird/beakcrypt.git
cd beakcrypt
git checkout dev

2. Install dependencies

pnpm install

3. Set up environment variables

cp apps/web/.env.example apps/web/.env.local

Open apps/web/.env.local and fill in the required values. Every variable is documented inside the file. The two services you must configure:

Convex β€” run npx convex dev from the repo root. It will walk you through creating a free deployment and automatically print your CONVEX_DEPLOYMENT, CONVEX_URL, and CONVEX_SITE_URL values.

GitHub OAuth β€” create a free OAuth App at github.com/settings/developers:

  • Homepage URL: http://localhost:3000
  • Callback URL: http://localhost:3000/api/auth/callback/github

Better Auth β€” generate a secret:

openssl rand -base64 32

4. Run in development

pnpm dev

The web app will be available at http://localhost:3000 and the docs at http://localhost:3000/docs.

Note: pnpm dev starts all apps using Turborepo with Vercel Microfrontends. If you only want to run the web app locally, use:

cd apps/web && npx next dev --port 3000 --turbopack

Tip: If you want to start the server before configuring Convex (e.g. to explore the codebase), set SKIP_ENV_VALIDATION=1:

SKIP_ENV_VALIDATION=1 pnpm dev

Other commands

pnpm build          # Build all apps and packages
pnpm lint           # Run ESLint across the monorepo
pnpm typecheck      # TypeScript type checking
pnpm format         # Format code with Prettier
pnpm dev:app        # Run only the web app + Convex backend

Contributing

Contributions are welcome β€” bug fixes, features, and docs all count. Please read CONTRIBUTING.md before opening a PR.

Quick contribution flow:

# 1. Fork the repo and clone your fork
git clone https://github.com/<your-username>/beakcrypt.git
cd beakcrypt
git remote add upstream https://github.com/prudentbird/beakcrypt.git

# 2. Create a feature branch off dev
git fetch upstream
git checkout -b feat/your-feature upstream/dev

# 3. Make your changes, then push
git push origin feat/your-feature

# 4. Open a Pull Request against the dev branch

Ready to jump in?


License

Distributed under the MIT License β€” see LICENSE for details.


If you find Beakcrypt useful, please consider giving it a ⭐

Made with ❀️ by prudentbird and contributors

About

Open-source secrets and environment variable management for teams

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors