# svelixir v0.11.0 - Table of Contents

> Scaffolder for Elixir/Phoenix projects with a Svelte 5 UI layer.

## Pages

- [Svelixir](readme.md)

## Modules

- [SimpleEnum](SimpleEnum.md): 
- [Svelixir.Baseline](Svelixir.Baseline.md): Provenance and drift checking for the checked-in generator baselines.
- [Svelixir.Config](Svelixir.Config.md): The whole scaffolder config for one project, as a struct — one child struct
per section of the templates in `priv/templates`.
- [Svelixir.Config.Assets](Svelixir.Config.Assets.md): Which asset surfaces are generated — the `assets:` section.
- [Svelixir.Config.Assets.Api](Svelixir.Config.Assets.Api.md): API surface detail — the `assets.api:` block.
- [Svelixir.Config.Assets.Ui](Svelixir.Config.Assets.Ui.md): UI surface detail — the `assets.ui:` block.
- [Svelixir.Config.Auth](Svelixir.Config.Auth.md): Authentication surfaces — the `auth:` section.
- [Svelixir.Config.Cache](Svelixir.Config.Cache.md): Caching backend and client mode — the `cache:` section.
- [Svelixir.Config.Container](Svelixir.Config.Container.md): Container tooling — the `container:` section. Type-independent: podman and
docker are valid for `:otp` and `:web` alike.
- [Svelixir.Config.Container.Sidecars](Svelixir.Config.Container.Sidecars.md): Sidecar containers to generate — the `container.sidecars:` block.
- [Svelixir.Config.Enums](Svelixir.Config.Enums.md): The closed domains the config sections draw their atom values from.
- [Svelixir.Config.Features](Svelixir.Config.Features.md): Optional capability toggles — the `features:` section.
- [Svelixir.Config.Otp](Svelixir.Config.Otp.md): The `:otp` project preset — `priv/templates/base_otp_app.exs` as code.
- [Svelixir.Config.Project](Svelixir.Config.Project.md): Identity of the project being scaffolded — the `project:` section.
- [Svelixir.Config.Section](Svelixir.Config.Section.md): Shared behaviour for the sections of `Svelixir.Config.Otp`.
- [Svelixir.Config.Security](Svelixir.Config.Security.md): Encryption and secret sourcing — the `security:` section. Type-independent:
it applies to `:otp` and `:web` alike.
- [Svelixir.Config.Supervision](Svelixir.Config.Supervision.md): Supervision tree and repo ownership — the `otp:` section.
- [Svelixir.Config.Web](Svelixir.Config.Web.md): The `:web` project preset — `priv/templates/base_web_app.exs` as code.
- [Svelixir.Exs](Svelixir.Exs.md): Codec for the plain-data `.exs` files Svelixir owns — `svelixir.exs` and
`fireside.exs`.
- [Svelixir.Hash](Svelixir.Hash.md): Content hashing for manifest file entries.
- [Svelixir.Manifest](Svelixir.Manifest.md): Reads and writes `fireside.exs` — the generated lock file (SDD 8.2).
- [Svelixir.Manifest.Component](Svelixir.Manifest.Component.md): One component's entry in `fireside.exs` (SDD 8.2): what it is, which version
of it was applied, where that version came from, when it was applied, and
every file it owns or contributes to.
- [Svelixir.Manifest.FileEntry](Svelixir.Manifest.FileEntry.md): One file a component owns or contributes to (SDD 7.3).
- [Svelixir.Target](Svelixir.Target.md): A validated, absolute path to the project Svelixir is acting on.
- [TypedStruct](TypedStruct.md): 
- [TypedStruct.Plugin](TypedStruct.Plugin.md): This module defines the plugin interface for TypedStruct.
- [Vex](Vex.md): Data Validation for Elixir.

- [Vex.Blank](Vex.Blank.md)
- [Vex.ErrorRenderer](Vex.ErrorRenderer.md): Implementation of this behaviour should be set in validator options as `:error_renderer`
or in `:vex` application config with same key.
- [Vex.Extract](Vex.Extract.md)
- [Vex.Validator](Vex.Validator.md): Common validator behavior.

- [Vex.Validator.Source](Vex.Validator.Source.md)
- [Vex.Validators.Absence](Vex.Validators.Absence.md): Ensure a value is absent.
- [Vex.Validators.Acceptance](Vex.Validators.Acceptance.md): Ensure an attribute is set to a positive (or custom) value.
- [Vex.Validators.By](Vex.Validators.By.md): Ensure a value meets a custom criteria.
- [Vex.Validators.Confirmation](Vex.Validators.Confirmation.md): Ensure a value, if provided, is equivalent to a second value.
- [Vex.Validators.Exclusion](Vex.Validators.Exclusion.md): Ensure a value is not a member of a list of values.
- [Vex.Validators.Format](Vex.Validators.Format.md): Ensure a value matches a regular expression.
- [Vex.Validators.Inclusion](Vex.Validators.Inclusion.md): Ensure a value is a member of a list of values.
- [Vex.Validators.Length](Vex.Validators.Length.md): Ensure a value's length meets a constraint.
- [Vex.Validators.Number](Vex.Validators.Number.md): Ensure a value is a number.
- [Vex.Validators.Presence](Vex.Validators.Presence.md): Ensure a value is present.
- [Vex.Validators.Uuid](Vex.Validators.Uuid.md): Ensure a value is a valid UUID string.

- Exceptions
  - [Svelixir.Config.InvalidError](Svelixir.Config.InvalidError.md): Raised when a config section is given a key it does not declare, a value
outside that key's domain, or a combination the canonical rules forbid.

  - [Svelixir.Exs.DecodeError](Svelixir.Exs.DecodeError.md): Raised when an .exs file is not the plain data Svelixir expects.
  - [Svelixir.Exs.EncodeError](Svelixir.Exs.EncodeError.md): Raised when a term cannot be written as re-readable .exs source.
  - [Svelixir.Manifest.InvalidError](Svelixir.Manifest.InvalidError.md): Raised when `fireside.exs` is plain data of the wrong shape — a missing or
unknown key, an unsupported `schema_version`, or a field whose value is
outside its domain.

  - [Svelixir.Target.EscapeError](Svelixir.Target.EscapeError.md): Raised when a project-relative path would escape the target root.
  - [Svelixir.Target.InvalidRootError](Svelixir.Target.InvalidRootError.md): Raised when a path is not a usable project root.
  - [Vex.InvalidValidatorError](Vex.InvalidValidatorError.md)

