Labsco
Labsco/Repos/neon-solutions/better-env
REPO PACKAGE

neon-solutions better-env

OFFICIAL
neon-solutions · publisher27 repository starsApache-2.0github.com/neon-solutions/better-env
1skill
0ready to use

The toolkit has two halves: config-schema, which defines typed, validated config objects (server() for server-only values, pub() for public ones) that a project reads at runtime instead of raw process.env lookups; and a CLI — init, pull, validate, add/upsert/update/delete, load, environments list — that keeps those values synced against Vercel, Netlify, Railway, Cloudflare (via Wrangler), Fly.io, or Convex. Each provider adapter maps better-env's own development/preview/production/test/local environment names onto that provider's own environments or secret store.

This is for a project (or its coding agent) already deployed to one of those six providers, since the sync half does nothing without that provider's own CLI installed and authenticated on your machine — vercel, netlify, railway, wrangler, fly, or convex. Typed validation through config-schema and better-env validate works on its own without any of that. The one skill our catalog lists teaches a coding agent this config.ts convention and the CLI commands built around it.

READ THE FULL ANALYSIS

A name mismatch worth checking before you install. The README's own instructions read npx skills add neondatabase/better-env, naming the GitHub owner as neondatabase; the repository this page and our catalog track is neon-solutions/better-env. We have not resolved which is canonical or whether one is a fork of the other — confirm you are pointing at the repository you intend before installing by owner name.

Two of the six adapters can push but not read back. The README says so itself: better-env pull is not supported for Cloudflare (Wrangler cannot read back secret values) or for Fly (fly secrets list does not expose them either), and its recommended workaround for both is the same — keep local dotenv files as the source of truth and push changes with better-env load rather than trying to pull.

27Stars on the GitHub repository, at last check.