Skip to content
Projets

yamcodes/arkenv has 151 GitHub stars and 6 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-14 21:39 UTC. Last push 2026-11-13.

Comment ces chiffres sont mesurés

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

Progression mesurée des étoiles

in 24h
0
in 7 days
Historique en cours
in 15 days
Historique en cours
in 1 month
Historique en cours

Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.

À propos

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

Outils de développement

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.