better-env

โดย neondatabase

การจัดการตัวแปรสภาพแวดล้อมที่ดีขึ้นสำหรับเอเจนต์และมนุษย์ ด้วยความปลอดภัยของประเภทข้อมูลที่สมบูรณ์ การซิงโครไนซ์สภาพแวดล้อมระยะไกลผ่าน CLI และการตรวจสอบความถูกต้องของสภาพแวดล้อม…

npx skills add https://github.com/neondatabase/better-env --skill better-env

Work With better-env In A Repo

Type-safe environment config modules

Follow this best practice to manage environment variables in TypeScript applications with full type safety and clear server/public boundaries.

better-env exports configSchema to define typed env modules and recommends placing them in feature-level config.ts files (for example src/lib/auth/config.ts and src/lib/database/config.ts).

Learn more:

  • references/config-schema.md

Validate existence of all env variables in the current environment

Run env validation early so missing or invalid values fail fast before dev, build, or deploy steps.

better-env validate --environment <name> loads .env* files with Next.js semantics, discovers src/lib/*/config.ts modules, and checks every declared variable from your configSchema modules.

If your dotenv files intentionally include keys that are not referenced by config modules, add per-env suppressions in better-env.ts:

environments.<env>.ignoreUnused: string[]

These suppress only the selected local environment during validate. Adapter defaults are merged in automatically; for Vercel, VERCEL_OIDC_TOKEN is ignored by default in development, preview, and production.

Learn more:

  • references/env-validation.md

Configure runtime syncing between local files and hosted providers

Use runtime configuration to keep local dotenv targets aligned with provider environments while preserving safe defaults.

Create better-env.ts with defineBetterEnv(...) and an adapter (vercelAdapter, netlifyAdapter, railwayAdapter, cloudflareAdapter, flyAdapter, or convexAdapter).

For a standard Vercel setup, prefer the minimal config:

export default defineBetterEnv({ adapter: vercelAdapter() });

Do not add an environments block when it only duplicates adapter defaults. Add environments only when you intentionally need custom mappings, custom env files, or per-environment ignoreUnused behavior.

Learn more:

  • references/config.md
  • references/runtime.md

Use the CLI for day-to-day environment operations

The CLI gives a consistent workflow for initialization, sync, validation, and remote variable management, which is great for local development and CI automation.

Choose the command runner to match the repo:

  • Use npx in npm/pnpm-based repos (for example lockfiles like package-lock.json or pnpm-lock.yaml and scripts run via npm/pnpm).
  • Use bunx in Bun-based repos (for example bun.lock and scripts run via bun).
  • Keep commands aligned with the project's existing package manager/runtime conventions; do not mix runners unless the repo already does.

Recommended flow in a repo:

  1. Run better-env init once to verify adapter prerequisites.
  2. Run better-env pull --environment <name> to sync local env files.
  3. Run better-env validate --environment <name> before app startup/build.
  4. Use add, upsert, update, delete, and load for remote env changes.

Choose command behavior intentionally:

  • upsert for idempotent automation and scripts
  • add when duplicate keys should fail
  • update when missing keys should fail
  • delete to remove remote keys
  • load for batch updates from dotenv files

Learn more:

  • references/cli.md
  • references/vercel-adapter.md

Skills เพิ่มเติมจาก neondatabase

claimable-postgres
neondatabase
ฐานข้อมูล Postgres แบบทันทีสำหรับการพัฒนาในเครื่อง การสาธิต การสร้างต้นแบบ และสภาพแวดล้อมการทดสอบ ไม่ต้องมีบัญชี ฐานข้อมูลจะหมดอายุหลังจาก 72 ชั่วโมง เว้นแต่จะถูกอ้างสิทธิ์ไปยังบัญชี Neon
neon
neondatabase
ภาพรวมของแพลตฟอร์ม Neon สำหรับแอปและเอเจนต์ ครอบคลุม Postgres, Auth, Data API และบริการใหม่: Object Storage, Compute Functions และ AI Gateway ใช้เมื่อมีการกล่าวถึง "Neon" เพื่อดูภาพรวมการทำงานกับ Neon และวิธีการเริ่มต้น มิฉะนั้น ความสามารถเฉพาะตัวจะเป็นตัวกระตุ้น: "object storage" หรือ "S3-compatible storage", "serverless functions", "background jobs" หรือ "run code near my database", "AI gateway", "LLM proxy", "model routing" หรือ "call an LLM" →...
apidatabasedevelopment
plugin-manager
neondatabase
จัดการโครงสร้างปลั๊กอินและการกำหนดค่าสำหรับพื้นที่เก็บข้อมูลนี้ทั้งใน Cursor และ Claude Code ใช้เมื่อสร้าง อัปเดต หรือตรวจสอบโฟลเดอร์ปลั๊กอิน…
skill-creator
neondatabase
คู่มือสำหรับการสร้างสกิลที่มีประสิทธิภาพ สกิลนี้ควรใช้เมื่อผู้ใช้ต้องการสร้างสกิลใหม่ (หรืออัปเดตสกิลที่มีอยู่) ที่ขยายความสามารถของ Claude...
using-neon
neondatabase
คู่มือและแนวทางปฏิบัติที่ดีที่สุดสำหรับการทำงานกับ Neon Serverless Postgres ครอบคลุมการเริ่มต้นใช้งาน การพัฒนาท้องถิ่นกับ Neon การเลือกวิธีการเชื่อมต่อ Neon…
neon-js-react
neondatabase
ตั้งค่า Neon SDK แบบสมบูรณ์พร้อมการตรวจสอบสิทธิ์และการค้นหาฐานข้อมูลในแอป React (Vite, CRA) สร้างไคลเอนต์แบบมีชนิด สร้างชนิดข้อมูลฐานข้อมูล และกำหนดค่า…
postgres-best-practices
neondatabase
แนวทางปฏิบัติและข้อแนะนำที่ดีที่สุดสำหรับการทำงานกับ Postgres ครอบคลุมการออกแบบ schema, กลยุทธ์การสร้าง index, การปรับแต่ง query, การทำ migration, และข้อผิดพลาดที่พบบ่อย ใช้…
neon-postgres-egress-optimizer
neondatabase
แนะนำผู้ใช้ในการวินิจฉัยและแก้ไขรูปแบบการค้นหาข้อมูลฝั่งแอปพลิเคชันที่ทำให้เกิดการถ่ายโอนข้อมูลมากเกินไป (egress) จากฐานข้อมูล Postgres ของพวกเขา ค่าใช้จ่าย egress ที่สูงส่วนใหญ่มาจากแอปพลิเคชันที่ดึงข้อมูลมากกว่าที่ใช้งานจริง