Welcome, and thank you for choosing to contribute to the AgentCloud project. The purpose of this document is to provide simple guidelines to help make your contribution process smoother.
There are many types of issues you can take on when contributing to the project "AgentCloud". We try our best to provide a wide array of open issues that vary in levels of complexity. From beginners to seasoned developers, everyone should be able to find something to work on.
- How Can I Contribute?
- First let's find the perfect open issue for you.
- 🚨 Contributing best practices
- How to contribute? 👨💻
- Commit Message Format 💬
- Keeping your Fork Up-to-Date 🆕
- Opening PRs 📩
- Reviewing Pull Requests 🕵️
- Reporting Bugs 🐛
- Suggesting Enhancements 🗣️
- Testing 🧪
- License
There are several ways to contribute to the project "AgentCloud". let's find out.
- If you are new to the project, please check out the good first issue label.
- If you are ready to make a big impact on the project, check out the enhancement that is being worked on and filter the issues by
"enhancement"
- If you are looking for something specific to work on, check out our open issues and filter against the available labels such as
difficulty:high
,priority:medium
etc. - If you have an idea for a new feature, please open an issue, and we're open to discuss it.
- We are also happy to help you find something to work on. Just reach out to us in discord and send a message in "#feature-request" channel.
- Please
only work on one
issue at a time.- If you're unable to continue with an assigned task, inform us promptly.
- Ensure to
TEST
your feature contributions locally before requesting reviews.- Need assistance? Utilize the issue or start a discussion thread in our
✋help-and-support
channel on Discord- While Generative AI is cool, minimize its use for
direct team communication
. We value concise, genuine exchanges over scripted messages.
- Join our AgentCloud Discord Server.
- Introduce yourself in the
🎤|Introduce-yourself
channel or open an issue to let us know that you are interested in contributing. let's connect.👋
Following these steps will ensure that your contributions are well-received, reviewed, and integrated effectively into AgentCloud's codebase.
We don't have a formal process for assigning issues to contributors. We invite everyone to feel free to jump into any issues in this repo that they are able to help with. Our aim is to foster a collaborative environment where anyone can help without feeling burdened by an assigned task. We understand that life can sometimes present unexpected challenges, and we want to ensure that contributors don't feel pressured to complete assigned issues when they may have limited availability.
We also recognize that not having a formal process can sometimes lead to competing or duplicate PRs. There's no perfect solution here. We encourage everyone to communicate early and often on an Issue to indicate that they're actively working on it. If they see that an Issue already has a PR, try working with that author instead of drafting their own.
We review PRs in the order of their submission. We try to accept the earliest one that is closest to being ready to merge.
Assign yourself to the issue, if you are working on it (if you are not a member of the organization, please leave a comment on the issue and we will assign you to it.)
- Head over to the AgentCloud GitHub repo and "fork it" into your own GitHub account.
- Clone your fork to your local machine, using the following command:
git clone git@github.com:USERNAME/FORKED-PROJECT.git
- Create a new branch based-off `develop` branch:
git checkout develop
git checkout -b github_userName/XXXX
-
Implement the changes or additions you intend to contribute. Whether it's bug fixes, new features, or enhancements, this is where you put your coding skills to use.
-
Once your changes are ready, you may then commit and push the changes from your working branch:
git commit -m "fix(xxxx-name_of_bug): nice commit description"
git push origin github_userName/XXXX
We require all commits in this repository to adhere to the following commit message format.
<type>: <description> (#<issue number>)
[optional body]
This format is based on Conventional Commits. Please refer to the Conventional Commits specification for more details.
If you plan on doing anything more than just a small quick fix, you’ll want to make sure you keep your fork up to date by tracking the original "upstream" repo that you forked.
Follow the steps given below to do so:
- Add the 'upstream' repo to list of remotes:
git remote add upstream https://github.com/rnadigital/agentcloud.git
- Fetch upstream repo’s branches and latest commits:
git fetch upstream
- Checkout to the `github_userName/XXXX` branch and merge the upstream:
git checkout github_userName/XXXX
git rebase upstream/main
Now, your local 'github_userName/XXXX' branch is up-to-date with everything modified upstream!
- Now it's time to create a pull request back to the upstream repository and follow the pull request template guidelines.
- Wait for a review and address any comments.
- Fork the repo and create your branch from
develop
. - As long as you are working on your PR, please mark it as a draft
- Please make sure that your PR is up-to-date with the latest changes in
master
- Fill out the PR template
- Mention the issue that your PR is addressing (closes: #)
- Make sure that your PR passes all checks
- Keep pull requests small and focused, if you have multiple changes, please open multiple PRs
- Make sure to test your changes
- If you have multiple commits in your PR, that solve the same problem, please squash the commits
- Be respectful and constructive
- Assign yourself to the PR
- Check if all checks are passing
- Suggest changes instead of simply commenting on found issues
- If you are unsure about something, ask the author
- If you are not sure if the changes work, try them out
- Reach out to other reviewers if you are unsure about something
- If you are happy with the changes, approve the PR
- If you've rights then merge the PR once it has all approvals and the checks are passing
- Ensure the bug was not already reported by searching on GitHub under Issues.
- If you're unable to find an open issue addressing the problem, open a new one.
- Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
- Open a new issue with a clear title and detailed description about the enhancement you wish to see.
- Describe the current behavior and explain which behavior you expected to see instead and why.
- Include screenshots and videos which help demonstrate the steps or point you're making.
It's crucial to acknowledge the significance of various types of testing. Alongside conducting unit tests for your contributed code.
By contributing, you agree that your contributions will be licensed under the project's existing license, the GNU Affero General Public License, version 3 only.