{"owner":"ag-ui-protocol","repo":"ag-ui","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md","CLAUDE.md"],"skills":{"AGENTS.md":"<!-- nx configuration start-->\n<!-- Leave the start & end comments to automatically receive updates. -->\n\n# General Guidelines for working with Nx\n\n- For requests to add A2UI rendering to AG-UI applications or to scaffold an\n  AG-UI + A2UI quickstart, use\n  `skills/ag-ui-a2ui-integration/SKILL.md`.\n- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly\n- You have access to the Nx MCP server and its tools, use them to help the user\n- When answering questions about the repository, use the `nx_workspace` tool first to gain an understanding of the workspace architecture where applicable.\n- When working in individual projects, use the `nx_project_details` mcp tool to analyze and understand the specific project structure and dependencies\n- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration\n- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors\n- For Nx plugin best practices, check `node_modules/@nx/<plugin>/PLUGIN.md`. Not all plugins have this file - proceed without it if unavailable.\n\n<!-- nx configuration end-->\n","CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\nFor requests to add A2UI rendering to AG-UI applications or to scaffold an\nAG-UI + A2UI quickstart, use `skills/ag-ui-a2ui-integration/SKILL.md`.\n\n## Common Development Commands\n\n### TypeScript SDK (Main Development)\n```bash\n\n# Install dependencies (using pnpm)\npnpm install\n\n# Build all packages\npnpm build\n\n# Run development mode\npnpm dev\n\n# Run linting\npnpm lint\n\n\n# Run type checking\npnpm check-types\n\n# Run tests\npnpm test\n\n# Format code\npnpm format\n\n# Clean build artifacts\npnpm clean\n\n# Full clean build\npnpm build:clean\n```\n\n### Python SDK\n```bash\n# Navigate to python-sdk directory\ncd python-sdk\n\n# Install dependencies (using poetry)\npoetry install\n\n# Run tests\npython -m unittest discover tests\n\n# Build distribution\npoetry build\n```\n\n### Running Specific Integration Tests\n```bash\n# For TypeScript packages/integrations\ncd packages/<package-name>\npnpm test\n\n# For running a single test file\ncd packages/<package-name>\npnpm test -- path/to/test.spec.ts\n```\n\n## High-Level Architecture\n\nAG-UI is an event-based protocol that standardizes agent-user interactions. The codebase is organized as a monorepo with the following structure:\n\n### Core Protocol Architecture\n- **Event-Driven Communication**: All agent-UI communication happens through typed events (BaseEvent and its subtypes)\n- **Transport Agnostic**: Protocol supports SSE, WebSockets, HTTP binary, and custom transports\n- **Observable Pattern**: Uses RxJS Observables for streaming agent responses\n\n### Key Abstractions\n1. **AbstractAgent**: Base class that all agents must implement with a `run(input: RunAgentInput) -> Observable<BaseEvent>` method\n2. **HttpAgent**: Standard HTTP client supporting SSE and binary protocols for connecting to agent endpoints\n3. **Event Types**: Lifecycle events (RUN_STARTED/FINISHED), message events (TEXT_MESSAGE_*), tool events (TOOL_CALL_*), and state management events (STATE_SNAPSHOT/DELTA)\n\n### Repository Structure\n- `/sdks/typescript/`: Main TypeScript implementation\n  - `/packages/`: Core protocol packages (@ag-ui/core, @ag-ui/client, @ag-ui/encoder, @ag-ui/proto)\n- `/integrations/`: Framework integrations (langgraph, mastra, crew-ai, etc.)\n- `/apps/`: Example applications including the AG-UI Dojo demo viewer\n- `/sdks/python/`: Python implementation of the protocol\n- `/docs/`: Documentation site content\n\n### Integration Pattern\nEach framework integration follows a similar pattern:\n1. Implements the AbstractAgent interface\n2. Translates framework-specific events to AG-UI protocol events\n3. Provides both TypeScript client and Python server implementations\n4. Includes examples demonstrating key AG-UI features (agentic chat, generative UI, human-in-the-loop, etc.)\n\n### State Management\n- Uses STATE_SNAPSHOT for complete state representations\n- Uses STATE_DELTA with JSON Patch (RFC 6902) for efficient incremental updates\n- MESSAGES_SNAPSHOT provides conversation history\n\n### Multiple Sequential Runs\n- AG-UI supports multiple sequential runs in a single event stream\n- Each run must complete (RUN_FINISHED) before a new run can start (RUN_STARTED)\n- Messages accumulate across runs (e.g., messages from run1 + messages from run2)\n- State continues to evolve across runs unless explicitly reset with STATE_SNAPSHOT\n- Run-specific tracking (active messages, tool calls, steps) resets between runs\n\n### Development Workflow\n- Nx is used for monorepo build orchestration\n- Each package has independent versioning\n- Integration tests demonstrate protocol compliance\n- The AG-UI Dojo app showcases all protocol features with live examples\n\n\n<!-- nx configuration start-->\n<!-- Leave the start & end comments to automatically receive updates. -->\n\n# General Guidelines for working with Nx\n\n- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly\n- You have access to the Nx MCP server and its tools, use them to help the user\n- When answering questions about the repository, use the `nx_workspace` tool first to gain an understanding of the workspace architecture where applicable.\n- When working in individual projects, use the `nx_project_details` mcp tool to analyze and understand the specific project structure and dependencies\n- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration\n- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors\n- For Nx plugin best practices, check `node_modules/@nx/<plugin>/PLUGIN.md`. Not all plugins have this file - proceed without it if unavailable.\n\n<!-- nx configuration end-->\n"},"files":{"AGENTS.md":"<!-- nx configuration start-->\n<!-- Leave the start & end comments to automatically receive updates. -->\n\n# General Guidelines for working with Nx\n\n- For requests to add A2UI rendering to AG-UI applications or to scaffold an\n  AG-UI + A2UI quickstart, use\n  `skills/ag-ui-a2ui-integration/SKILL.md`.\n- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly\n- You have access to the Nx MCP server and its tools, use them to help the user\n- When answering questions about the repository, use the `nx_workspace` tool first to gain an understanding of the workspace architecture where applicable.\n- When working in individual projects, use the `nx_project_details` mcp tool to analyze and understand the specific project structure and dependencies\n- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration\n- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors\n- For Nx plugin best practices, check `node_modules/@nx/<plugin>/PLUGIN.md`. Not all plugins have this file - proceed without it if unavailable.\n\n<!-- nx configuration end-->\n","CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\nFor requests to add A2UI rendering to AG-UI applications or to scaffold an\nAG-UI + A2UI quickstart, use `skills/ag-ui-a2ui-integration/SKILL.md`.\n\n## Common Development Commands\n\n### TypeScript SDK (Main Development)\n```bash\n\n# Install dependencies (using pnpm)\npnpm install\n\n# Build all packages\npnpm build\n\n# Run development mode\npnpm dev\n\n# Run linting\npnpm lint\n\n\n# Run type checking\npnpm check-types\n\n# Run tests\npnpm test\n\n# Format code\npnpm format\n\n# Clean build artifacts\npnpm clean\n\n# Full clean build\npnpm build:clean\n```\n\n### Python SDK\n```bash\n# Navigate to python-sdk directory\ncd python-sdk\n\n# Install dependencies (using poetry)\npoetry install\n\n# Run tests\npython -m unittest discover tests\n\n# Build distribution\npoetry build\n```\n\n### Running Specific Integration Tests\n```bash\n# For TypeScript packages/integrations\ncd packages/<package-name>\npnpm test\n\n# For running a single test file\ncd packages/<package-name>\npnpm test -- path/to/test.spec.ts\n```\n\n## High-Level Architecture\n\nAG-UI is an event-based protocol that standardizes agent-user interactions. The codebase is organized as a monorepo with the following structure:\n\n### Core Protocol Architecture\n- **Event-Driven Communication**: All agent-UI communication happens through typed events (BaseEvent and its subtypes)\n- **Transport Agnostic**: Protocol supports SSE, WebSockets, HTTP binary, and custom transports\n- **Observable Pattern**: Uses RxJS Observables for streaming agent responses\n\n### Key Abstractions\n1. **AbstractAgent**: Base class that all agents must implement with a `run(input: RunAgentInput) -> Observable<BaseEvent>` method\n2. **HttpAgent**: Standard HTTP client supporting SSE and binary protocols for connecting to agent endpoints\n3. **Event Types**: Lifecycle events (RUN_STARTED/FINISHED), message events (TEXT_MESSAGE_*), tool events (TOOL_CALL_*), and state management events (STATE_SNAPSHOT/DELTA)\n\n### Repository Structure\n- `/sdks/typescript/`: Main TypeScript implementation\n  - `/packages/`: Core protocol packages (@ag-ui/core, @ag-ui/client, @ag-ui/encoder, @ag-ui/proto)\n- `/integrations/`: Framework integrations (langgraph, mastra, crew-ai, etc.)\n- `/apps/`: Example applications including the AG-UI Dojo demo viewer\n- `/sdks/python/`: Python implementation of the protocol\n- `/docs/`: Documentation site content\n\n### Integration Pattern\nEach framework integration follows a similar pattern:\n1. Implements the AbstractAgent interface\n2. Translates framework-specific events to AG-UI protocol events\n3. Provides both TypeScript client and Python server implementations\n4. Includes examples demonstrating key AG-UI features (agentic chat, generative UI, human-in-the-loop, etc.)\n\n### State Management\n- Uses STATE_SNAPSHOT for complete state representations\n- Uses STATE_DELTA with JSON Patch (RFC 6902) for efficient incremental updates\n- MESSAGES_SNAPSHOT provides conversation history\n\n### Multiple Sequential Runs\n- AG-UI supports multiple sequential runs in a single event stream\n- Each run must complete (RUN_FINISHED) before a new run can start (RUN_STARTED)\n- Messages accumulate across runs (e.g., messages from run1 + messages from run2)\n- State continues to evolve across runs unless explicitly reset with STATE_SNAPSHOT\n- Run-specific tracking (active messages, tool calls, steps) resets between runs\n\n### Development Workflow\n- Nx is used for monorepo build orchestration\n- Each package has independent versioning\n- Integration tests demonstrate protocol compliance\n- The AG-UI Dojo app showcases all protocol features with live examples\n\n\n<!-- nx configuration start-->\n<!-- Leave the start & end comments to automatically receive updates. -->\n\n# General Guidelines for working with Nx\n\n- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly\n- You have access to the Nx MCP server and its tools, use them to help the user\n- When answering questions about the repository, use the `nx_workspace` tool first to gain an understanding of the workspace architecture where applicable.\n- When working in individual projects, use the `nx_project_details` mcp tool to analyze and understand the specific project structure and dependencies\n- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration\n- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors\n- For Nx plugin best practices, check `node_modules/@nx/<plugin>/PLUGIN.md`. Not all plugins have this file - proceed without it if unavailable.\n\n<!-- nx configuration end-->\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"<!-- nx configuration start-->\n<!-- Leave the start & end comments to automatically receive updates. -->\n\n# General Guidelines for working with Nx\n\n- For requests to add A2UI rendering to AG-UI applications or to scaffold an\n  AG-UI + A2UI quickstart, use\n  `skills/ag-ui-a2ui-integration/SKILL.md`.\n- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly\n- You have access to the Nx MCP server and its tools, use them to help the user\n- When answering questions about the repository, use the `nx_workspace` tool first to gain an understanding of the workspace architecture where applicable.\n- When working in individual projects, use the `nx_project_details` mcp tool to analyze and understand the specific project structure and dependencies\n- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration\n- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors\n- For Nx plugin best practices, check `node_modules/@nx/<plugin>/PLUGIN.md`. Not all plugins have this file - proceed without it if unavailable.\n\n<!-- nx configuration end-->\n","category":"root","tokens":347},{"name":"CLAUDE.md","path":"CLAUDE.md","title":"CLAUDE.md","content":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\nFor requests to add A2UI rendering to AG-UI applications or to scaffold an\nAG-UI + A2UI quickstart, use `skills/ag-ui-a2ui-integration/SKILL.md`.\n\n## Common Development Commands\n\n### TypeScript SDK (Main Development)\n```bash\n\n# Install dependencies (using pnpm)\npnpm install\n\n# Build all packages\npnpm build\n\n# Run development mode\npnpm dev\n\n# Run linting\npnpm lint\n\n\n# Run type checking\npnpm check-types\n\n# Run tests\npnpm test\n\n# Format code\npnpm format\n\n# Clean build artifacts\npnpm clean\n\n# Full clean build\npnpm build:clean\n```\n\n### Python SDK\n```bash\n# Navigate to python-sdk directory\ncd python-sdk\n\n# Install dependencies (using poetry)\npoetry install\n\n# Run tests\npython -m unittest discover tests\n\n# Build distribution\npoetry build\n```\n\n### Running Specific Integration Tests\n```bash\n# For TypeScript packages/integrations\ncd packages/<package-name>\npnpm test\n\n# For running a single test file\ncd packages/<package-name>\npnpm test -- path/to/test.spec.ts\n```\n\n## High-Level Architecture\n\nAG-UI is an event-based protocol that standardizes agent-user interactions. The codebase is organized as a monorepo with the following structure:\n\n### Core Protocol Architecture\n- **Event-Driven Communication**: All agent-UI communication happens through typed events (BaseEvent and its subtypes)\n- **Transport Agnostic**: Protocol supports SSE, WebSockets, HTTP binary, and custom transports\n- **Observable Pattern**: Uses RxJS Observables for streaming agent responses\n\n### Key Abstractions\n1. **AbstractAgent**: Base class that all agents must implement with a `run(input: RunAgentInput) -> Observable<BaseEvent>` method\n2. **HttpAgent**: Standard HTTP client supporting SSE and binary protocols for connecting to agent endpoints\n3. **Event Types**: Lifecycle events (RUN_STARTED/FINISHED), message events (TEXT_MESSAGE_*), tool events (TOOL_CALL_*), and state management events (STATE_SNAPSHOT/DELTA)\n\n### Repository Structure\n- `/sdks/typescript/`: Main TypeScript implementation\n  - `/packages/`: Core protocol packages (@ag-ui/core, @ag-ui/client, @ag-ui/encoder, @ag-ui/proto)\n- `/integrations/`: Framework integrations (langgraph, mastra, crew-ai, etc.)\n- `/apps/`: Example applications including the AG-UI Dojo demo viewer\n- `/sdks/python/`: Python implementation of the protocol\n- `/docs/`: Documentation site content\n\n### Integration Pattern\nEach framework integration follows a similar pattern:\n1. Implements the AbstractAgent interface\n2. Translates framework-specific events to AG-UI protocol events\n3. Provides both TypeScript client and Python server implementations\n4. Includes examples demonstrating key AG-UI features (agentic chat, generative UI, human-in-the-loop, etc.)\n\n### State Management\n- Uses STATE_SNAPSHOT for complete state representations\n- Uses STATE_DELTA with JSON Patch (RFC 6902) for efficient incremental updates\n- MESSAGES_SNAPSHOT provides conversation history\n\n### Multiple Sequential Runs\n- AG-UI supports multiple sequential runs in a single event stream\n- Each run must complete (RUN_FINISHED) before a new run can start (RUN_STARTED)\n- Messages accumulate across runs (e.g., messages from run1 + messages from run2)\n- State continues to evolve across runs unless explicitly reset with STATE_SNAPSHOT\n- Run-specific tracking (active messages, tool calls, steps) resets between runs\n\n### Development Workflow\n- Nx is used for monorepo build orchestration\n- Each package has independent versioning\n- Integration tests demonstrate protocol compliance\n- The AG-UI Dojo app showcases all protocol features with live examples\n\n\n<!-- nx configuration start-->\n<!-- Leave the start & end comments to automatically receive updates. -->\n\n# General Guidelines for working with Nx\n\n- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly\n- You have access to the Nx MCP server and its tools, use them to help the user\n- When answering questions about the repository, use the `nx_workspace` tool first to gain an understanding of the workspace architecture where applicable.\n- When working in individual projects, use the `nx_project_details` mcp tool to analyze and understand the specific project structure and dependencies\n- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration\n- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors\n- For Nx plugin best practices, check `node_modules/@nx/<plugin>/PLUGIN.md`. Not all plugins have this file - proceed without it if unavailable.\n\n<!-- nx configuration end-->\n","category":"root","tokens":1229}]}