diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..1fd6096 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,190 @@ + + +Thank you for your interest in the Codefuse project. We warmly welcome any suggestions, opinions (including criticisms), comments, and contributions to the Codefuse project. + +Your suggestions, opinions, and comments on Codefuse can be directly submitted through GitHub Issues. + +There are many ways to participate in the Codefuse project and contribute to it: code implementation, test writing, process tool improvement, documentation enhancement, and more. We welcome any contributions and will add you to our list of contributors. + +Furthermore, with enough contributions, you may have the opportunity to become a Committer for Codefuse. + +For any questions, you can contact us for timely answers through various means including WeChat, Gitter (an instant messaging tool provided by GitHub), email, and more. + + +## Getting Started +If you are new to the Codefuse community, you can: +- Follow the Codefuse GitHub repository. +- Join related WeChat groups for Codefuse to ask questions at any time; + +Through the above methods, you can stay up-to-date with the development dynamics of the Codefuse project and express your opinions on topics of interest. + + +## Contributation Ways +This contribution guide is not just about writing code. We value and appreciate help in all areas. Here are some ways you can contribute: +- Documentation +- Issues +- Pull Requests (PR) + +### Improve Documentation +Documentation is the main way for you to understand Codefuse and is also where we need the most help! + +By browsing the documentation, you can deepen your understanding of Codefuse and also help you grasp the features and technical details of Codefuse. If you find any issues with the documentation, please contact us in time; + +If you are interested in improving the quality of the documentation, whether it is revising an address of a page, correcting a link, or writing a better introductory document, we are very welcoming! + +Most of our documentation is written in markdown format. You can directly modify and submit documentation changes in the docs/ directory on GitHub. For submitting code changes, please refer to Pull Requests. + +### If You Discover a Bug or Issue +If you discover a bug or issue, you can directly submit a new Issue through GitHub Issues, and someone will handle it regularly. For more details, see Issue Template.[Issue Template](#issue-template) + +You can also choose to read and analyze the code to fix it yourself (it is best to communicate with us before doing so, as someone might already be working on the same issue), and then submit a Pull Request. + +### Modify Code and Submit a PR (Pull Request) +You can download the code, compile, install, and deploy to try it out (you can refer to the compilation documentation to see if it works as you expected). If there are any issues, you can directly contact us, submit an Issue, or fix it yourself by reading and analyzing the source code. For more details, see[Contribution](#contribution) + +Whether it's fixing a bug or adding a feature, we warmly welcome it. If you wish to submit code to Doris, you need to fork the code repository to your project space on GitHub, create a new branch for your submitted code, add the original project as an upstream, and submit a PR. The method for submitting a PR can be referenced in the Pull Request documentation. + + +## Issue Type +Issues can be categorized into three types: +- Bug: Issues where code or execution examples contain bugs or lack dependencies, resulting in incorrect execution. +- Documentation: Discrepancies in documentation, inconsistencies between documentation content and code, etc. +- Feature: New functionalities that evolve from the current codebase. + +## Issue Template +### Issue: Bug Template + +**Checklist before submitting an issue** +
Please confirm that you have checked the document, issues, discussions (GitHub feature), and other publicly available documentation. +- I have searched through all documentation related to Codefuse. +- I used GitHub search to find a similar issue, but did not find one. +- I have added a very descriptive title for this issue. + +**System Information** +
Please confirm your operating system, such as mac-xx, windows-xx, linux-xx. + +**Code Version** +
Please confirm the code version or branch, such as master, release, etc. + +**Problem Description** +
Describe the problem you encountered, what you want to achieve, or the bug encountered during code execution. + +**Code Example** +
Attach your execution code and relevant configuration to facilitate rapid intervention and reproduction. + +**Error Information, Logs** +
The error logs and related information after executing the above code example. + +**Related Dependencies** +
Taking the chatbot project as an example: +- connector +- codechat +- sandbox +- ... + + +### Issue: Documentation Template + +**Issue with current documentation:** +
Please point out any problems, typos, or confusing points in the current documentation. + +**Idea or request for content** +
What do you think would be a reasonable way to express the documentation? + +### Issue: Feature Template + +**Checklist before submitting an issue** +
Please confirm that you have checked the document, issues, discussions (GitHub feature), and other publicly available documentation. +- I have searched through all documentation related to Codefuse. +- I used GitHub Issue search to find a similar issue, but did not find one. +- I have added a very descriptive title for this issue. + +**Feature Description** +
Describe the purpose of this feature. + +**Related Examples** +
Provide references to documents, repositories, etc., Please provide links to any relevant GitHub repos, papers, or other resources if relevant. + +**Motivation** +
Describe the motivation for this feature. Why is it needed? Provide enough context information to help understand the demand for this feature. + +**Contribution** +
How you can contribute to the building of this feature (if you are participating). + + + +## Contribution + +### Pre-Checklist +- First, confirm whether you have checked the document, issue, discussion (GitHub features), or other publicly available documentation. +- Find the GitHub issue you want to address. If none exists, create an issue or draft PR and ask a Maintainer for a check +- Check for related, similar, or duplicate pull requests +- Create a draft pull request +- Complete the PR template for the description +- Link any GitHub issue(s) that are resolved by your PR + +### Description + +A description of the PR should be articulated in concise language, highlighting the work completed by the PR. See specific standards at[Commit Format Specification](#Commit-Format-Specification) + +### Related Issue +#xx if has + +### Test Code with Result +Please provide relevant test code when necessary. + + + +## Commit Format Specification +A commit consists of a "title" and a "body." The title should generally be in lowercase, while the first letter of the body should be uppercase. + +### Title +The title of the commit message: `[]() (#pr)` + + +### Type - Available Options + +本次提交的类型,限定在以下类型(全小写) +- fix: Bug fixes +- feature: New features +- feature-wip: Features that are currently in development, such as partial code for a function. +- improvement: Optimizations and improvements to existing features +- style: Adjustments to code style +- typo: Typographical errors in code or documentation +- refactor: Code refactoring (without changing functionality) +- performance/optimize: Performance optimization +- test: Addition or fix of unit tests +- deps: Modifications to third-party dependencies +- community: Community-related changes, such as modifying Github Issue templates, etc. + +Please note: + +If multiple types occur in one commit, add multiple types. + +If code refactoring leads to performance improvement, both [refactor][optimize] can be added. + +Other types not listed above should not appear. If necessary, new types must be added to this document. + +### Scope - Available Options +The scope of the modules involved in the current submission. Due to the multitude of functional modules, only a few are listed here, and this list will be updated continuously based on needs. + +For example, using a chatbot framework: +connector +codechat +sandbox +... + +Please note: + +Try to use options that are already listed. If you need to add new ones, please update this document promptly. + +### Subject Content +The title should clearly indicate the main content of the current submission. + + +## Example +comming soon + + +## Reference +[doris-commit-format](https://doris.apache.org/zh-CN/community/how-to-contribute/commit-format-specification) \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 0000000..275bb66 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,140 @@ +name: "\U0001F41B Bug Report" +description: Report a bug in Codefuse. To report a security issue, please instead use the security option below. +labels: ["01 Bug Report"] +body: + - type: markdown + attributes: + value: > + Thank you for taking the time to file a bug report. + + Use this to report bugs in Codefuse. + + If you're not certain that your issue is due to a bug in Codefuse, please use [GitHub Discussions](https://github.com/codefuse-ai/codefuse-chatbot/discussions) + to ask for help with your issue. + + We warmly welcome any suggestions, opinions (including criticisms), comments, and contributions to the Codefuse project. + + Relevant links to check before filing a bug report to see if your issue has already been reported, fixed or + if there's another way to solve your problem: + + [API Reference](https://codefuse-ai.github.io/), + [GitHub search](https://github.com/codefuse-ai/codefuse-chatbot), + [Chatbot Github Discussions](https://github.com/codefuse-ai/codefuse-chatbot/discussions), + [Chatbot Github Issues](https://github.com/codefuse-ai/codefuse-chatbot/issues) + + - type: checkboxes + id: checks + attributes: + label: Checked other resources + description: Please confirm and check all the following options. + options: + - label: I searched the Codefuse documentation with the integrated search. + required: true + - label: I used the GitHub search to find a similar question and didn't find it. + required: true + - label: I am sure that this is a bug in Codefuse-Repos rather than my code. + required: true + - label: I added a very descriptive title to this issue. + required: true + + - type: dropdown + id: system-info + attributes: + label: System Info + description: > + Please select the operating system you were using to run codefuse-ai/repos when this problem occurred. + options: + - Windows + - Linux + - MacOS + - Docker + - Devcontainer / Codespace + - Windows Subsystem for Linux (WSL) + - Other + validations: + required: true + nested_fields: + - type: text + attributes: + label: Specify the system + description: Please specify the system you are working on. + + - type: dropdown + attributes: + label: Code Version + description: | + Please select which version of Codefuse-Repos you were using when this issue occurred. + **If you weren't please try with the **. + If installed with git you can run `git branch` to see which version of codefuse-ai you are running. + options: + - Latest Release + - Stable (branch) + - Master (branch) + validations: + required: true + + - type: textarea + id: description + attributes: + label: Description + description: | + What is the problem, question, or error? + + Write a short description telling what you are doing, what you expect to happen, and what is currently happening. + placeholder: | + * I'm trying to use the `coagent` library to do X. + * I expect to see Y. + * Instead, it does Z. + validations: + required: true + + - type: textarea + id: reproduction + validations: + required: true + attributes: + label: Example Code + description: | + Please add a self-contained, [minimal, reproducible, example](https://stackoverflow.com/help/minimal-reproducible-example) with your use case. + + If a maintainer can copy it, run it, and see it right away, there's a much higher chance that you'll be able to get help. + + **Important!** + + * Use code tags (e.g., ```python ... ```) to correctly [format your code](https://help.github.com/en/github/writing-on-github/creating-and-highlighting-code-blocks#syntax-highlighting). + * INCLUDE the language label (e.g. `python`) after the first three backticks to enable syntax highlighting. (e.g., ```python rather than ```). + * Reduce your code to the minimum required to reproduce the issue if possible. This makes it much easier for others to help you. + * Avoid screenshots when possible, as they are hard to read and (more importantly) don't allow others to copy-and-paste your code. + + placeholder: | + The following code: + + ```python + from coagent.tools import toLangchainTools, TOOL_DICT, TOOL_SETS + from coagent.connector.phase import BasePhase + from coagent.connector.schema import Message + + phase_name = "baseGroupPhase" + phase = BasePhase( + phase_name, embed_config=embed_config, llm_config=llm_config, + ) + + query_content = "确认本地是否存在employee_data.csv,并查看它有哪些列和数据类型;然后画柱状图" + query = Message( + role_name="human", role_type="user", tools=[], + role_content=query_content, input_query=query_content, origin_query=query_content, + ) + + output_message, output_memory = phase.step(query) + ``` + + - type: textarea + id: error + validations: + required: false + attributes: + label: Error Message and Stack Trace (if applicable) + description: | + If you are reporting an error, please include the full error message and stack trace. + placeholder: | + Exception + full stack trace diff --git a/.github/ISSUE_TEMPLATE/documentation.yml b/.github/ISSUE_TEMPLATE/documentation.yml new file mode 100644 index 0000000..a239f9d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.yml @@ -0,0 +1,19 @@ +name: Documentation +description: Report an issue related to the Codefuse documentation. +title: "DOC: " +labels: [02 - Documentation] + +body: +- type: textarea + attributes: + label: "Issue with current documentation:" + description: > + Please make sure to leave a reference to the document/code you're + referring to. + +- type: textarea + attributes: + label: "Idea or request for content:" + description: > + Please describe as clearly as possible what topics you think are missing + from the current documentation. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/features.yml b/.github/ISSUE_TEMPLATE/features.yml new file mode 100644 index 0000000..95f8791 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/features.yml @@ -0,0 +1,43 @@ +name: Feature request 🚀 +description: Suggest a new idea for Codefuse! +labels: ['03 New Features'] +body: + - type: markdown + attributes: + value: | + First, check out our [wiki page on Contributing](https://github.com/Significant-Gravitas/Nexus/wiki/Contributing) + Please provide a searchable summary of the issue in the title above ⬆️. + - type: checkboxes + attributes: + label: Duplicates + description: Please [search the history](https://github.com/Significant-Gravitas/AutoGPT/issues) to see if an issue already exists for the same problem. + options: + - label: I have searched the existing issues + required: true + + + - type: checkboxes + id: checks + attributes: + label: Checked other resources + description: Please confirm and check all the following options. + options: + - label: I searched the Codefuse documentation with the integrated search. + required: true + - label: I used the GitHub search to find a similar question and didn't find it. + required: true + + - type: textarea + attributes: + label: Summary 💡 + description: Describe how it should work. + + - type: textarea + attributes: + label: Examples 🌈 + description: Provide a link to other implementations, or screenshots of the expected behavior. + + - type: textarea + attributes: + label: Motivation 🔦 + description: What are you trying to accomplish? How has the lack of this feature affected you? Providing context helps us come up with a solution that is more useful in the real world. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..e69de29