# `mix sagents.setup`

Generates all infrastructure needed for conversation-centric agents.

This single command generates everything you need to get started with Sagents:
database persistence, agent factory, and coordinator for managing agent lifecycles.

## Examples

    # Basic setup
    mix sagents.setup MyApp.Conversations \
      --scope MyApp.Accounts.Scope

    # With all options
    mix sagents.setup MyApp.Conversations \
      --scope MyApp.Accounts.Scope \
      --owner-type user \
      --owner-field user_id \
      --factory MyApp.Agents.Factory \
      --coordinator MyApp.Agents.Coordinator \
      --pubsub MyApp.PubSub \
      --presence MyAppWeb.Presence

## Generated files

  * **Persistence layer**: Context, schemas (Conversation, AgentState, DisplayMessage), migration
  * **Factory module**: Agent creation with model/middleware configuration
  * **Coordinator module**: Session management and agent lifecycle orchestration
  * **AgentPersistence module**: Behaviour implementation for agent state persistence
  * **DisplayMessagePersistence module**: Behaviour implementation for display message persistence

## Options

  * `--scope` - Application scope module (required)
  * `--owner-type` - Owner association type (default: user)
  * `--owner-field` - Owner FK field (default: user_id)
  * `--owner-module` - Owner schema module (inferred from type)
  * `--table-prefix` - Table name prefix (default: sagents_)
  * `--repo` - Repo module (inferred from app)
  * `--web` - Web module namespace (inferred from app)
  * `--factory` - Factory module name (default: MyApp.Agents.Factory)
  * `--coordinator` - Coordinator module name (default: MyApp.Agents.Coordinator)
  * `--pubsub` - PubSub module name (default: MyApp.PubSub)
  * `--presence` - Presence module name (default: MyAppWeb.Presence)

---

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