First off, thank you for considering contributing to Awesome AI Apps! It's people like you that make this such a great collection of resources for the community. Your contributions are valuable and help everyone learn and build better AI applications.
This document provides guidelines for contributing to this repository. Please read it carefully to ensure a smooth and effective contribution process.
This project and everyone participating in it is governed by a Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior.
There are many ways to contribute, from adding new projects to improving existing ones, reporting bugs, or suggesting enhancements.
If you find a bug in one of the projects, please open an issue. Make sure to include:
- A clear and descriptive title.
- A detailed description of the bug, including steps to reproduce it.
- The name of the project directory where the bug occurred.
- Any relevant error messages or logs.
If you have an idea for a new project or an improvement to an existing one, please open an issue to discuss it. This allows us to coordinate efforts and prevent duplication of work.
Unsure where to begin? You can start by looking through good first issue and help wanted issues.
We welcome new project examples! To maintain consistency and quality, please follow these guidelines when adding a new project.
Before starting your work, create an issue that describes the project you want to add. This helps us track contributions and avoid multiple people working on the same thing.
To keep our review process clean and focused, each new project must be submitted in its own Pull Request. Do not bundle multiple new projects into a single PR. Each PR should be linked to the issue you created.
- Place your project in the appropriate category folder:
starter_ai_agents/: For simple, boilerplate-style agents.simple_ai_agents/: For straightforward, practical use-cases.advance_ai_agents/: For complex, multi-step workflows.rag_apps/: For Retrieval-Augmented Generation examples.memory_agents/: For agents with memory capabilities.mcp_ai_agents/: For projects using the Model Context Protocol.
- Follow the naming convention for your project's folder: The name should be descriptive and use snake_case. For example:
finance_agent,blog_writing_agent.
- Every project MUST have its own
README.mdfile. - This README should provide clear, detailed instructions on how to set up and run the project.
- Use the provided template as a reference: Your project's README should follow the structure and include the sections outlined in
.github/README_TEMPLATE.md. This ensures all projects in the collection are well-documented and easy for others to use.
- Dependencies: Include a
requirements.txtor, preferably, define dependencies within apyproject.tomlfile in your project's directory. - Code Style: Write clean, readable code. We encourage the use of a code formatter like Black or Ruff to maintain a consistent style.
- Testing: While not strictly required for all examples, adding tests is highly encouraged. If you do, create a
tests/subdirectory within your project folder. - No Secrets: Ensure you do not commit any API keys, passwords, or other sensitive information. Use environment variables and provide a
.env.examplefile.
- Fork the repository and create your branch from
main. - Make your changes, adhering to the guidelines above.
- Ensure your code lints and any tests pass.
- Create a Pull Request to the
mainbranch of the original repository. - Link your PR to the issue you created (e.g., "Closes #123").
- Provide a clear title and a concise description of your contribution in the PR.
Thank you again for your contribution!