# `Jido.Character.Schema`
[🔗](https://github.com/agentjido/jido_character/blob/v1.0.0/lib/jido_character/schema.ex#L1)

Core Zoi schemas for character definitions.

Provides schema definitions for validating character data structures.
All fields except `id` are optional to support minimal character definitions.

Each component module provides:

- `schema/0` - Returns the Zoi schema for validation
- `new/1`, `new!/1` - Creates a validated struct with defaults applied
- Type specs for documentation and Dialyzer

## Nested Components

- `Jido.Character.Schema.Trait` - personality trait with optional intensity
- `Jido.Character.Schema.KnowledgeItem` - permanent facts the character knows
- `Jido.Character.Schema.MemoryEntry` - individual memory item with decay
- `Jido.Character.Schema.Memory` - memory container with capacity
- `Jido.Character.Schema.Identity` - who the character is
- `Jido.Character.Schema.Personality` - how the character behaves
- `Jido.Character.Schema.Voice` - how the character communicates

# `character`

Complete character schema

# `identity`

Identity schema - who the character is

# `knowledge_item`

Knowledge item schema - permanent facts the character knows

# `memory`

Memory schema - what the character remembers

# `memory_entry`

Memory entry schema - individual memory item

# `personality`

Personality schema - how the character behaves

# `trait`

Trait schema - either a simple string or a Trait struct with name and intensity

# `trait_struct`

Trait struct schema

# `voice`

Voice schema - how the character communicates

---

*Consult [api-reference.md](api-reference.md) for complete listing*
