From c99e8e8cb791e5f1d908f584891e178f85c289cd Mon Sep 17 00:00:00 2001 From: Mark Percival Date: Sat, 21 Dec 2024 20:14:45 -0800 Subject: [PATCH] Chore: Add issue/PR template, CoC and Contributing guide (#774) - Added issue and PR templates - Improved issue chooser - Added Code of Conduct and Contributing guide - Includes contributor agreement to Apache 2.0 --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- .github/ISSUE_TEMPLATE/config.yml | 6 +-- .github/pull_request_template.md | 23 ++++++++ CODE_OF_CONDUCT.md | 76 +++++++++++++++++++++++++++ CONTRIBUTING.md | 69 ++++++++++++++++++++++++ 5 files changed, 172 insertions(+), 4 deletions(-) create mode 100644 .github/pull_request_template.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index eb61061771..39e81ab678 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,4 +1,4 @@ -name: Bug Report +name: 🐛 Bug Report description: File a bug report labels: ["bug"] body: diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index cad57bdc0e..1a9da01164 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,11 +1,11 @@ blank_issues_enabled: false contact_links: - - name: Feature Request + - name: ✨ Feature Request url: https://github.com/cline/cline/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop about: Share and vote on feature requests for Cline - - name: Cline Discord + - name: 👋 Cline Discord url: https://discord.gg/cline about: Join our Discord community for discussions and support - - name: Other Questions? + - name: ❓ Other Questions? url: https://x.com/sdrzn about: Contact the developer on X @sdrzn for other inquiries diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000..4638e74960 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,23 @@ +### Description + + +### Type of Change + + +- [ ] 🐛 Bug fix (non-breaking change which fixes an issue) +- [ ] ✨ New feature (non-breaking change which adds functionality) +- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] 📚 Documentation update + +### Pre-flight Checklist + + +- [ ] Changes are limited to a single feature, bugfix or chore (split larger changes into seperate PRs) +- [ ] Tests are passing (`npm test`) and code is formatted and linted (`npm run format && npm run lint`) +- [ ] I have reviewed [contributor guidelines](https://github.com/cline/cline/blob/main/CONTRIBUTOR.md) + +### Screenshots + + +### Additional Notes + diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000000..a28ddddd59 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at saoud@cline.bot. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..1d853e2817 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,69 @@ +# 🤖 Contributing to Cline + +Welcome, human! We're thrilled you're interested in contributing to Cline. Whether you're fixing a bug, adding a feature, or improving our docs, every contribution makes Cline smarter! + +## ✌️ Being Part of the Community + +We have an awesome, diverse, and inclusive community of humans (and friendly AI assistants). To keep our community vibrant and welcoming, all members must adhere to our [Code of Conduct](CODE_OF_CONDUCT.md). + +## 🐛 Reporting Bugs or Issues + +Bug reports help make Cline better for everyone! Before creating a new issue, please [search existing ones](https://github.com/cline/cline/issues) to avoid duplicates. When you're ready to report a bug, head over to our [issues page](https://github.com/cline/cline/issues/new/choose) where you'll find a template to help you with filling out the relevant information. + +
+ 🔐 Important: If you discover a security vulnerability, please use the Github security tool to report it privately. +
+ +## 🎯 Deciding What to Work On + +See something that could be improved? Feel free to create a pull request directly! Whether it's fixing a typo or adding a cool new AI feature, we love surprises (the good kind, not the "undefined is not a function" kind). + +If you're planning to work on a bigger feature, please create an issue first so we can discuss whether it aligns with Cline's vision. + +## 💻 Writing and Submitting Code + +Anyone can contribute code to Cline, but we ask that you follow these guidelines to ensure your contributions can be smoothly integrated: + +1. **Keep Pull Requests Focused** + - Limit PRs to a single feature or bug fix + - Split larger changes into smaller, related PRs + - Try and limit the PR to a single commit + +2. **Code Quality** + - Run `npm run lint` to ensure code follows our style guidelines + - Run `npm run format` to format your code with Prettier + - Address any ESLint warnings or errors before submitting + - Follow TypeScript best practices and maintain type safety + +3. **Testing** + - Add tests for new features + - Run `npm test` to ensure all tests pass + - Update existing tests if your changes affect them + - Include both unit tests and integration tests where appropriate + +4. **Documentation** + - Update documentation for any changed functionality + - Update the README if your changes affect usage or setup + +5. **Commit Guidelines** + - Write clear, descriptive commit messages + - Use conventional commit format (e.g., "feat:", "fix:", "docs:") + - Reference relevant issues in commits using #issue-number + +6. **Before Submitting** + - Rebase your branch on the latest main + - Ensure your branch builds successfully + - Double-check all tests are passing + - Review your changes for any debugging code or console logs + +7. **Pull Request Description** + - Clearly describe what your changes do + - Include steps to test the changes + - List any breaking changes + - Add screenshots for UI changes + +## Contribution Agreement + +By submitting a pull request, you agree that your contributions will be licensed under the same license as the project ([Apache 2.0](LICENSE)). + +Remember: Contributing to Cline isn't just about writing code - it's about being part of a community that's shaping the future of AI-assisted development. Let's build something amazing together! 🚀