Your library needs DATABASE_URL. Another needs JWT_SECRET. Instead of documenting requirements in a README that goes stale, ship them as CtroEnv schemas.
Publishing a Schema from Your Library
defineSchema() is an identity function at runtime — it returns the same object you pass in. At the type level, it preserves exact validator types for composition.
// @myapp/database/src/env.ts
import { defineSchema, string, number, pick } from "@ctroenv/core"






