diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..095b302 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,81 @@ +name: Bug Report +description: Report a bug to help us improve +labels: ["bug"] +assignees: [] + +body: + - type: markdown + attributes: + value: | + Thank you for reporting a bug! Please fill out the form below to help us understand and fix the issue. + + - type: textarea + id: description + attributes: + label: Description + description: Please describe the bug clearly and concisely + placeholder: "What is the issue?" + validations: + required: true + + - type: textarea + id: steps_to_reproduce + attributes: + label: Steps to Reproduce + description: Steps to reproduce the behavior + placeholder: | + 1. Go to '...' + 2. Click on '...' + 3. See error '...' + validations: + required: true + + - type: textarea + id: expected_behavior + attributes: + label: Expected Behavior + description: What should happen instead? + placeholder: "I expected..." + validations: + required: true + + - type: textarea + id: actual_behavior + attributes: + label: Actual Behavior + description: What actually happens? + placeholder: "But instead..." + validations: + required: true + + - type: textarea + id: environment + attributes: + label: Environment + description: Information about your environment + placeholder: | + - OS: [e.g., Ubuntu 20.04] + - Python version: [e.g., 3.9] + - Node version: [e.g., 16] + - Browser: [e.g., Chrome 90] + validations: + required: true + + - type: textarea + id: additional_context + attributes: + label: Additional Context + description: Any additional information that might help (screenshots, logs, etc.) + placeholder: "Add any other context here..." + validations: + required: false + + - type: checkboxes + id: checklist + attributes: + label: Pre-submission Checklist + options: + - label: I have searched for existing issues + required: true + - label: I am using the latest version of the application + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..b00afa9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: Question or Discussion + url: /discussions + about: Ask questions and discuss ideas in our community discussions + - name: Security Vulnerability + url: /security/advisories/new + about: Report security vulnerabilities privately using GitHub's security advisory diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..1626e16 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,60 @@ +name: Feature Request +description: Suggest an idea for improvement +labels: ["enhancement"] +assignees: [] + +body: + - type: markdown + attributes: + value: | + Thank you for suggesting a feature! Please provide as much detail as possible to help us understand your request. + + - type: textarea + id: problem_statement + attributes: + label: Problem Statement + description: Describe the problem or limitation you're addressing + placeholder: | + Is your feature request related to a problem? Please describe it. + Example: I'm frustrated when... / It would be useful if... + validations: + required: true + + - type: textarea + id: proposed_solution + attributes: + label: Proposed Solution + description: Describe the solution you'd like + placeholder: "How would you like this feature to work?" + validations: + required: true + + - type: textarea + id: alternatives_considered + attributes: + label: Alternatives Considered + description: Describe any alternative solutions or features you've considered + placeholder: | + - Alternative 1: ... + - Alternative 2: ... + validations: + required: false + + - type: textarea + id: additional_context + attributes: + label: Additional Context + description: Any additional information, screenshots, diagrams, or use cases + placeholder: "Add any other context or examples here..." + validations: + required: false + + - type: checkboxes + id: checklist + attributes: + label: Pre-submission Checklist + options: + - label: I have searched for existing feature requests + required: true + - label: This is not a security vulnerability + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..66e3f29 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,55 @@ +## Summary + + +## Type of Change + + +- [ ] Bug fix (non-breaking change that fixes an issue) +- [ ] New feature (non-breaking change that adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to change) +- [ ] Documentation update +- [ ] Performance improvement +- [ ] Code refactoring +- [ ] Dependency update +- [ ] Other (please describe): + +## Related Issues + +Closes # + +## How Has This Been Tested? + + +Please describe the tests that you ran to verify your changes: +- [ ] Unit tests +- [ ] Integration tests +- [ ] Manual testing + +### Test Configuration: +- **Python version:** +- **Node version:** +- **Browser(s) tested (if applicable):** +- **OS(s) tested:** + +## Checklist + + +- [ ] My code follows the style guidelines of this project +- [ ] I have performed a self-review of my own code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] My changes generate no new warnings or errors +- [ ] I have added tests that prove my fix is effective or that my feature works +- [ ] New and existing unit tests pass locally with my changes +- [ ] Any dependent changes have been merged and published +- [ ] I have updated the CHANGELOG.md +- [ ] I have verified that my changes do not introduce any security issues + +## Breaking Changes + + +## Screenshots (if applicable) + + +## Additional Notes + diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..3b77938 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,83 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience +- Focusing on what is best not just for us as individuals, but for the overall community + +Examples of unacceptable behavior include: + +- The use of sexualized language or imagery, and sexual attention or advances of any kind +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported through the project's private maintainer contact channel. Please do not report incidents in public issues, discussions, or pull requests. All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct: + +**1. Correction** + +Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. + +Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested. + +**2. Warning** + +Community Impact: A violation through a single incident or series of actions. + +Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban. + +**3. Temporary Ban** + +Community Impact: A serious violation of community standards, including sustained inappropriate behavior. + +Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. + +**4. Permanent Ban** + +Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. + +Consequence: A permanent ban from any sort of public interaction within the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at [https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..3c49936 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,44 @@ +# Security Policy + +## Supported Versions + +| Version | Supported | End of Life | +| ------- | ------------------ | ---------------------------------- | +| 0.x | :white_check_mark: | Supported until 1.0.0 is released | +| < 0.1.0 | :x: | Unsupported | + +Before `1.0.0`, we support security fixes for the current `0.x` release line. Older pre-release versions may not receive patches once superseded by a newer `0.x` release. After `1.0.0`, this table and the project's end-of-life policy will be updated to reflect the supported stable release lines. + +## Reporting a Vulnerability + +We take security very seriously. If you discover a security vulnerability, please report it responsibly to avoid putting the entire community at risk. + +### How to Report + +**Please do not open a public GitHub issue for security vulnerabilities.** Instead, please use GitHub's built-in "Report a vulnerability" feature on the Security tab of this repository. This creates a private security advisory that only the maintainers can see. + +Include as much detail as possible: + - Description of the vulnerability + - Steps to reproduce + - Potential impact + - Suggested fix (if you have one) + +### Response Timeline + +- **Initial Response**: We will acknowledge your report within 48 hours +- **Assessment**: We will investigate and provide an initial assessment within 5 business days +- **Fix and Release**: Critical vulnerabilities will be prioritized and patched as quickly as possible +- **Disclosure**: We will work with you on a responsible disclosure timeline before any public announcement + +## Security Best Practices + +When using this application: + +- Keep the application updated with the latest security patches +- Report any suspicious activity or potential security issues immediately +- Use strong authentication credentials +- Follow the principle of least privilege when granting permissions + +## Security Contact + +For security concerns, please contact the project maintainers securely via GitHub's vulnerability report feature or email. diff --git a/SUPPORT.md b/SUPPORT.md new file mode 100644 index 0000000..14e9ba7 --- /dev/null +++ b/SUPPORT.md @@ -0,0 +1,48 @@ +# Support + +Thank you for using Trivia App! We're here to help. + +## Getting Help + +### GitHub Issues +For bugs, feature requests, and technical issues, please open a [GitHub Issue](/issues). + +Before opening an issue: +- Search existing issues to avoid duplicates +- Use the bug report or feature request templates provided +- Include relevant context: environment, steps to reproduce, expected vs. actual behavior + +### GitHub Discussions +For general questions, ideas, and discussions about the project, please use [GitHub Discussions](/discussions). + +This is the best place for: +- How-to questions +- Best practices and usage advice +- Feature ideas and brainstorming +- Community announcements + +### Documentation +Check the [README.md](README.md) and [CONTRIBUTING.md](CONTRIBUTING.md) for additional resources. + +## Response Time Expectations + +We are an open-source project maintained by volunteers. Please be patient with response times: + +- **Security issues**: See [SECURITY.md](SECURITY.md) for reporting and response timelines +- **Bug reports**: Typically reviewed within 1-2 weeks +- **Feature requests**: Reviewed periodically; prioritized based on community feedback +- **Discussions**: Best-effort responses; community members often help each other + +## What NOT to Use Issues For + +- **Security vulnerabilities**: Please report privately via [SECURITY.md](SECURITY.md) +- **Spam or off-topic content**: This may result in blocking +- **Commercial support or consulting**: Please contact us directly for business inquiries + +## Code of Conduct + +All interactions in this repository are governed by our [Code of Conduct](CODE_OF_CONDUCT.md). We expect all community members to be respectful and constructive. + +## Contributing + +Interested in helping? See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to contribute code, documentation, or other improvements.