effect-config

Decode and validate configuration values into typed Effect data structures.

22|1|Updated Apr 14, 2026
One-click install
npx skills add https://github.com/mpsuesser/pi-effect-harness --skill effect-config
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: effect-config
Source: https://github.com/mpsuesser/pi-effect-harness/tree/main/harnesses/effect/skills/effect-config
Command: npx skills add https://github.com/mpsuesser/pi-effect-harness --skill effect-config

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents brittle, unsafe configuration code by decoding and validating environment and file-based settings into strongly typed values.

Core Features & Use Cases

  • Typed configuration primitives: Decode strings into numbers, booleans, URLs, dates, durations, log levels, and redacted secrets with validation.
  • Schema-driven structured configs: Build nested, composable configuration shapes using Config.schema with Schema.Struct for predictable validation.
  • ConfigProvider source flexibility: Load config from environment variables, plain objects, .env contents/files, directory trees, or fully custom sources with provider composition and testing-friendly parsing.

Quick Start

Use the effect-config skill to define a Config.schema for your app settings and parse it from a test provider built from in-memory values instead of reading process.env directly.

Frequently Asked Questions about effect-config

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I load typed configuration in Effect without reading process.env directly?

Use Config and ConfigProvider primitives to decode and validate configuration values into typed Effect data structures. This enforces ConfigError behavior and provider-based parsing, replacing unsafe direct environment variable reads with validated typed config.

How do I validate environment variables as numbers, booleans, or durations in Effect?

Typed configuration primitives decode strings into numbers, booleans, URLs, dates, durations, log levels, and redacted secrets with validation. This prevents brittle configuration code by enforcing schema validation before application use.

Can I use Schema.Struct to build nested configuration shapes in Effect?

Yes, Config.schema with Schema.Struct builds nested, composable configuration shapes for predictable validation. This schema-driven approach decodes structured config from environment variables or objects into typed Effect data structures.

Does effect-config support loading settings from .env files or custom JSON objects?

ConfigProvider source flexibility allows loading config from environment variables, plain objects, .env contents, directory trees, or fully custom sources. Provider composition enables testing-friendly parsing from in-memory values instead of process.env.

What is the best way to test configuration parsing in Effect without setting environment variables?

Parse configuration from a test provider built from in-memory values instead of reading process.env directly. ConfigProvider composition allows injecting mock data sources to enforce ConfigError behavior during test setups.

Why should I avoid direct process.env reads when handling configuration in Effect?

Direct process.env reads create brittle, unsafe configuration code. Decoding and validating environment and file-based settings into strongly typed values using ConfigProvider enforces ConfigError behavior and provider-based parsing for reliable application startup.