Initial environment package #1
closed
@chrismichaelps wrote on 2026-10-07
Ship the first release of @chrismichaelps/pudu-lang-environment: environment files for Pudu that keep a program's secrets out of version control and out of every message the package produces.
Scope:
- The
.envformat: comments, quoted and multi-line values, escaped quotes, inline comments, export syntax, trimming, and expansion with${NAME:-default}and${NAME-default}. - Given files, upward probing, and a layered environment cascade (
.env,.env.local,.env.<name>,.env.<name>.local) with safe environment names. - Strict and lenient loading, overwrite rules, UTF-8, Latin-1, and UTF-16 sources, and text or byte sources.
- A settled view over the process environment with typed reads, secrets, required keys, and hand-off to child processes.
- Settings records bound by derivation and checked with
@chrismichaelps/pudu-lang-validator.
Acceptance:
- Every public module has a suite covering success, failure, edge, and redaction paths.
pudu check,pudu fmt --check,pudu lint, andpudu testare clean on Pudu 0.1.3.- Mutation testing of the pure layer kills every valid mutant.
- Runnable examples, README, API documentation in the GitHub Wiki, and a vault page per source file.
Read and reply on GitHub ↗1 comment continue on GitHub.
