From 55795529ac22b2bd799361ab686b842c64826ae1 Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Thu, 20 Nov 2025 01:59:22 +0000 Subject: [PATCH] chore: add templates for contriburing and reporting issues --- .github/ISSUE_TEMPLATE/bug_report.yml | 197 +++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 15 ++ .github/ISSUE_TEMPLATE/documentation.yml | 140 +++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.yml | 130 ++++++++++++++ .github/ISSUE_TEMPLATE/security.yml | 172 ++++++++++++++++++ 5 files changed, 654 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/documentation.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/ISSUE_TEMPLATE/security.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000..9f05c990 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,197 @@ +name: Bug Report +description: Report a bug or unexpected behavior in postgresql-for-doctrine +title: "[Bug]: " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to report a bug! Please fill out the form below to help us understand and reproduce the issue. + + - type: textarea + id: description + attributes: + label: Bug Description + description: A clear and concise description of what the bug is. + placeholder: Describe the bug you encountered... + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: What did you expect to happen? + placeholder: Describe what you expected to happen... + validations: + required: true + + - type: textarea + id: actual + attributes: + label: Actual Behavior + description: What actually happened? + placeholder: Describe what actually happened... + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: Steps to Reproduce + description: Provide detailed steps to reproduce the issue. + placeholder: | + 1. Configure Doctrine with... + 2. Create an entity with... + 3. Execute query... + 4. See error... + validations: + required: true + + - type: textarea + id: code-sample + attributes: + label: Code Sample + description: Provide a minimal code sample that reproduces the issue. + placeholder: | + ```php + // Your code here + ``` + render: php + validations: + required: false + + - type: textarea + id: error-message + attributes: + label: Error Message / Stack Trace + description: If applicable, provide the complete error message and stack trace. + placeholder: | + Paste the error message and stack trace here... + render: shell + validations: + required: false + + - type: dropdown + id: component + attributes: + label: Component + description: Which component is affected? + options: + - DBAL Types (Array, JSON, Network, Geometric, Range, etc.) + - DQL Functions + - DQL Operators + - Value Objects (Range, Point, etc.) + - Integration (Symfony, Laravel, Doctrine) + - Documentation + - Other + validations: + required: true + + - type: input + id: specific-type-function + attributes: + label: Specific Type/Function/Operator + description: If applicable, which specific type, function, or operator is affected? + placeholder: "e.g., jsonb, int4range, JSON_GET_FIELD, ST_Distance, etc." + validations: + required: false + + - type: input + id: package-version + attributes: + label: Package Version + description: Which version of postgresql-for-doctrine are you using? + placeholder: "e.g., 3.0.0, 2.5.1, etc." + validations: + required: true + + - type: input + id: php-version + attributes: + label: PHP Version + description: Which PHP version are you using? + placeholder: "e.g., 8.1, 8.2, 8.3, 8.4, 8.5" + validations: + required: true + + - type: input + id: doctrine-dbal-version + attributes: + label: Doctrine DBAL Version + description: Which Doctrine DBAL version are you using? + placeholder: "e.g., 3.0, 3.5, 4.0, etc." + validations: + required: true + + - type: input + id: doctrine-orm-version + attributes: + label: Doctrine ORM Version + description: Which Doctrine ORM version are you using (if applicable)? + placeholder: "e.g., 2.14, 2.18, 3.0, etc." + validations: + required: false + + - type: input + id: postgresql-version + attributes: + label: PostgreSQL Version + description: Which PostgreSQL version are you using? + placeholder: "e.g., 14.5, 15.2, 16.0, 17.0, 18.0, etc." + validations: + required: true + + - type: input + id: postgis-version + attributes: + label: PostGIS Version + description: Which PostGIS version are you using (if applicable for spatial types/functions)? + placeholder: "e.g., 3.4, 3.5, 3.6, etc." + validations: + required: false + + - type: dropdown + id: framework + attributes: + label: Framework + description: Are you using a framework? + options: + - None (Plain Doctrine) + - Symfony + - Laravel + - Other + validations: + required: false + + - type: input + id: framework-version + attributes: + label: Framework Version + description: If using a framework, which version? + placeholder: "e.g., Symfony 6.4, Laravel 10.x, etc." + validations: + required: false + + - type: textarea + id: additional-context + attributes: + label: Additional Context + description: Add any other context about the problem here (configuration files, environment details, etc.). + placeholder: Any additional information that might help... + validations: + required: false + + - type: checkboxes + id: checklist + attributes: + label: Checklist + description: Please confirm the following + options: + - label: I have searched existing issues to ensure this bug hasn't been reported before + required: true + - label: I have provided all the required version information + required: true + - label: I have included steps to reproduce the issue + required: true + diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..34f1175b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,15 @@ +blank_issues_enabled: false +contact_links: + - name: 📖 Documentation + url: https://github.com/martin-georgiev/postgresql-for-doctrine/tree/main/docs + about: Read the comprehensive documentation for types, functions, and integration guides + - name: 💬 GitHub Discussions + url: https://github.com/martin-georgiev/postgresql-for-doctrine/discussions + about: Ask questions, share ideas, and discuss with the community + - name: 🤝 Contributing Guide + url: https://github.com/martin-georgiev/postgresql-for-doctrine/blob/main/docs/CONTRIBUTING.md + about: Learn how to contribute to the project + - name: 💖 Sponsor the Project + url: https://github.com/sponsors/martin-georgiev + about: Support the development and maintenance of this project + diff --git a/.github/ISSUE_TEMPLATE/documentation.yml b/.github/ISSUE_TEMPLATE/documentation.yml new file mode 100644 index 00000000..a36950b5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.yml @@ -0,0 +1,140 @@ +name: Documentation Issue +description: Report an issue with documentation or suggest improvements +title: "[Docs]: " +labels: ["documentation"] +body: + - type: markdown + attributes: + value: | + Thanks for helping improve our documentation! Please fill out the form below. + + - type: dropdown + id: issue-type + attributes: + label: Documentation Issue Type + description: What type of documentation issue is this? + options: + - Missing Documentation + - Incorrect/Outdated Information + - Unclear/Confusing Explanation + - Broken Link + - Typo/Grammar + - Missing Example + - Improvement Suggestion + - Other + validations: + required: true + + - type: dropdown + id: affected-doc + attributes: + label: Affected Documentation + description: Which documentation is affected? + options: + - README.md + - AVAILABLE-TYPES.md + - RANGE-TYPES.md + - AVAILABLE-FUNCTIONS-AND-OPERATORS.md + - ARRAY-AND-JSON-FUNCTIONS.md + - SPATIAL-FUNCTIONS-AND-OPERATORS.md + - TEXT-AND-PATTERN-FUNCTIONS.md + - DATE-AND-RANGE-FUNCTIONS.md + - MATHEMATICAL-FUNCTIONS.md + - SPATIAL-TYPES.md + - GEOMETRY-ARRAYS.md + - LTREE-TYPE.md + - USE-CASES-AND-EXAMPLES.md + - INTEGRATING-WITH-SYMFONY.md + - INTEGRATING-WITH-LARAVEL.md + - INTEGRATING-WITH-DOCTRINE.md + - CONTRIBUTING.md + - UPGRADE.md + - Code Comments/PHPDoc + - Other + validations: + required: true + + - type: input + id: doc-location + attributes: + label: Specific Location + description: If applicable, provide the specific section, heading, or line number. + placeholder: "e.g., 'Quick Start section', 'Line 42', 'Range Types - Creating Ranges', etc." + validations: + required: false + + - type: textarea + id: current-content + attributes: + label: Current Content + description: What does the documentation currently say? (copy/paste the relevant section) + placeholder: Paste the current documentation content here... + validations: + required: false + + - type: textarea + id: issue-description + attributes: + label: Issue Description + description: Describe the problem with the current documentation. + placeholder: | + What's wrong or missing? + Why is it confusing or incorrect? + validations: + required: true + + - type: textarea + id: suggested-improvement + attributes: + label: Suggested Improvement + description: How should the documentation be improved? + placeholder: | + Describe what should be added, changed, or clarified... + + If you have specific wording suggestions, include them here. + validations: + required: true + + - type: textarea + id: example-code + attributes: + label: Example Code (if applicable) + description: If suggesting a code example, provide it here. + placeholder: | + ```php + // Your suggested example code + ``` + render: php + validations: + required: false + + - type: textarea + id: additional-context + attributes: + label: Additional Context + description: Add any other context, screenshots, or references. + placeholder: Any additional information... + validations: + required: false + + - type: dropdown + id: willing-to-contribute + attributes: + label: Contribution + description: Would you be willing to submit a pull request to fix this documentation issue? + options: + - "Yes, I can submit a PR" + - "Yes, with guidance" + - "No" + validations: + required: false + + - type: checkboxes + id: checklist + attributes: + label: Checklist + description: Please confirm the following + options: + - label: I have checked that this documentation issue hasn't been reported before + required: true + diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000..0afd418e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,130 @@ +name: Feature Request +description: Suggest a new feature or enhancement for postgresql-for-doctrine +title: "[Feature]: " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Thanks for suggesting a new feature! Please fill out the form below to help us understand your proposal. + + - type: textarea + id: problem + attributes: + label: Problem Statement + description: Is your feature request related to a problem? Please describe what you're trying to accomplish. + placeholder: "I'm always frustrated when... / I need to..." + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed Solution + description: Describe the solution you'd like to see implemented. + placeholder: Describe your proposed solution... + validations: + required: true + + - type: dropdown + id: feature-type + attributes: + label: Feature Type + description: What type of feature are you requesting? + options: + - New PostgreSQL Type Support + - New PostgreSQL Function Support + - New PostgreSQL Operator Support + - New Value Object + - Framework Integration Enhancement + - API Enhancement + - Performance Improvement + - Developer Experience + - Other + validations: + required: true + + - type: input + id: postgresql-feature + attributes: + label: PostgreSQL Feature/Function/Type + description: If requesting support for a specific PostgreSQL feature, which one? + placeholder: "e.g., hstore, cube, earthdistance, pg_trgm, etc." + validations: + required: false + + - type: input + id: postgresql-docs + attributes: + label: PostgreSQL Documentation Link + description: If applicable, provide a link to the PostgreSQL documentation for this feature. + placeholder: "https://www.postgresql.org/docs/..." + validations: + required: false + + - type: textarea + id: use-case + attributes: + label: Use Case + description: Describe your use case and how this feature would benefit you and others. + placeholder: | + This would be useful for... + Example scenario:... + validations: + required: true + + - type: textarea + id: code-example + attributes: + label: Example Usage + description: Show how you envision using this feature (pseudo-code is fine). + placeholder: | + ```php + // Example of how the feature would be used + ``` + render: php + validations: + required: false + + - type: textarea + id: alternatives + attributes: + label: Alternatives Considered + description: Have you considered any alternative solutions or workarounds? + placeholder: Describe any alternatives you've considered... + validations: + required: false + + - type: dropdown + id: willing-to-contribute + attributes: + label: Contribution + description: Would you be willing to contribute this feature via a pull request? + options: + - "Yes, I can submit a PR" + - "Yes, with guidance" + - "No, but I can help test" + - "No" + validations: + required: false + + - type: textarea + id: additional-context + attributes: + label: Additional Context + description: Add any other context, screenshots, or examples about the feature request. + placeholder: Any additional information... + validations: + required: false + + - type: checkboxes + id: checklist + attributes: + label: Checklist + description: Please confirm the following + options: + - label: I have searched existing issues and discussions to ensure this feature hasn't been requested before + required: true + - label: This feature is related to PostgreSQL-specific functionality for Doctrine + required: true + diff --git a/.github/ISSUE_TEMPLATE/security.yml b/.github/ISSUE_TEMPLATE/security.yml new file mode 100644 index 00000000..d0f2e672 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/security.yml @@ -0,0 +1,172 @@ +name: Security Vulnerability +description: Report a security vulnerability (please use responsibly) +title: "[Security]: " +labels: ["security"] +body: + - type: markdown + attributes: + value: | + ## ⚠️ Security Vulnerability Report + + **IMPORTANT**: If this is a critical security vulnerability that could be exploited, please consider reporting it privately first: + - Email: martin.georgiev@gmail.com + - GitHub Security Advisories: https://github.com/martin-georgiev/postgresql-for-doctrine/security/advisories/new + + Only use this public issue form for: + - Low-severity security concerns + - Security-related questions + - Security best practices discussions + + For critical vulnerabilities, private disclosure helps protect users until a fix is available. + + - type: dropdown + id: severity + attributes: + label: Severity Level + description: How severe do you consider this vulnerability? + options: + - Critical (Immediate exploitation possible) + - High (Exploitation likely with some effort) + - Medium (Exploitation possible under specific conditions) + - Low (Theoretical or requires unusual circumstances) + - Informational (Security best practice suggestion) + validations: + required: true + + - type: textarea + id: vulnerability-description + attributes: + label: Vulnerability Description + description: Describe the security vulnerability. Be as detailed as possible without providing exploit code. + placeholder: | + Describe the vulnerability... + What security principle is violated? + What could an attacker potentially do? + validations: + required: true + + - type: dropdown + id: vulnerability-type + attributes: + label: Vulnerability Type + description: What type of security issue is this? + options: + - SQL Injection + - Code Injection + - Information Disclosure + - Denial of Service + - Authentication/Authorization + - Data Validation + - Dependency Vulnerability + - Configuration Issue + - Other + validations: + required: true + + - type: textarea + id: affected-component + attributes: + label: Affected Component + description: Which part of the library is affected? + placeholder: | + e.g., Specific DBAL type, DQL function, value object, etc. + Include file paths if known. + validations: + required: true + + - type: textarea + id: impact + attributes: + label: Impact + description: What is the potential impact of this vulnerability? + placeholder: | + Who is affected? + What data or systems are at risk? + What are the potential consequences? + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: Steps to Reproduce + description: Provide steps to reproduce the vulnerability (without providing a full exploit). + placeholder: | + 1. Configure... + 2. Create entity with... + 3. Execute query... + 4. Observe... + validations: + required: true + + - type: textarea + id: proof-of-concept + attributes: + label: Proof of Concept + description: If safe to share publicly, provide a minimal proof of concept. DO NOT include actual exploit code. + placeholder: | + ```php + // Minimal example demonstrating the issue + // (without providing a weaponized exploit) + ``` + render: php + validations: + required: false + + - type: input + id: package-version + attributes: + label: Affected Package Version(s) + description: Which version(s) of postgresql-for-doctrine are affected? + placeholder: "e.g., 3.0.0, 2.x, all versions, etc." + validations: + required: true + + - type: textarea + id: environment + attributes: + label: Environment Details + description: Provide relevant environment information. + placeholder: | + - PHP version: + - Doctrine DBAL version: + - PostgreSQL version: + - Framework (if applicable): + validations: + required: false + + - type: textarea + id: mitigation + attributes: + label: Suggested Mitigation + description: If you have suggestions for fixing this vulnerability, please share them. + placeholder: | + How could this be fixed? + Are there any workarounds users can apply now? + validations: + required: false + + - type: textarea + id: references + attributes: + label: References + description: Provide any relevant references (CVEs, security advisories, research papers, etc.). + placeholder: | + - CVE-XXXX-XXXXX + - https://... + validations: + required: false + + - type: checkboxes + id: responsible-disclosure + attributes: + label: Responsible Disclosure + description: Please confirm your understanding of responsible disclosure + options: + - label: I understand that critical vulnerabilities should be reported privately first + required: true + - label: I have not publicly disclosed detailed exploit code for this vulnerability + required: true + - label: I am reporting this to help improve the security of the project + required: true +