diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 000000000..a4e7a4589 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,68 @@ +name: Bug Report +description: Report a bug in BioETL +labels: ["bug"] +body: + - type: textarea + id: description + attributes: + label: Description + description: What happened? + placeholder: Describe the bug... + validations: + required: true + + - type: textarea + id: steps + attributes: + label: Steps to reproduce + description: How can we reproduce this? + placeholder: | + 1. Run `bioetl run --pipeline ...` + 2. ... + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What should have happened? + validations: + required: true + + - type: dropdown + id: layer + attributes: + label: Affected layer + options: + - Domain + - Application + - Infrastructure + - Composition + - Interfaces / CLI + - Config / Pipeline + - Unknown + validations: + required: true + + - type: dropdown + id: provider + attributes: + label: Provider (if applicable) + options: + - ChEMBL + - PubChem + - UniProt + - PubMed + - CrossRef + - OpenAlex + - Semantic Scholar + - Composite + - N/A + + - type: textarea + id: logs + attributes: + label: Relevant logs + description: Paste any error output or logs + render: shell diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..f13b85a92 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,41 @@ +name: Feature Request +description: Suggest a new feature or improvement +labels: ["enhancement"] +body: + - type: textarea + id: problem + attributes: + label: Problem + description: What problem does this solve? + placeholder: I'm frustrated when... + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed solution + description: How should this work? + validations: + required: true + + - type: dropdown + id: scope + attributes: + label: Scope + options: + - New pipeline / provider + - Existing pipeline enhancement + - Data quality / validation + - CLI / UX + - Performance + - Infrastructure / DevOps + - Documentation + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Any other approaches you considered? diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index c4cef4390..665669bce 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,16 +1,39 @@ ## Summary - + ## Changes - +## Type + +- [ ] Bug fix +- [ ] New feature +- [ ] Refactoring (no functional changes) +- [ ] Config / pipeline change +- [ ] Documentation +- [ ] CI / infrastructure + +## Affected layers + +- [ ] Domain +- [ ] Application +- [ ] Infrastructure +- [ ] Composition +- [ ] Interfaces +- [ ] Configs + +## Test plan + +- [ ] Unit tests pass (`pytest tests/unit/`) +- [ ] Architecture tests pass (`pytest tests/architecture/`) +- [ ] Type check passes (`mypy --strict src/bioetl/`) +- [ ] Manual verification (describe below if applicable) + ## Checklist -- [ ] `make lint` passes -- [ ] `make test` passes -- [ ] No hardcoded secrets or credentials -- [ ] Architecture tests pass (`pytest tests/architecture/ -v`) -- [ ] Documentation updated if behavior changed -- [ ] Follows Conventional Commits format +- [ ] No new import boundary violations (ARCH-001) +- [ ] No hardcoded secrets (AP-005) +- [ ] Type annotations on all public functions (TYPE-001) +- [ ] Tests added/updated for new code (TEST-002)