Skip to main content

lib/pixir.ex

defmodule Pixir do
  @moduledoc """
  Pixir — an OTP-native, terminal-first coding agent.

  Pixir is a local-first runtime built around a small spine:
  `Pixir.Session` -> `Pixir.Turn` -> `Pixir.Provider` -> `Pixir.Tools`.
  The append-only `Pixir.Log` is the source of truth, and front-ends observe
  canonical and ephemeral facts through `Pixir.Events`.

  The public architecture is intentionally split across focused modules:

  - `Pixir.Conversation` is the UI-agnostic multi-turn driver.
  - `Pixir.ACP` modules present the same runtime over ACP/JSON-RPC stdio.
  - `Pixir.Skills` loads progressive-disclosure instruction packages.
  - `Pixir.Subagents` supervises delegated child Sessions.
  - `Pixir.Workflows` runs deterministic dependency graphs over Subagents.
  - `Pixir.SessionTree` projects read-only Session/Subagent trees from Logs.
  - `Pixir.Compaction` records durable History checkpoints for bounded replay.

  See `CONTEXT.md` for vocabulary and `docs/adr/` for accepted architecture
  decisions.
  """

  @doc "Pixir version (mirrors `mix.exs`)."
  @spec version() :: String.t()
  def version, do: "0.1.4"
end