diff --git a/.github/ISSUE_TEMPLATE/documentation.yml b/.github/ISSUE_TEMPLATE/documentation.yml new file mode 100644 index 0000000..cd48a91 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.yml @@ -0,0 +1,65 @@ +name: Documentation Issue +description: Something in the documentation is missing, wrong, or unclear +labels: ["documentation"] +body: + + - type: markdown + attributes: + value: | + Good documentation reports are specific — include the exact page or section and what is wrong or missing. + + - type: dropdown + id: doc_type + attributes: + label: Documentation type + description: Which part of the documentation is affected? + options: + - Installation or setup guide + - Configuration reference + - CLI reference + - API / module reference + - Architecture or design docs + - Usage examples + - Troubleshooting guide + - Missing documentation (topic not covered anywhere) + - Other + validations: + required: true + + - type: dropdown + id: issue_type + attributes: + label: Type of issue + options: + - Incorrect — documentation says something wrong + - Incomplete — documentation is missing key information + - Unclear — documentation is hard to understand + - Outdated — documentation no longer matches current behaviour + - Missing — this topic is not documented at all + validations: + required: true + + - type: input + id: location + attributes: + label: Location + description: URL, file path, or section name where the issue is. + placeholder: "e.g. docs/USAGE.md — Configuration section" + validations: + required: false + + - type: textarea + id: description + attributes: + label: What is wrong or missing? + description: Be specific. Quote the incorrect text if applicable. + validations: + required: true + + - type: textarea + id: suggestion + attributes: + label: Suggested correction or addition + description: What should the documentation say or include? + 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..db43d46 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,89 @@ +name: Feature Request or Enhancement +description: Propose a new capability or improvement to an existing one +labels: ["enhancement"] +body: + + - type: markdown + attributes: + value: | + Describe the capability you need, not the implementation. + Be specific about the scientific or operational problem this solves. + + - type: dropdown + id: area + attributes: + label: Area + description: Which part of Adapt does this affect? + options: + - Acquisition — data download or queuing + - Ingest — file reading or regridding + - Detection — segmentation or cell labelling + - Analysis — cell property computation + - Projection — multi-scan projection + - Tracking — cell linking or events + - Persistence — catalog or data storage + - Configuration — config schema or validation + - CLI — commands or output + - Dashboard — display or interaction + - New module or data source + - Other / cross-cutting + validations: + required: true + + - type: dropdown + id: motivation + attributes: + label: Motivation + description: What is driving this request? + options: + - Science — needed for a research or analysis workflow + - Operations — needed for real-time ARM radar operations + - Developer experience — improves development or testing + - Performance — speed or resource usage + - Other + validations: + required: true + + - type: textarea + id: problem + attributes: + label: Problem + description: What can you not do today, or what works poorly? Be concrete. + placeholder: "Currently, Adapt cannot ... which means ..." + validations: + required: true + + - type: textarea + id: proposed + attributes: + label: Proposed solution + description: How should it work? Describe behaviour, not implementation. + placeholder: "Adapt should ..." + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Other approaches you evaluated and why you ruled them out. + validations: + required: false + + - type: textarea + id: context + attributes: + label: Additional context + description: References, papers, related issues, or example data. + validations: + required: false + + - type: checkboxes + id: checklist + attributes: + label: Checklist + options: + - label: I searched existing issues and this has not been requested before + required: true + - label: This is one focused request, not multiple features bundled together + required: true diff --git a/.github/ISSUE_TEMPLATE/new_algorithm.yml b/.github/ISSUE_TEMPLATE/new_algorithm.yml new file mode 100644 index 0000000..d60b0fc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/new_algorithm.yml @@ -0,0 +1,146 @@ +name: New Analysis or Algorithm Request +description: Request a new calculation, measurement, or algorithm to be added to Adapt +labels: ["algorithm", "enhancement"] +body: + + - type: markdown + attributes: + value: | + Use this form to request any new scientific calculation, cell property, classification, + or algorithm — whether it produces a new column in the cell table, a new gridded field, + or an entirely new output. Be as specific as possible in every section. + + - type: input + id: algorithm_name + attributes: + label: Name of the algorithm or analysis + placeholder: "e.g. Hail detection using ZDR columns, elliptical shape analysis of cell masks" + validations: + required: true + + - type: textarea + id: science_case + attributes: + label: Why is this important? + description: | + What scientific question does this answer or what operational need does it serve? + How would the results be interpreted and used? + placeholder: | + This is important because ... + The results would be interpreted as ... + It would be used for ... + validations: + required: true + + - type: textarea + id: description + attributes: + label: Describe the algorithm + description: | + Explain how the algorithm works in your own words. Include the physical principle, + key variables involved, and any thresholds or parameters that matter. + placeholder: | + The algorithm works by ... + Key variables: ... + Important thresholds or parameters: ... + validations: + required: true + + - type: textarea + id: references + attributes: + label: References + description: Papers, technical reports, or documentation. Include DOI where available. + placeholder: | + - Author et al. (year), Title, Journal. DOI: + validations: + required: true + + - type: textarea + id: existing_code + attributes: + label: Existing code or notebooks + description: | + Link or attach any existing implementation, notebook, or open-source code that demonstrates + this algorithm. Not required but significantly speeds up implementation. + placeholder: | + - GitHub / notebook URL: + - Library (e.g. PyART, CSU_RadarTools, Tobac): + - Personal script or notebook (paste below or attach): + validations: + required: false + + - type: textarea + id: inputs_outputs + attributes: + label: Inputs and outputs + description: | + What data does the algorithm need as input? + What does it produce? Describe variables, units, and dimensions. + placeholder: | + Inputs: + - e.g. reflectivity (x, y, z) in dBZ + - e.g. differential reflectivity ZDR (x, y, z) in dB + + Output: + - e.g. hail probability per cell (0–1, scalar per cell) + - e.g. classification field (x, y) gridded + validations: + required: true + + - type: textarea + id: output_schema + attributes: + label: Output schema + description: | + Does the output fit an existing Adapt table (cell properties table with scan_time + cell_uid, + or track events table), or does it produce a gridded field, or does it need a new table entirely? + Describe the columns or fields needed, with types and units. + placeholder: | + Output type: gridded field / new column in cell table / new table / other + + If new column in cell table: + - column name, type, unit: ... + + If gridded: + - dimensions: x, y, z, time + - variable name, unit: ... + + If new table: + - columns, types, units: ... + + Fits existing scan_time + cell_uid schema: yes / no / partially + validations: + required: true + + - type: dropdown + id: contribution + attributes: + label: Are you offering to contribute this? + description: Let us know whether you are requesting this from the team or offering to implement it yourself. + options: + - I am requesting this — I would like the Adapt team to implement it + - I can contribute a PR — I am willing to implement this and open a pull request + - I can contribute partially — I can provide code, a notebook, or a prototype but need help integrating it + validations: + required: true + + - type: textarea + id: context + attributes: + label: Additional context + description: Anything else that would help — related issues, example data, field campaign context. + validations: + required: false + + - type: checkboxes + id: checklist + attributes: + label: Checklist + options: + - label: I have provided at least one literature reference + required: true + - label: I have described what goes in and what comes out + required: true + - label: I have checked that this is not already implemented in Adapt + required: true