diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..5d11417 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,126 @@ +name: Bug Report +description: Report a bug or unexpected behavior in VoltX.js +title: "[Bug]: " +labels: ["bug", "needs-triage"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to report this bug! Please provide as much detail as possible to help us reproduce and fix 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... + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: Steps to Reproduce + description: Detailed steps to reproduce the behavior + placeholder: | + 1. Mount a component with... + 2. Click on... + 3. Observe... + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: What you expected to happen + placeholder: Describe what should happen... + validations: + required: true + + - type: textarea + id: actual + attributes: + label: Actual Behavior + description: What actually happened + placeholder: Describe what actually happens... + validations: + required: true + + - type: dropdown + id: mode + attributes: + label: Usage Mode + description: Which mode are you using? + options: + - Declarative (HTML attributes with charge()) + - Programmatic (JavaScript with mount()) + - Both + - Not sure + validations: + required: true + + - type: textarea + id: code + attributes: + label: Minimal Reproduction + description: Minimal code example that reproduces the issue + placeholder: | + + render: html + validations: + required: true + + - type: input + id: version + attributes: + label: VoltX Version + description: Which version of VoltX are you using? + placeholder: e.g., 0.5.1 + validations: + required: true + + - type: dropdown + id: browser + attributes: + label: Browser + description: Which browser(s) does this occur in? + multiple: true + options: + - Chrome + - Firefox + - Safari + - Edge + - Other + validations: + required: true + + - type: textarea + id: environment + attributes: + label: Environment Details + description: Additional environment information (OS, Node version if relevant, etc.) + placeholder: | + - OS: macOS 14.0 + - Node: v20.0.0 + - Package manager: pnpm 8.0.0 + + - type: textarea + id: additional + attributes: + label: Additional Context + description: Any other context, screenshots, or information about the problem + placeholder: Add any other context here... + + - type: checkboxes + id: confirmations + attributes: + label: Confirmations + description: Please confirm the following + options: + - label: I have searched existing issues to ensure this bug hasn't been reported + required: true + - label: I have tested with the latest version of VoltX + required: true + - label: I have provided a minimal reproduction of the issue + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..e0b6a2c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: Question or Discussion + url: https://github.com/stormlightlabs/volt/discussions + about: Ask questions, share ideas, or discuss VoltX.js with the community + - name: Documentation + url: https://stormlightlabs.github.io/volt + about: Read the official VoltX.js documentation + - name: Security Vulnerability + url: https://github.com/stormlightlabs/volt/security/advisories/new + about: Report security vulnerabilities privately diff --git a/.github/ISSUE_TEMPLATE/documentation.yml b/.github/ISSUE_TEMPLATE/documentation.yml new file mode 100644 index 0000000..a3da662 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.yml @@ -0,0 +1,92 @@ +name: Documentation Improvement +description: Report issues or suggest improvements to VoltX.js documentation +title: "[Docs]: " +labels: ["documentation"] +body: + - type: markdown + attributes: + value: | + Thanks for helping improve VoltX documentation! Clear docs are essential for a great developer experience. + + - type: dropdown + id: doc-type + attributes: + label: Documentation Type + description: What type of documentation needs improvement? + options: + - API documentation + - Guide or tutorial + - Examples + - README + - Code comments + - Error messages + - Migration guide + - Other + validations: + required: true + + - type: dropdown + id: issue-type + attributes: + label: Issue Type + description: What kind of issue is this? + options: + - Missing documentation + - Incorrect or outdated information + - Unclear or confusing explanation + - Broken link or example + - Typo or formatting issue + - Missing code example + - Other + validations: + required: true + + - type: input + id: location + attributes: + label: Documentation Location + description: Link or path to the documentation that needs improvement + placeholder: e.g., https://voltx.dev/guide/reactivity or docs/guide/reactivity.md + validations: + required: true + + - type: textarea + id: problem + attributes: + label: What's Wrong or Missing? + description: Describe the current state of the documentation and what's problematic + placeholder: | + Current state: The documentation says... + Problem: This is confusing because... + validations: + required: true + + - type: textarea + id: suggestion + attributes: + label: Suggested Improvement + description: How would you improve this documentation? + placeholder: | + Proposed change: Add an example showing... + Or: Clarify that... + + - type: textarea + id: context + attributes: + label: Additional Context + description: Why is this important? Who would benefit from this improvement? + placeholder: | + - This affects beginners trying to... + - This is a common question in discussions + - This would help with migration from... + + - type: checkboxes + id: confirmations + attributes: + label: Confirmations + description: Please confirm the following + options: + - label: I have checked that this documentation issue hasn't already been reported + required: true + - label: I have reviewed the current documentation thoroughly + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..2d38d93 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,129 @@ +name: Feature Request +description: Suggest a new feature or enhancement for VoltX.js +title: "[Feature]: " +labels: ["enhancement", "needs-triage"] +body: + - type: markdown + attributes: + value: | + Thanks for suggesting a new feature! Please provide detailed information to help us understand and evaluate your proposal. + + - type: textarea + id: problem + attributes: + label: Problem Statement + description: Describe the problem or use case this feature would solve + placeholder: | + What problem are you trying to solve? What use case would this enable? + Example: "As a developer, I need to..." + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed Solution + description: Describe your proposed solution or feature + placeholder: | + How would you like this to work? What API or attributes would you use? + Be specific about the implementation approach if possible. + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives Considered + description: What alternative solutions or workarounds have you considered? + placeholder: | + - Alternative 1: ... + - Alternative 2: ... + - Current workaround: ... + + - type: dropdown + id: scope + attributes: + label: Feature Scope + description: What part of VoltX would this feature affect? + options: + - Core reactivity (signals, computed, effects) + - Binding system (data-volt-* attributes) + - Expression evaluator + - Plugin system + - HTTP bindings + - Lifecycle hooks + - SSR/Hydration + - Documentation/Examples + - Developer tooling + - Other + validations: + required: true + + - type: dropdown + id: priority + attributes: + label: Priority/Impact + description: How important is this feature to your workflow? + options: + - Critical - Blocking my adoption of VoltX + - High - Would significantly improve my development experience + - Medium - Nice to have, but not urgent + - Low - Minor improvement + validations: + required: true + + - type: textarea + id: size-impact + attributes: + label: Size Constraint Consideration + description: How might this feature impact the 15 KB gzipped constraint? + placeholder: | + Consider: + - Could this be implemented as a plugin instead of core? + - Does this replace existing functionality? + - What's the estimated size impact? + validations: + required: true + + - type: dropdown + id: mode + attributes: + label: Usage Mode + description: Which mode would primarily benefit from this feature? + options: + - Declarative (HTML attributes) + - Programmatic (JavaScript API) + - Both + - Plugin + validations: + required: true + + - type: textarea + id: example + attributes: + label: Example Usage + description: Show how you'd like to use this feature + placeholder: | + + render: html + + - type: textarea + id: additional + attributes: + label: Additional Context + description: Any other context, mockups, or references + placeholder: | + - Links to similar features in other frameworks + - Mockups or diagrams + - Related issues or discussions + + - type: checkboxes + id: confirmations + attributes: + label: Confirmations + description: Please confirm the following + options: + - label: I have searched existing issues to ensure this hasn't been requested + required: true + - label: I have considered whether this could be implemented as a plugin + required: true