Skip to content

PaulSenon/better-age

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

better-age

better-age: share .env files without sharing plaintext

npm cli npm varlock license docs

better-age is a simple cli for local-first workflow for encrypted .env files sharing.

It keeps the team habit simple: one env file, few teammate, one local command. The file you pass around is age-encrypted ciphertext, and access changes are explicit payload rewrites.

Quickstart

Install the CLI globally:

npm install -g @better-age/cli

Create and edit one encrypted payload:

bage setup --name Alice
bage create .env.enc
bage edit .env.enc
bage view .env.enc

Share with Bob:

bage identity import 'better-age://identity/v1/...' --alias bob
bage grant .env.enc bob

Load for machines:

bage load .env.enc --protocol-version=1

Or use the varlock plugin:

# .env.schema

# @plugin(@better-age/varlock)
# @initBetterAge(path=.env.enc)
# @setValuesBulk(betterAgeLoad(), format=env)
varlock run -- npm run dev

Full docs:

What It Is

  • age is the cryptographic primitive.
  • better-age is the local UX layer around env payloads, identities, grants, revokes, and machine loading.
  • Payloads are visible caller-owned files, not hidden cloud state.
  • Humans use bage view; machines use bage load --protocol-version=1.
  • Scope stays narrow: env-file workflow, not general-purpose secret management.

Packages

Path Package Job
packages/cli @better-age/cli Release-facing bage CLI. Owns terminal UX, command flows, prompts, editor/viewer adapters, and stdout/stderr policy.
packages/core @better-age/core Internal core library for artifact codecs, identity lifecycle, payload lifecycle, migrations, crypto ports, and typed outcomes.
packages/varlock @better-age/varlock Thin Varlock plugin. Shells out to bage load --protocol-version=1 <path> and preserves the stdio contract.
packages/cli-legacy private Old proof-of-concept reference. Not a release target.

Monorepo Map

Repo Setup

Requirements:

  • Node.js
  • pnpm

Install workspace dependencies:

pnpm install

Useful checks:

pnpm check
pnpm test

Per package:

pnpm -F @better-age/cli check
pnpm -F @better-age/core test
pnpm -F @better-age/varlock check

Contributing Index

Start here:

Docs split:

  • root README: project pitch, quickstart, package index, contribution index
  • package README: package contract, install/build shape, package-specific usage
  • website docs: user-facing tutorials and reference

About

A convenience UX cli layer on top of age encryption for varlock

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages