diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000000..e3cdcee2b89 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,148 @@ +name: "Bug Report" +description: "Something isn't working? Let us know!" +title: "[Bug]: " +labels: ["bug"] +assignees: [dsheridan] +body: + - type: markdown + attributes: + value: "### 🛠 Thanks for reporting a bug! Please provide the details below." + + - type: dropdown + id: product + attributes: + label: "Which Fern component?" + options: + - "SDK Generator" + - "Fern CLI" + - "Fern Docs" + - "Other" + validations: + required: true + + - type: dropdown + id: priority + attributes: + label: "How urgent is this?" + options: + - "P0 - Critical (Blocking work)" + - "P1 - High (Strongly needed)" + - "P2 - Medium (Would be helpful)" + - "P3 - Low (Nice to have)" + validations: + required: true + + - type: dropdown + id: reproducibility + attributes: + label: "How often does this happen?" + options: + - "Every time" + - "Frequently (50%+ of the time)" + - "Occasionally (~10-50% of the time)" + - "Rarely (<10% of the time)" + - "Not sure" + validations: + required: false + + - type: textarea + id: issue-description + attributes: + label: "What's the issue?" + description: "Steps to reproduce, expected vs. actual behavior." + placeholder: | + Example: + 1. Run `fern generate --group typescript-sdk` + 2. Open the generated code in `sdk/my-api.ts` + 3. Notice `Client.fetch()` returns incorrect response + + **Expected**: Returns a properly typed object. + **Actual**: Returns `any` instead. + validations: + required: true + + - type: textarea + id: logs + attributes: + label: "Logs or Error Messages" + description: "Paste any relevant logs, stack traces, or CLI output." + placeholder: "Copy and paste logs here..." + validations: + required: false + + - type: textarea + id: environment + attributes: + label: "Environment Details" + description: "What OS, browser, or runtime are you using?" + placeholder: "e.g., macOS 14.2, Node.js 18.17.1, Python 3.11" + validations: + required: false + + # SDK Generator-specific fields + - type: markdown + attributes: + value: "#### SDK Generator (if applicable)" + - type: textarea + id: generator-version + attributes: + label: "SDK Generator Version" + placeholder: "e.g., fernapi/fern-typescript-node-sdk 0.9.5" + validations: + required: false + - type: textarea + id: api-spec + attributes: + label: "Minimal API Spec" + placeholder: "Provide a small spec to reproduce the issue" + validations: + required: false + + # CLI-specific fields + - type: markdown + attributes: + value: "#### Fern CLI (if applicable)" + - type: textarea + id: cli-command + attributes: + label: "CLI Command Used" + placeholder: "e.g., fern generate --docs --preview --log-level debug" + validations: + required: false + - type: textarea + id: cli-version + attributes: + label: "CLI Version" + placeholder: "e.g., 0.50.3" + validations: + required: false + + # API Docs-specific fields + - type: markdown + attributes: + value: "#### Fern Docs (if applicable)" + - type: input + id: doc-url + attributes: + label: "URL of the Documentation Page" + placeholder: "e.g., https://buildwithfern.com/learn/some-page" + validations: + required: false + + - type: textarea + id: workaround + attributes: + label: "Have you found a workaround? (Optional)" + description: "If you’ve found a temporary solution, let us know." + placeholder: "Describe any workarounds..." + validations: + required: false + + - type: textarea + id: file-attachment + attributes: + label: "Attach Files (Optional)" + description: "Screenshots, logs, or relevant files." + placeholder: "Drag and drop files or paste links here..." + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/documentation_writing.yml b/.github/ISSUE_TEMPLATE/documentation_writing.yml new file mode 100644 index 00000000000..483297bb58e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation_writing.yml @@ -0,0 +1,70 @@ +name: "Documentation Issue or Gap" +description: "Is something missing or incorrect in the docs? Let us know!" +title: "[Docs]: " +labels: ["documentation"] +assignees: [dsheridan] +body: + - type: markdown + attributes: + value: "### 📖 Thanks for helping improve the docs! Please provide details below." + + - type: dropdown + id: issue-type + attributes: + label: "What's the issue?" + options: + - "Missing content (not covered in the docs)" + - "Incorrect information" + - "Unclear explanation" + - "Other" + validations: + required: true + + - type: input + id: doc-url + attributes: + label: "URL of the documentation page (if applicable)" + placeholder: "e.g., https://buildwithfern.com/learn/some-page" + validations: + required: false + + - type: textarea + id: issue-description + attributes: + label: "Describe the gap or issue" + description: "What's missing or incorrect? Be as specific as possible." + placeholder: | + Example: + - **Missing Content**: No guidance on setting up API authentication. + - **Expected**: Documentation should explain how to configure API keys and OAuth. + - **Current**: No mention of authentication setup. + validations: + required: true + + - type: textarea + id: suggested-improvement + attributes: + label: "How should this be improved?" + description: "Suggest wording, examples, or details to add." + placeholder: "Provide updated wording, code snippets, or new details." + validations: + required: false + + - type: dropdown + id: contribute + attributes: + label: "Are you interested in contributing this docs improvement?" + options: + - "Yes, I'd love to!" + - "No, just reporting the issue." + validations: + required: false + + - type: textarea + id: file-attachment + attributes: + label: "Attach Files (Optional)" + description: "Screenshots or relevant files to clarify the issue." + placeholder: "Drag and drop files or paste links here..." + validations: + required: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000000..64afea4dd92 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,63 @@ +name: "Feature Request" +description: "Suggest a new feature or improvement for Fern." +title: "[Feature]: " +labels: ["enhancement"] +assignees: [dsheridan] +body: + - type: markdown + attributes: + value: "### 🚀 Thanks for helping make Fern better! Please fill out the details below." + + - type: dropdown + id: product + attributes: + label: "Which Fern component?" + options: + - "SDK Generator" + - "Fern CLI" + - "Fern Docs" + - "Other" + validations: + required: true + + - type: dropdown + id: priority + attributes: + label: "How important is this?" + options: + - "P0 - Critical (Blocking work)" + - "P1 - High (Strongly needed)" + - "P2 - Medium (Would be helpful)" + - "P3 - Low (Nice to have)" + validations: + required: true + + - type: textarea + id: proposed-feature + attributes: + label: "What's the feature?" + description: "Clearly describe the functionality and how it is useful." + placeholder: | + Example: + - **Feature**: Auto-retry for failed SDK requests. + - **Why**: Reduces manual retry logic. + - **How**: Add built-in retries with configurable settings. + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: "Any alternatives?" + description: "Have you tried workarounds or similar solutions?" + placeholder: "Describe any alternatives..." + validations: + required: false + + - type: textarea + id: additional-context + attributes: + label: "Anything else? (Optional)" + placeholder: "Links, screenshots, or related issues..." + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/issue_form.yml b/.github/ISSUE_TEMPLATE/issue_form.yml deleted file mode 100644 index 8e2864a4e94..00000000000 --- a/.github/ISSUE_TEMPLATE/issue_form.yml +++ /dev/null @@ -1,175 +0,0 @@ -name: "Report an Issue or Suggest a Feature" -description: "File a bug, feature request, or documentation issue for Fern" -title: "[Issue]: " -labels: [] -assignees: [dsheridan] -body: - - type: input - id: title - attributes: - label: "Issue Title" - description: "Provide a descriptive title for your issue" - validations: - required: true - - - type: dropdown - id: issue-type - attributes: - label: "What type of issue are you reporting?" - options: - - "Bug (Something isn't working)" - - "Feature Request (I'd like a new feature)" - - "Documentation Issue (There's a mistake in the docs)" - - "Other" - multiple: false - validations: - required: true - - - type: dropdown - id: product - attributes: - label: "Which Fern component are you reporting about?" - description: "Select the specific part of Fern that you're experiencing issues with or want to improve" - options: - - "SDK Generator" - - "Fern Docs" - - "Fern CLI" - - "Our Documentation (/learn on buildwithfern.com)" - - "Other" - multiple: false - validations: - required: true - - - type: textarea - id: issue-description - attributes: - label: "Describe the issue" - description: "Provide as much detail as possible, including steps to reproduce, expected behavior, and actual behavior." - placeholder: "Describe the issue in detail..." - validations: - required: true - - # CLI-Specific Fields - - type: textarea - id: cli-command - attributes: - label: "CLI Command Used" - description: "Paste the exact CLI command that caused the issue." - placeholder: "e.g., fern generate-sdk --version latest..." - validations: - required: false - - - type: textarea - id: cli-version - attributes: - label: "CLI Version" - placeholder: "e.g., 0.50.3" - validations: - required: false - - # SDK-Specific Fields - - type: textarea - id: generator-version - attributes: - label: "SDK Generator Version" - placeholder: "e.g., fernapi/fern-typescript-node-sdk 0.9.5" - validations: - required: false - - - type: textarea - id: api-spec - attributes: - label: "Minimal API Specification" - description: "Provide the smallest API spec necessary to reproduce the issue." - placeholder: "Paste API spec here..." - validations: - required: false - - - type: textarea - id: actual-code - attributes: - label: "Actual Generated Code" - description: "Paste the generated code that contains the issue." - placeholder: "Paste generated code here..." - validations: - required: false - - - type: textarea - id: expected-code - attributes: - label: "Expected Generated Code" - description: "Provide an example of what you expected the generated code to look like." - placeholder: "Paste expected code here..." - validations: - required: false - - # API Docs-Specific Fields - - type: textarea - id: docs-error - attributes: - label: "Documentation Error Details" - description: "Describe any errors, missing information, or inconsistencies in your published API Docs." - placeholder: "The `/users` endpoint is missing parameter X..." - validations: - required: false - - # Documentation Page URL - - type: input - id: doc-url - attributes: - label: "URL of the Documentation Page" - placeholder: "e.g., https://buildwithfern.com/learn/some-page" - validations: - required: false - - - type: textarea - id: suggested-improvement - attributes: - label: "Suggested Improvement" - description: "Describe what should be improved and how." - placeholder: "Suggest an improvement..." - validations: - required: false - - # Feature Request Fields - - type: textarea - id: proposed-feature - attributes: - label: "Feature Proposal" - description: "Describe the new feature, why it's needed, and any alternatives considered." - placeholder: "Explain the feature idea..." - validations: - required: false - - # File Attachment (for all issues) - - type: textarea - id: file-attachment - attributes: - label: "Attach Files (Optional)" - description: "Attach screenshots, logs, or any relevant files to help us debug." - placeholder: "Drag and drop files or paste links here..." - validations: - required: false - - # Urgency Dropdown (for all issues) - - type: dropdown - id: urgency - attributes: - label: "How urgent is this?" - options: - - "Blocking production" - - "High - impacts many users" - - "Medium - inconvenient but manageable" - - "Low - minor issue" - validations: - required: false - - # Environment Details - - type: textarea - id: environment-details - attributes: - label: "Environment Details (Optional)" - description: "Include OS, browser, or other relevant environment details." - placeholder: "e.g., macOS 12.1, Chrome 90" - validations: - required: false