# AmpSdk v0.4.0 - Table of Contents An Elixir SDK for the Amp CLI — programmatic access to Amp's AI coding agent ## Pages - Getting Started - [README](readme.md) - [Getting Started](getting-started.md) - Guides - [Configuration](configuration.md) - [Streaming](streaming.md) - [Permissions](permissions.md) - [Threads](threads.md) - [Tools & Management](tools-and-management.md) - Testing & Errors - [Error Handling](error-handling.md) - [Testing](testing.md) - Examples - [Examples](examples.md) - Release Notes - [Changelog](changelog.md) - [LICENSE](license.md) ## Modules - [AmpSdk.CLI.CommandSpec](AmpSdk.CLI.CommandSpec.md): Executable command configuration for invoking the Amp CLI. - Core API - [AmpSdk](AmpSdk.md): Elixir SDK for the Amp CLI. - [AmpSdk.Review](AmpSdk.Review.md): Code review via the Amp CLI. - [AmpSdk.Stream](AmpSdk.Stream.md): Manages streaming execution of the Amp CLI. - [AmpSdk.Threads](AmpSdk.Threads.md): Thread management via the Amp CLI. - [AmpSdk.Tools](AmpSdk.Tools.md): Tool management via the Amp CLI. - Management - [AmpSdk.MCP](AmpSdk.MCP.md): MCP server management via the Amp CLI. - [AmpSdk.Permissions](AmpSdk.Permissions.md): Permission management via the Amp CLI. - [AmpSdk.Skills](AmpSdk.Skills.md): Skill management via the Amp CLI. - [AmpSdk.Tasks](AmpSdk.Tasks.md): Task management via the Amp CLI. - [AmpSdk.Usage](AmpSdk.Usage.md): Usage and credit balance via the Amp CLI. - Transport - [AmpSdk.Transport](AmpSdk.Transport.md): Behaviour for CLI transport implementations. - [AmpSdk.Transport.Erlexec](AmpSdk.Transport.Erlexec.md): Transport implementation backed by erlexec for the Amp CLI. - Types - [AmpSdk.Types](AmpSdk.Types.md): Type definitions and structs for the Amp SDK. - [AmpSdk.Types.AssistantMessage](AmpSdk.Types.AssistantMessage.md): An assistant response message from the CLI. - [AmpSdk.Types.AssistantPayload](AmpSdk.Types.AssistantPayload.md): Structured payload for assistant stream messages. - [AmpSdk.Types.ErrorResultMessage](AmpSdk.Types.ErrorResultMessage.md): An error result message indicating session failure. - [AmpSdk.Types.MCPHttpServer](AmpSdk.Types.MCPHttpServer.md): Configuration for an MCP server using HTTP transport. - [AmpSdk.Types.MCPServer](AmpSdk.Types.MCPServer.md): Structured representation of an MCP server returned by `AmpSdk.mcp_list/1`. - [AmpSdk.Types.MCPServerStatus](AmpSdk.Types.MCPServerStatus.md): Status of an MCP server connection. - [AmpSdk.Types.MCPStdioServer](AmpSdk.Types.MCPStdioServer.md): Configuration for an MCP server using stdio transport. - [AmpSdk.Types.Options](AmpSdk.Types.Options.md): Configuration options for an Amp CLI session. - [AmpSdk.Types.Permission](AmpSdk.Types.Permission.md): A tool permission rule for the CLI session. - [AmpSdk.Types.PermissionRule](AmpSdk.Types.PermissionRule.md): Structured representation of a permission rule returned by `AmpSdk.permissions_list/1`. - [AmpSdk.Types.ResultMessage](AmpSdk.Types.ResultMessage.md): A successful result message indicating session completion. - [AmpSdk.Types.SystemMessage](AmpSdk.Types.SystemMessage.md): A system initialization message from the CLI. - [AmpSdk.Types.TextContent](AmpSdk.Types.TextContent.md): A text content block in a message. - [AmpSdk.Types.ThinkingContent](AmpSdk.Types.ThinkingContent.md): A thinking content block in an assistant message. - [AmpSdk.Types.ThreadSummary](AmpSdk.Types.ThreadSummary.md): Structured representation of a thread entry returned by `AmpSdk.threads_list/1`. - [AmpSdk.Types.ToolResultContent](AmpSdk.Types.ToolResultContent.md): A tool result content block in a user message. - [AmpSdk.Types.ToolUseContent](AmpSdk.Types.ToolUseContent.md): A tool use content block in an assistant message. - [AmpSdk.Types.Usage](AmpSdk.Types.Usage.md): Token usage statistics for a message or session. - [AmpSdk.Types.UserInputMessage](AmpSdk.Types.UserInputMessage.md): A user input message to send to the CLI. - [AmpSdk.Types.UserMessage](AmpSdk.Types.UserMessage.md): A user message in the conversation stream. - [AmpSdk.Types.UserPayload](AmpSdk.Types.UserPayload.md): Structured payload for user stream messages. - Infrastructure - [AmpSdk.CLI](AmpSdk.CLI.md): Discovers and resolves the Amp CLI executable. - Exceptions - [AmpSdk.Error](AmpSdk.Error.md): Unified error envelope for SDK operations.