From 24b9988cdbdf261e9a857dcdfb1f33d0f6abfcd5 Mon Sep 17 00:00:00 2001 From: Gordon Murray Date: Tue, 7 Apr 2026 21:30:58 +0100 Subject: [PATCH] docs: add GitHub issue templates for bug reports and feature requests Adds two YAML issue forms under `.github/ISSUE_TEMPLATE/`: - `bug_report.yml` with a required dropdown for the container tag, plus required fields for host OS, reproduction steps, and error output. The container tag dropdown means triage no longer has to ask "which version are you running" as a first reply. - `feature_request.yml` with summary, use case, optional implementation sketch, and a required checkbox confirming the filer has read the design constraints in CONTRIBUTING.md. YAML issue forms enforce required fields at submit time, unlike Markdown templates where users can delete the placeholders. Fixes #44 --- .github/ISSUE_TEMPLATE/bug_report.yml | 79 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.yml | 52 ++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..206f3ed --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,79 @@ +name: Bug report +description: Report a bug or unexpected behavior in the viewer +title: "[bug]: " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to file a bug report. Please fill out the + fields below so the issue can be reproduced quickly. + + - type: dropdown + id: container-tag + attributes: + label: Container tag + description: Which Lance Data Viewer container are you running? + options: + - "lancedb-0.29.2 (recommended)" + - "lancedb-0.24.3" + - "lancedb-0.16.0" + - "lancedb-0.5" + - "lancedb-0.3.4" + - "lancedb-0.3.1" + - "Built locally from source" + - "Other / unknown" + validations: + required: true + + - type: input + id: host-os + attributes: + label: Host OS + description: "e.g. Ubuntu 22.04, macOS 14.4, Windows 11 with WSL2" + placeholder: "Ubuntu 22.04" + validations: + required: true + + - type: input + id: lance-source + attributes: + label: Lance data source + description: "What wrote the Lance files you are viewing? (e.g. lancedb 0.29.2 via Python, an existing dataset, an Airflow pipeline)" + placeholder: "lancedb 0.29.2 via Python" + validations: + required: false + + - type: textarea + id: what-happened + attributes: + label: What happened? + description: A clear description of the bug. + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What did you expect to happen instead? + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: Reproduction steps + description: Exact commands you ran, including the `docker run` or `docker compose` invocation if applicable. + render: shell + validations: + required: true + + - type: textarea + id: logs + attributes: + label: Logs or error output + description: Paste any relevant logs from the container or browser console. + render: shell + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..040021b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,52 @@ +name: Feature request +description: Suggest a new feature or enhancement +title: "[feat]: " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Thanks for suggesting a feature. Before filing, please read the + design constraints in [CONTRIBUTING.md](https://github.com/lance-format/lance-data-viewer/blob/main/CONTRIBUTING.md). + Proposals that conflict with those constraints are unlikely to be + accepted without a strong justification. + + - type: textarea + id: summary + attributes: + label: Summary + description: One or two sentences describing the feature. + validations: + required: true + + - type: textarea + id: use-case + attributes: + label: Use case + description: What problem does this solve? Who benefits and how? + validations: + required: true + + - type: textarea + id: approach + attributes: + label: Proposed approach + description: If you have an implementation sketch, share it here. Optional. + validations: + required: false + + - type: checkboxes + id: constraints + attributes: + label: Design constraint check + description: | + Confirm the proposal is compatible with the project's load-bearing + design constraints: + - Vanilla JS with no build step + - GET-only, stateless API + - No metadata database + - No in-app authentication + - Read-only access + options: + - label: "I have read CONTRIBUTING.md and this proposal does not conflict with the load-bearing design constraints." + required: true