``` ├── .gitignore ├── CONTRIBUTING.md ├── GitCommitMessageGuidelines.md ├── LICENSE ├── README-zh-HK.md ├── README.de-DE.md ├── README.ja-JP.md ├── README.md ├── README.zh-CN.md ├── docs/ ├── a2a-implementations.md ├── a2a-sample-methods-and-json-responses.md ├── a2a-typescript-guide.md ├── a2a-vs-mcp.md ├── python-a2a.md ├── understanding-a2a-protocol.md ├── images/ ├── a2a-directory.png ├── a2a-directory.svg ├── a2a-guide-typescript.png ├── a2a-protocol.png ├── awesome-badge.svg ├── header.svg ├── prs-welcome.svg ├── thumbnail.svg ├── llms.txt ``` ## /.gitignore ```gitignore path="/.gitignore" .cursorrules ``` ## /CONTRIBUTING.md # Contributing to A2A Directory Thank you for your interest in contributing to the A2A Directory! This document provides guidelines and instructions for contributing to this project. ## How to Contribute ### 1. AgentCards We welcome contributions of new AgentCards! When contributing an AgentCard: - Follow the [Agent Card Specification](https://google.github.io/A2A/#/documentation?id=agent-card) - Include clear documentation of the agent's capabilities - Provide examples of usage - Ensure compatibility with the A2A protocol ### 2. Community Documentation Help us expand our documentation! You can contribute: - Technical guides in any language - Protocol comparisons and analyses - Implementation tutorials - Best practices and patterns Current documentation languages: - 🇺🇸 English - 🇨🇳 Chinese - 🇯🇵 Japanese - 🇫🇷 French - 🇩🇪 German - 🇸🇦 Arabic - 🇪🇸 Spanish ### 3. Community Samples Share your A2A implementations! We accept: - Server implementations in any language - Client implementations - Framework integrations - Example applications Current supported languages: - 🐍 Python - 🚀 JavaScript/TypeScript - 🦀 Rust - 🐹 Go - ☕ Java - 💎 C# - 🐘 PHP - 🔵 Ruby - 🦫 Swift - 🦫 Kotlin ### 4. Reporting Issues If you find a bug or have a feature request, please open an issue on GitHub. When reporting issues: - Use a clear and descriptive title - Provide detailed steps to reproduce the issue - Include relevant code snippets or error messages - Specify your environment (OS, Node.js version, etc.) ### 5. Submitting Pull Requests We welcome pull requests! Here's how to submit one: 1. Fork the repository 2. Create a new branch for your feature/fix 3. Make your changes 4. Write or update tests if necessary 5. Ensure all tests pass 6. Submit a pull request ## Project Structure The project is organized as follows: - `docs/`: Documentation files - `src/`: Source code - `tests/`: Test files ## Development Setup 1. Clone the repository 2. Install dependencies 3. Run tests 4. Make your changes 5. Submit a pull request ## Commit Message Guidelines We follow the [Conventional Commits](https://www.conventionalcommits.org/) specification: ``` ():