settei: Typed, layered, explainable configuration

[ bsd3, configuration, library ] [ Propose Tags ] [ Report a vulnerability ]

Settei provides an inspectable declaration language for typed configuration. This core package owns resolution, provenance, defaults, schemas, and reporting; sibling packages provide maintained source adapters.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.2.0.0, 0.3.0.0
Change log CHANGELOG.md
Dependencies base (>=4.21 && <5), containers (>=0.6.8 && <0.8), generic-lens (>=2.2 && <2.4), lens (>=5.3 && <5.4), selective (>=0.7 && <0.8), text (>=2.1 && <2.2) [details]
Tested with ghc ==9.12.4
License BSD-3-Clause
Author shinzui
Maintainer shinzui
Uploaded by shinzui at 2026-10-21T20:39:14Z
Category Configuration
Home page https://github.com/shinzui/settei
Bug tracker https://github.com/shinzui/settei/issues
Source repo head: git clone https://github.com/shinzui/settei.git
Distributions
Reverse Dependencies 10 direct, 1 indirect [details]
Downloads 37 total (15 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for settei-0.3.0.0

[back to package description]

settei

settei is the core package in the Settei family of typed, layered, explainable configuration libraries for Haskell. It owns the inspectable declaration language, hierarchical resolution semantics, provenance model, derived defaults, and secret-safe text and JSON reports. It also exports source-free deployment contracts (Settei.Contract) and pure post-resolution application validation (Settei.Validate). Both were added in the shared 0.3.0.0 release.

Use deploymentContract to inspect input bindings, safe defaults, and explicit profile requirements. Use validators to check rule declarations once, then validate to retain provenance and accumulate structured invariant failures after resolution. Validators receive real typed secrets: keep rule metadata and optional details safe to publish. The original resolve API is unchanged.

Import Settei for the supported public entry point. Format and integration adapters are published as separate settei-* packages so applications only depend on the parsers and boundaries they use.

The package family, guides, architecture records, and implementation plans live in the Settei repository.