Summary
Narrow arkenv check to its core mandate: validating runtime environment variables (process.env + overlays) against the declared TypeScript schema.
Remove internal .env AST formatting and syntax lint checks from packages/arkenv/src/features/check. File-level formatting, unquoted space detection, and syntax linting belong in dedicated ecosystem tools (e.g. dotenv-linter).
This supersedes ADR 0017 and aligns with the archived arkenv lint RFC in Discussion #1710.
Proposed Changes
- Simplify Dotenv Loading in
features/check:
- Strip custom AST coordinate tracking and formatting/syntax lint diagnostics.
- Use standard key-value dotenv parsing solely to populate values for schema validation.
- Lock
arkenv check Mandate:
arkenv check reports errors only when runtime values fail schema validation or required keys are missing.
- Update ADR 0017:
- Mark
docs/adr/0017-dotenv-linter-custom-parser-strategy.md as Superseded / Rejected in favor of focused runtime validation.
- Changeset:
- Add a changeset for
arkenv.
Acceptance Criteria
Out of Scope
Summary
Narrow
arkenv checkto its core mandate: validating runtime environment variables (process.env+ overlays) against the declared TypeScript schema.Remove internal
.envAST formatting and syntax lint checks frompackages/arkenv/src/features/check. File-level formatting, unquoted space detection, and syntax linting belong in dedicated ecosystem tools (e.g.dotenv-linter).This supersedes ADR 0017 and aligns with the archived
arkenv lintRFC in Discussion #1710.Proposed Changes
features/check:arkenv checkMandate:arkenv checkreports errors only when runtime values fail schema validation or required keys are missing.docs/adr/0017-dotenv-linter-custom-parser-strategy.mdas Superseded / Rejected in favor of focused runtime validation.arkenv.Acceptance Criteria
arkenv checkruns schema validation on resolved environment variables without running custom AST formatting checks.arkenv checktests pass (pnpm test).arkenv.Out of Scope
--env-fileoverlay support fromarkenv check.arkenv lint(archived to Discussion RFC: (Dev-time .env file linter) #1710).