# dsl v0.1.2 - Table of Contents

> Composable building blocks for Elixir-native DSLs.

## Pages

- [DSL](readme.md)
- [Changelog](changelog.md)

- Guides
  - [SKILL](skill.md)

## Modules

- [DSL](DSL.md): Composable building blocks for Elixir-native DSLs.
- [DSL.Attach](DSL.Attach.md): Attachment resolution and update strategies for DSL accepting scopes.
- [DSL.Literal](DSL.Literal.md): Compile-time literal evaluation helpers for DSL macro builders.
- [DSL.Macros](DSL.Macros.md): Helpers for defining public macro wrappers around DSL scope modules.
- [DSL.Option](DSL.Option.md): A field declared in a DSL option schema.
- [DSL.Options](DSL.Options.md): Ecto-style option schema validation for DSL declarations.
- [DSL.Options.Builder](DSL.Options.Builder.md): Builds DSL option schema structs from `options do ... end` declarations.
- [DSL.Scope](DSL.Scope.md): A single active DSL scope with state and source location metadata.
- [DSL.Scope.Builder](DSL.Scope.Builder.md): Builds DSL scope metadata and generated helper definitions.
- [DSL.Source](DSL.Source.md): Source location metadata for DSL diagnostics.
- [DSL.Stack](DSL.Stack.md): Process-local stack storage for nested DSL scopes.
- [DSL.Types.Atom](DSL.Types.Atom.md): Ecto changeset type for DSL option values that must already be atoms.

