From 1370651573d2fe719bc2117c6f79d5e654330285 Mon Sep 17 00:00:00 2001 From: Nathan Simpson Date: Thu, 19 Mar 2026 11:42:18 +0000 Subject: [PATCH] feat: add QoL files - EditorConfig, Dependabot, issue/PR templates - Add .editorconfig for consistent editor settings - Add .github/dependabot.yml for automated dependency updates - Add structured bug report and feature request issue templates - Add PR template with uv-native checklist Co-Authored-By: Claude Opus 4.6 --- project_template/.editorconfig | 15 +++++ .../.github/ISSUE_TEMPLATE/bug_report.yml | 60 +++++++++++++++++++ .../ISSUE_TEMPLATE/feature_request.yml | 32 ++++++++++ project_template/.github/dependabot.yml | 13 ++++ .../.github/pull_request_template.md | 11 ++++ 5 files changed, 131 insertions(+) create mode 100644 project_template/.editorconfig create mode 100644 project_template/.github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 project_template/.github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 project_template/.github/dependabot.yml create mode 100644 project_template/.github/pull_request_template.md diff --git a/project_template/.editorconfig b/project_template/.editorconfig new file mode 100644 index 0000000..9ad5133 --- /dev/null +++ b/project_template/.editorconfig @@ -0,0 +1,15 @@ +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.{yml,yaml,json,toml}] +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false diff --git a/project_template/.github/ISSUE_TEMPLATE/bug_report.yml b/project_template/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..750fbdd --- /dev/null +++ b/project_template/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,60 @@ +name: Bug Report +description: Report a bug in {{ project_name }} +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to report a bug. Please fill in the details below. + + - type: textarea + id: description + attributes: + label: Description + description: A clear description of what the bug is. + validations: + required: true + + - type: textarea + id: steps + attributes: + label: Steps to reproduce + description: Steps to reproduce the behaviour. + placeholder: | + 1. Install ... + 2. Run ... + 3. See error ... + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected behaviour + description: What you expected to happen. + validations: + required: true + + - type: textarea + id: actual + attributes: + label: Actual behaviour + description: What actually happened. + validations: + required: true + + - type: input + id: python-version + attributes: + label: Python version + placeholder: "3.12" + validations: + required: true + + - type: input + id: os + attributes: + label: Operating system + placeholder: "Ubuntu 22.04 / macOS 14 / Windows 11" + validations: + required: true diff --git a/project_template/.github/ISSUE_TEMPLATE/feature_request.yml b/project_template/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..f14017a --- /dev/null +++ b/project_template/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,32 @@ +name: Feature Request +description: Suggest a new feature for {{ project_name }} +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Thanks for suggesting a feature! Please fill in the details below. + + - type: textarea + id: description + attributes: + label: Description + description: A clear description of the feature you'd like. + validations: + required: true + + - type: textarea + id: motivation + attributes: + label: Motivation + description: Why is this feature needed? What problem does it solve? + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed solution + description: How do you think this could be implemented? + validations: + required: false diff --git a/project_template/.github/dependabot.yml b/project_template/.github/dependabot.yml new file mode 100644 index 0000000..5c161f8 --- /dev/null +++ b/project_template/.github/dependabot.yml @@ -0,0 +1,13 @@ +version: 2 +updates: + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + groups: + dev-dependencies: + dependency-type: "development" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" diff --git a/project_template/.github/pull_request_template.md b/project_template/.github/pull_request_template.md new file mode 100644 index 0000000..b3d1fd7 --- /dev/null +++ b/project_template/.github/pull_request_template.md @@ -0,0 +1,11 @@ +## Summary + + + +## Checklist + +- [ ] Tests pass (`uv run pytest`) +- [ ] Linting passes (`uv run ruff check . && uv run ruff format --check .`) +- [ ] Type checking passes (`uvx ty check`) +- [ ] Docs build (`uv run mkdocs build --strict`) if applicable +- [ ] `uv.lock` is up to date