First off, thank you for considering contributing! Your help is essential for keeping this list valuable and up-to-date for the community interested in the Agent2Agent (A2A) Protocol. 🎉
This document provides guidelines for contributing to this list.
- Code of Conduct
- How Can I Contribute?
- Contribution Guidelines
- Pull Request Process
- Language Considerations (English & Chinese)
- Questions?
This project and everyone participating in it are governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior.
There are several ways you can contribute:
- If you find a great A2A-related resource but don't want to create a Pull Request yourself, feel free to open an Issue suggesting it. Please provide the link and a brief description.
- This is the preferred method! If you want to add a resource directly, please follow the Pull Request Process outlined below. Ensure your addition meets the Contribution Guidelines.
- Found a broken link? Is a description inaccurate or misleading? Please open an Issue to report it.
- Have ideas for new sections or improvements to the list structure? Open an Issue to discuss!
We are looking for resources specifically related to the Google Agent2Agent (A2A) Protocol. This includes:
- Implementations: Server or client libraries in various languages/frameworks.
- Tools: Validation tools, discovery services, monitoring adapters, etc.
- Tutorials & Articles: Blog posts, guides, conceptual explanations focused on A2A.
- Demos & Examples: Working applications or code snippets showcasing A2A features.
- Framework Integrations: How specific AI/Agent frameworks support or integrate with A2A.
- Related Protocols: Directly complementary protocols (like MCP) with clear explanations of their relation to A2A.
Please do NOT add:
- General AI/Agent resources not specifically mentioning or using A2A.
- Vague or overly broad links.
- Broken links or resources that are no longer maintained/relevant.
- Promotional content disguised as a resource.
- Relevance: The resource must be directly related to the A2A protocol.
- Value: It should provide useful information, code, or tools for someone learning or working with A2A.
- Maintenance: Links should work, and code repositories should ideally show signs of recent activity or be considered stable/complete.
- Clarity: Descriptions should be clear, concise, and accurate.
- Use the following format for list items:
* 🔗/📄/⚙️/etc. [Resource Title](link-to-resource) - A brief, informative description (usually one sentence). Keep it objective.
- Choose an appropriate emoji to start the line (use existing ones as a guide).
- Ensure the link is direct and works correctly.
- Add the item to the most relevant section in the README.
- Within a section, you can add new items to the end, or maintain alphabetical order if you prefer (not strictly enforced, but appreciated).
- Check your spelling and grammar.
We use a standardized commit message format to keep the project history clean and readable:
[Emoji] [Action] [Object]
- ✨ Add new A2A implementation in Rust
- 🐛 Fix broken link to official documentation
- 📝 Update README with new community tool
- 🌐 Update multilingual documentation links
To use the provided commit message template:
git config commit.template .gitmessageAfter this, running git commit (without -m) will open your editor with helpful examples and emoji references.
- ✨
:sparkles:- New resource/implementation/tool - 🐛
:bug:- Fix broken links/incorrect info - 📝
:memo:- Documentation updates - 🌐
:globe_with_meridians:- Translations/i18n - 🔗
:link:- Update links/references - 📦
:package:- Add SDKs/libraries - 🎨
:art:- Formatting/structure improvements - 🔥
:fire:- Remove outdated resources
See .gitmessage for the full list of recommended emojis.
- Fork the repository: Click the "Fork" button on the awesome-a2a repository page.
- Clone your fork:
git clone https://github.com/YOUR_FORK_USERNAME/awesome-a2a.git - Create a new branch:
git checkout -b add-my-awesome-resource(use a descriptive branch name). - Make your changes:
- Add your link(s) to the relevant section(s) in
README.mdfollowing the Formatting guidelines. - Crucially, also add the corresponding entry to
README_zh.md(see Language Considerations).
- Add your link(s) to the relevant section(s) in
- Commit your changes: Follow the Commit Message Guidelines above. Example:
git commit -am '✨ Add: Resource Title to [Section Name]' - Push to your fork:
git push origin add-my-awesome-resource - Open a Pull Request: Go to the original
awesome-a2arepository on GitHub and click the "New pull request" button. Ensure the base repository is the original and the head repository is your fork/branch. - Describe your PR: Explain what you've added and why it's relevant. Link to an Issue if applicable.
- Wait for review: Maintainers will review your PR, provide feedback if needed, and merge it if everything looks good.
This repository uses zdoc.app to automatically provide translations in multiple languages (Deutsch, Español, français, 日本語, 한국어, Português, Русский, 中文).
- Just edit
README.mdin English - translations are automatically generated and kept in sync - No need to manually maintain translation files - zdoc.app handles this for you
- Translations are accessible via links at the top of the README
If you notice translation quality issues, you can report them via GitHub Issues.
If you have questions about the contribution process or whether a resource is suitable, feel free to open an Issue with the label question.
Thank you for contributing! ❤️