Просмотр исходного кода

new feature github template + readme (#4211)

* constributing

* nit

* nit
Toshii 6 месяцев назад
Родитель
Сommit
802e72f1bf

+ 1 - 4
.github/ISSUE_TEMPLATE/config.yml

@@ -1,4 +1,4 @@
-blank_issues_enabled: true
+blank_issues_enabled: false
 contact_links:
     - name: ✨ Feature Request
       url: https://github.com/cline/cline/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop
@@ -6,6 +6,3 @@ contact_links:
     - name: 👋 Cline Discord
       url: https://discord.gg/cline
       about: Join our Discord community for discussions and support
-    - name: ❓ Other Questions?
-      url: https://x.com/sdrzn
-      about: Contact the developer on X @sdrzn for other inquiries

+ 130 - 0
.github/ISSUE_TEMPLATE/feature_proposal.yml

@@ -0,0 +1,130 @@
+name: 📝 Detailed Feature Proposal
+description: Propose a new feature or improvement
+labels: ["proposal"]
+body:
+    - type: markdown
+      attributes:
+          value: |
+              **Feature Proposal for Cline**
+
+              Thank you for creating a feature proposal for Cline! This template is for clear, actionable proposals that define a specific problem and a high-confidence solution. Please provide enough detail to enable fast prioritization, discussion, and execution.
+
+              Detailed proposals will be prioritized, while vague proposals may be closed or require extensive back and forth communication.
+
+              Before submitting:
+              - Search existing [Issues](https://github.com/cline/cline/issues) and [Discussions](https://github.com/cline/cline/discussions) to avoid duplicates
+              - Don’t start implementation until the proposal is reviewed and approved
+
+    - type: textarea
+      id: problem-description
+      attributes:
+          label: What problem does this solve?
+          description: |
+              Describe the problem clearly from a user's point of view. Focus on why this matters, who it affects, and when it occurs.
+
+              ✅ Solid:
+              - "LLM provider returns 400 error when nearing the context window instead of truncating"
+              - "Submit button is invisible in dark mode"
+
+              ❌ Avoid:
+              - "Performance is bad"
+              - "UI needs work"
+
+              Your description should include:
+              - Who is affected?
+              - When does it happen?
+              - What's the current vs expected behavior?
+              - What is the impact?
+          placeholder: Be specific about the problem, who it affects, and the impact.
+      validations:
+          required: true
+
+    - type: textarea
+      id: proposed-solution
+      attributes:
+          label: What’s the proposed solution?
+          description: |
+              Describe how the problem should be solved. Be specific about UX, system behavior, and any flows that would change.
+
+              ✅ Solid:
+              - "Add error handling immediately after attempting to create the llm stream and retry after manually truncating"
+              - "Update button styling to ensure contrast in all themes"
+
+              ❌ Avoid:
+              - "Improve performance"
+              - "Fix the bug"
+
+              Your solution should include:
+              - What exactly will change?
+              - How will users interact with it?
+              - What’s the expected outcome?
+          placeholder: Describe the proposed changes and how they solve the problem.
+      validations:
+          required: true
+
+    - type: textarea
+      id: acceptance-criteria
+      attributes:
+          label: How will we know it works? (Acceptance Criteria)
+          description: Define clear, testable success criteria.
+          placeholder: Provide specific and testable conditions for success.
+      validations:
+          required: true
+
+    - type: textarea
+      id: estimated-effort
+      attributes:
+          label: Estimated effort and complexity
+          description: |
+              Help us understand scope and risks. Include:
+
+              - Size estimate (XS/S/M/L/XL or hours/days)
+              - Why this size? What’s technically involved?
+              - Any tricky parts, refactors, or risks?
+              - Performance or compatibility concerns?
+              - Any dependencies on systems, teams, or libraries?
+          placeholder: Size, reasoning, risks, and dependencies.
+      validations:
+          required: true
+
+    - type: textarea
+      id: technical-considerations
+      attributes:
+          label: Technical considerations, tradeoffs, and/or risks (optional)
+          description: |
+              Include any technical context that helps us evaluate or implement the proposal more effectively.
+
+              You may include:
+              - Architectural changes or required refactors
+              - Performance implications or system-level impacts
+              - Known limitations, risks, or tricky edge cases
+              - Compatibility concerns or migration steps
+              - Alternative approaches you considered and why they were not chosen
+              - Dependencies on other systems, teams, or libraries
+              - Were other approaches considered? Why is this one preferred?
+          placeholder: Technical considerations, tradeoffs, and/or risks.
+
+    - type: textarea
+      id: additional-context
+      attributes:
+          label: Additional context (optional)
+          description: Diagrams, mockups, logs, links, or anything else that helps explain or justify the proposal.
+          placeholder: Diagrams, mockups, logs, links, or anything else that helps explain or justify the proposal.
+
+    - type: checkboxes
+      id: checklist
+      attributes:
+          label: Proposal checklist
+          options:
+              - label: I’ve checked for existing issues or related proposals
+                required: true
+              - label: I understand this needs review before implementation can start
+                required: true
+
+    - type: checkboxes
+      id: willingness-to-contribute
+      attributes:
+          label: Interested in implementing this?
+          description: Optional
+          options:
+              - label: Yes, I’d like to help implement this feature

+ 11 - 10
.github/pull_request_template.md

@@ -1,16 +1,17 @@
-<!-- ⚠️ Important: Discussion Required Before PR (Community Contributors) -->
+<!--
+Thank you for contributing to Cline!
 
-**For community contributors, before submitting this PR, please ensure you have:**
+⚠️ Important: Before submitting this PR, please ensure you have:
+- Opened an issue and discussed your proposed changes with the community / contributors
+- Received approval from a core Cline contributor prior to proceeding with the implementation
+- Link the associated issue in the "Related Issue" section
 
-- [ ] **Opened an issue** to discuss your proposed changes with the community
-- [ ] **Received approval** from a core Cline contributor to proceed with the implementation
-- [ ] **Linked the issue below** in the "Related Issue" section
+Limited exceptions:
+Small bug fixes, typo corrections, minor wording improvements, or simple type fixes that don't change functionality may be submitted directly.
 
-**Exceptions:** Small bug fixes, typo corrections, minor wording improvements, or simple type fixes that don't change functionality may be submitted directly.
-
-**Why this requirement?** We deeply appreciate all community contributions - they are the core reason we're able to operate successfully and keep innovating! We welcome community input and want to make it as easy as possible for people to submit quality work. This process helps our core maintainers review new ideas faster and saves contributor time by ensuring you have the go-ahead before spending time on implementation.
-
----
+Why this requirement?
+We deeply appreciate all community contributions - they are the core reason we're able to operate successfully and keep innovating! We welcome community input and want to make it as easy as possible for people to submit quality work. This process helps our core maintainers review new ideas faster and saves contributor time by ensuring you have the go-ahead before spending time on implementation.
+-->
 
 ### Related Issue
 

+ 12 - 0
CONTRIBUTING.md

@@ -18,6 +18,18 @@ We also welcome contributions to our [documentation](https://github.com/cline/cl
 
 If you're planning to work on a bigger feature, please create a [feature request](https://github.com/cline/cline/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) first so we can discuss whether it aligns with Cline's vision.
 
+## Before Contributing
+
+All contributions must begin with a GitHub Issue, unless the change is for small bug fixes, typo corrections, minor wording improvements, or simple type fixes that don't change functionality.
+
+- **Check existing issues**: Search [GitHub Issues](https://github.com/cline/cline/issues).
+- **Create an issue**: Use appropriate templates:
+    - **Bugs:** "Bug Report" template.
+    - **Features:** "Detailed Feature Proposal" template. Approval from a core Cline contributor required before starting.
+- **Claim issues**: Comment your interest.
+
+**PRs without approved issues may be closed.**
+
 ## Development Setup
 
 1. **VS Code Extensions**