Thank you for your interest in contributing to the A2A Directory! This document provides guidelines and instructions for contributing to this project.
We welcome contributions of new AgentCards! When contributing an AgentCard:
- Follow the Agent Card Specification
- Include clear documentation of the agent's capabilities
- Provide examples of usage
- Ensure compatibility with the A2A protocol
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
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
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.)
We welcome pull requests! Here's how to submit one:
- Fork the repository
- Create a new branch for your feature/fix
- Make your changes
- Write or update tests if necessary
- Ensure all tests pass
- Submit a pull request
The project is organized as follows:
docs/: Documentation filessrc/: Source codetests/: Test files
- Clone the repository
- Install dependencies
- Run tests
- Make your changes
- Submit a pull request
We follow the Conventional Commits specification:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
Types:
feat: A new featurefix: A bug fixdocs: Documentation changesstyle: Code style changesrefactor: Code refactoringtest: Test-related changeschore: Maintenance tasks
By contributing to this project, you agree that your contributions will be licensed under the project's license.
If you have any questions about contributing, please open an issue or contact the maintainers.