Packages
Multi-surface application runtime for Elixir. One TEA module renders to terminal, browser (LiveView), SSH, and MCP (agents). 30+ widgets, flexbox + CSS grid, AI agent runtime, distributed swarm with CRDTs, time-travel debugging, session recording, sandboxed REPL, and agentic commerce.
Current section
Files
Jump to
Current section
Files
lib/raxol/plugin.ex
defmodule Raxol.Plugin do
@moduledoc """
Defines the behavior for Raxol plugins.
Plugins can extend the terminal's functionality by implementing this behavior.
"""
@callback commands() :: list({String.t(), function(), map()})
@callback init(map()) :: {:ok, map()} | {:error, term()}
@callback handle_event(term(), map()) :: {:ok, map()} | {:error, term()}
@callback cleanup(map()) :: :ok | {:error, term()}
end