# confval > A batteries-included configuration toolkit for Rust This file contains links to documentation sections following the llmstxt.org standard. ## Docs - [Agent Skills](https://ethanhann.com/confval/docs/agent-skills): Setting up a confval pipeline is mechanical and specific to your domain model. - [Contributing](https://ethanhann.com/confval/docs/contributing): Various just recipes are available, but these are the most useful: - [Examples](https://ethanhann.com/confval/docs/examples): Fifteen runnable examples ship in the repository: fourteen in `crates/confval/examples/` and a runnable language server in `crates/confval-lsp/exam... - [Getting Started](https://ethanhann.com/confval/docs/getting-started): confval is a Rust crate for parsing, validating, and lowering configuration files. - [Diagnostics](https://ethanhann.com/confval/docs/guide/diagnostics): When parsing or validation finds a problem, it does not throw. - [Editor Support](https://ethanhann.com/confval/docs/guide/editor-support): confval rejects an unknown or invalid field when your program starts, so a mistake in a handwritten configuration stops the program instead of pass... - [Format Limitations](https://ethanhann.com/confval/docs/guide/format-limitations): Sometimes you parse a configuration in one format and emit it in another, or you generate a template and wonder whether the write can fail. - [Language Server](https://ethanhann.com/confval/docs/guide/language-server): `confval-lsp` is a language server. - [Layering](https://ethanhann.com/confval/docs/guide/layering): When an application reads its configuration, the values may come from more than one place. - [Lowering](https://ethanhann.com/confval/docs/guide/lowering): Once a spec is validated, lowering converts it into a config type. - [Parsing](https://ethanhann.com/confval/docs/guide/parsing): Parsing turns a configuration file into a spec type. - [Representations](https://ethanhann.com/confval/docs/guide/representations): Sometimes you need to see what your service loaded, which may differ from the file on disk. - [Schema IR](https://ethanhann.com/confval/docs/guide/schema-ir): Sometimes you need the type of a spec rather than a value of it. - [Templates](https://ethanhann.com/confval/docs/guide/templates): A spec type already encodes the whole configuration surface. - [Validation](https://ethanhann.com/confval/docs/guide/validation): [Parsing](./parsing.md), which precedes validation, ensures the spec is structurally correct. - [The Pipeline Contract](https://ethanhann.com/confval/docs/pipeline): confval sends one configuration file through a fixed sequence of stages: **parse**, **validate**, **gate**, and **lower**. ## Releases - [confval v0.4.0](https://ethanhann.com/confval/releases/v0.4.0): First release on unified workspace versioning. - [confval v0.5.0](https://ethanhann.com/confval/releases/v0.5.0): Enforce nested spec validation traversal. - [confval v0.6.0](https://ethanhann.com/confval/releases/v0.6.0): Template generation, multi-source configuration layering, a keyword_enum! macro, and deriving Default from attribute defaults. - [confval v0.7.0](https://ethanhann.com/confval/releases/v0.7.0): A KDL frontend, three configuration representations, and commented-out entries in generated templates. - [confval v0.7.1](https://ethanhann.com/confval/releases/v0.7.1): Minor cosmetic change for range constraint help text - [confval v0.8.0](https://ethanhann.com/confval/releases/v0.8.0): JSON and YAML frontends, a language server, block labels and references, agent skills, and a map field in the derive.