Minimal BEAM-native coding-agent substrate.

Vibe intentionally keeps the model-facing surface small:

Rich capabilities are exposed as normal Elixir modules callable from Vibe.Eval: Vibe.OTP, Vibe.Profiler, Vibe.Skill, Vibe.Subagents, Vibe.Context, and Vibe.SelfPatch.

Summary

Types

agent_ref()

@type agent_ref() :: pid() | atom() | {:via, module(), term()}

Functions

ask(agent, prompt, opts \\ [])

@spec ask(agent_ref(), String.t(), keyword()) :: {:ok, term()} | {:error, term()}

ask!(agent, prompt, opts \\ [])

@spec ask!(agent_ref(), String.t(), keyword()) :: term()

start_link(opts \\ [])

@spec start_link(keyword()) :: GenServer.on_start()

supervision_tree(opts \\ [])

@spec supervision_tree(keyword()) :: map() | nil