First off, thank you for considering contributing to Awesome ADK Agents! This repository thrives on community contributions, and your help is essential for making it a valuable resource for ADK developers worldwide.
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the repository maintainers.
The most valuable contribution is adding new, well-documented agent implementations:
-
Decide on an agent concept that isn't already covered
-
Follow the standard agent structure:
agent-name/ ├── README.md # Description, usage, examples ├── agent_name/ # Main agent code ├── __init__.py ├── agent.py # Core agent definition ├── tools/ # Custom tools ├── sub_agents/ # (If applicable) └── shared_libraries/ # Utilities and shared code -
Create thorough documentation including:
- What the agent does
- Prerequisites and setup
- Usage examples
- Configuration options
- Expected outputs
If you'd like to enhance an existing agent:
- Fix bugs - Repair any non-working functionality
- Add features - Expand the agent's capabilities
- Improve performance - Optimize the agent's operation
- Enhance documentation - Make the agent easier to understand and use
- Add Callbacks - Add before and after callbacks to the agent's lifecycle for better control
Documentation is crucial for this project:
- Update READMEs - Keep descriptions and usage instructions current
- Add examples - Create sample code showing how to use agents
- Write tutorials - Create step-by-step guides for building or extending agents
- Improve main documentation - Enhance the repository's primary documentation
Quality testing helps ensure agents work as expected:
- Write unit tests - Test individual agent components
- Create integration tests - Test complete agent functionality
- Build evaluation datasets - Create standard datasets for testing agent performance
- Document testing procedures - Help others understand how to test agents
-
Fork the Repository - Create your own fork of the project
-
Create a Branch - Make a new branch for your contribution
git checkout -b feature/amazing-agent
-
Make Changes - Implement your contribution following the structure guidelines
-
Test Your Changes - Ensure your agent works as expected
-
Commit Changes - Use clear commit messages
git commit -m 'Add amazing agent for [specific purpose]' -
Push to Your Fork - Upload your changes
git push origin feature/amazing-agent
-
Submit a Pull Request - Open a PR against the main repository
When submitting a pull request, please:
- Explain your changes - Describe what your agent does and why it's valuable
- Reference issues - Link to any related issues
- Follow coding standards - Match the style of the existing codebase(atleast try to)
- Update documentation - Ensure documentation reflects your changes
- Follow PEP 8 for Python code
- Use clear, descriptive variable and function names
- Include docstrings for all functions, classes, and modules
- Comment complex logic
- Use clear, concise language
- Include code examples
- Structure with Markdown headings
- Add screenshots or diagrams where helpful
If you have any questions about contributing, please open an issue or reach out to the repository maintainers.
Thank you for your contributions!