We welcome contributions! Whether you're an experienced developer or just starting out, we appreciate any help you can give us. Here's how you can get involved:
You can submit your completele coaching application crew using our template proposal.
Alternatively, you can submit an Agent to be integrated in our coaching examples, please follow this structure:
-
Agent Definition (
agent.py
):- Create a file named
agent.py
in thecommunity_submissions/[agent_name]/
directory. - Define your Agent class using CrewAI's
@Agent
decorator. - Include any necessary imports and helper functions.
- Create a file named
-
Unit Tests (
tests/
directory):- Create a
tests/
directory inside your Agent's directory. - Write unit tests for your Agent using Python's built-in
unittest
module or a testing framework of your choice. - Include at least one test case that covers the main functionality of your Agent.
- Create a
-
Additional Configuration Files:
- If your Agent requires any additional configuration, create a
config/
directory in your Agent's folder. - Place any necessary configuration files (e.g., YAML, JSON) in this directory.
- If your Agent requires any additional configuration, create a
community_submissions/
└── my_agent/
├── coaching_application_template
├── agent_template
└── agent.py
└── tests/
└── test_agent.py
- Fork the repository on GitHub.
- Clone your fork to your local machine.
- Navigate to the
community_submissions/
directory. - Create a new directory for your Agent and add the required files. Give it a name with the convention of coach_your_application.
- Commit and push your changes to your fork.
- Open a Pull Request against the main repository.
- We follow CrewAI's style guide. Please refer to the CrewAI Documentation for details.
- Use consistent indentation (PEP 8 recommends 4 spaces).
- All submissions must include unit tests.
- Tests should cover critical paths through your Agent's functionality.
- Include a test that verifies the Agent's output matches expectations.
- Add comments to your code explaining complex logic or decisions.
- Include a brief description of your Agent's purpose and how it fits into the overall project.
- Make sure your submission complies with the project's license (MIT).
- Include a copy of the MIT license in your submission if it's not already present.
- We aim to review submissions within 3 business days.
- Be prepared to address feedback and make necessary changes.
- If your Agent depends on external libraries, please specify them in your pyproject.toml file under [tool.poetry.dependencies].
- If your Agent interacts with external services, please document any API endpoints or authentication methods used.
Thank you for your contribution! We look forward to reviewing your submission.
- GitHub Guidelines for Contributors
- freeCodeCamp Contributing Guide
- How to Build a Contributing.md
- CNCF Maintainers Templates
- Open Source Contributor Guidelines
- Best Practices for Managing an Open Source Project
- freeCodeCamp Guide on Contributing to Open Source
- Open Source Guide: How to Contribute