Skip to content

Commit

Permalink
chore(cli): break issue template into bug report, feature request, an…
Browse files Browse the repository at this point in the history
…d documentation gap (#5828)

* add title

* chore(ci): separate issue templates in to 3 options

* remove issue_form generic
  • Loading branch information
dannysheridan authored Feb 2, 2025
1 parent 60f187e commit 2362051
Show file tree
Hide file tree
Showing 4 changed files with 281 additions and 175 deletions.
148 changes: 148 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -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
70 changes: 70 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation_writing.yml
Original file line number Diff line number Diff line change
@@ -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
63 changes: 63 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -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
Loading

0 comments on commit 2362051

Please sign in to comment.