Skip to content
Proyectos

yamcodes/arkenv has 151 GitHub stars and 6 forks. Star changes are not measured yet. Last checked 2026-11-13 21:45 UTC. Last push 2026-11-13.

Cómo se miden estas cifras

What you can do

  • Zero runtime dependencies
  • Works in Node.js and all modern browsers
  • Tiny: under 3 kB core bundle (gzipped)
  • Use your existing TypeScript validator

Crecimiento de estrellas medido

in 24h
Recopilando historial
in 7 days
Recopilando historial
in 15 days
Recopilando historial
in 1 month
Recopilando historial

Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.

Acerca de

⛯ Typesafe environment variables with ArkType, Zod, or Valibot.

Herramientas de desarrollo

README.md

Original

ArkEnv Logo

ArkEnv

Typesafe environment variables with ArkType, Zod, or Valibot.


Test Status ArkType Ecosystem Pullfrog License GitHub stars

Docs   •   𝕏   •   StackBlitz


ArkEnv v1 is in RC. Read the release notes and migration guide.



Read the docs →



What is ArkEnv?

Define your environment variables with a schema. ArkEnv gives you a strongly typed, validated env object you can use everywhere.

ArkType
import arkenv from "@arkenv/core";

export const env = arkenv({
  DATABASE_URL: "string.url",
  PORT: "0 <= number.integer <= 65535 = 3000",
  CI: "boolean = false",
});
Zod
import arkenv from "@arkenv/standard";
import * as z from "zod";

export const env = arkenv({
  DATABASE_URL: z.url(),
  PORT: z.int().min(0).max(65535).default(3000),
  CI: z.boolean().default(false),
});
Valibot
import arkenv from "@arkenv/standard/valibot";
import * as v from "valibot";

export const env = arkenv({
  DATABASE_URL: v.pipe(v.string(), v.url()),
  PORT: v.optional(
    v.pipe(v.number(), v.integer(), v.minValue(0), v.maxValue(65535)),
    3000,
  ),
  CI: v.optional(v.boolean(), false),
});

ArkEnv Instead of
Your existing TypeScript validator A custom .env.schema DSL
arkenv({ ... }) A hand-rolled wrapper around Zod
One typed env object Casting process.env

Features

  • Zero runtime dependencies
  • Works in Node.js and all modern browsers
  • Tiny: under 3 kB core bundle (gzipped)
  • Use your existing TypeScript validator
  • No boilerplate
  • Automatic coercion
  • Fail-fast startup errors with redacted values
  • One env object: Next.js, Nuxt, Vite, TanStack Start, SolidStart, and Bun

Getting started

npx arkenv init

The CLI walks you through setup for an existing project, or starts a new one from an example.


Supporting ArkEnv

If you love ArkEnv, you can support the project by starring it on GitHub!

You are also welcome to contribute to the project and join the wonderful people who have contributed:

Yam C Borodetsky
Yam C Borodetsky

💻 💬 🤔 🎨 📖 🐛 💡 🚇 🔌 🔧 ⚠️
Aruay Berdikulova
Aruay Berdikulova

💻 🤔
David Blass
David Blass

🤔 🧑‍🏫 💬
Andrei Danciu
Andrei Danciu

🔌 💻
Joakim Carlstein
Joakim Carlstein

💻 🔌 📖
RoomWithOutRoof
RoomWithOutRoof

📖 🔧
Abhimanyu Tiwari
Abhimanyu Tiwari

💻 📖 💡 ⚠️ 🔧

We acknowledge the various projects and people that inspired ArkEnv.

Explorar proyectos relacionados