From 52b1d42b8c34cb5838df9bf504064f39c0b523ea Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 12 Dec 2025 22:01:32 +0000 Subject: [PATCH 1/4] Initial plan From 3108385d3c46587cab1d448dedda59c652b9dc0c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 12 Dec 2025 22:06:51 +0000 Subject: [PATCH 2/4] Add comprehensive repository improvements and best practices Co-authored-by: willglas <35304767+willglas@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/bug_report.md | 40 ++++++ .github/ISSUE_TEMPLATE/config.yml | 5 + .github/ISSUE_TEMPLATE/feature_request.md | 42 ++++++ .github/PULL_REQUEST_TEMPLATE.md | 49 +++++++ .github/workflows/ci.yml | 45 ++++++ .../workflows/markdown-link-check-config.json | 8 ++ .gitignore | 95 +++++++++++++ CODE_OF_CONDUCT.md | 129 ++++++++++++++++++ CONTRIBUTING.md | 64 +++++++++ LICENSE | 21 +++ README.md | 32 ++++- SECURITY.md | 46 +++++++ 12 files changed, 575 insertions(+), 1 deletion(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/markdown-link-check-config.json create mode 100644 .gitignore create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 SECURITY.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..3999742 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,40 @@ +--- +name: Bug Report +about: Create a report to help us improve +title: '[BUG] ' +labels: bug +assignees: '' +--- + +## Bug Description + +A clear and concise description of what the bug is. + +## Steps to Reproduce + +1. Go to '...' +2. Click on '...' +3. Scroll down to '...' +4. See error + +## Expected Behavior + +A clear and concise description of what you expected to happen. + +## Actual Behavior + +A clear and concise description of what actually happened. + +## Screenshots + +If applicable, add screenshots to help explain your problem. + +## Environment + +- OS: [e.g. Windows, macOS, Linux] +- Browser: [e.g. Chrome, Firefox, Safari] +- Version: [e.g. 1.0.0] + +## Additional Context + +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..85c4885 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: true +contact_links: + - name: Ask a Question + url: https://github.com/willglas/will-glas-test/discussions + about: Please use GitHub Discussions for questions diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..6093b13 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,42 @@ +--- +name: Feature Request +about: Suggest an idea for this project +title: '[FEATURE] ' +labels: enhancement +assignees: '' +--- + +## Feature Description + +A clear and concise description of the feature you'd like to see. + +## Problem Statement + +Is your feature request related to a problem? Please describe. +Example: I'm always frustrated when [...] + +## Proposed Solution + +A clear and concise description of what you want to happen. + +## Alternatives Considered + +A clear and concise description of any alternative solutions or features you've considered. + +## Use Cases + +Describe the use cases for this feature: +- Use case 1: ... +- Use case 2: ... + +## Additional Context + +Add any other context, screenshots, or examples about the feature request here. + +## Benefits + +What benefits would this feature bring to users? + +## Implementation Ideas + +If you have ideas about how this could be implemented, share them here (optional). diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..9c7acd2 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,49 @@ +## Description + +Please include a summary of the changes and which issue is fixed. Include relevant motivation and context. + +Fixes # (issue) + +## Type of Change + +Please delete options that are not relevant. + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] Documentation update +- [ ] Refactoring (no functional changes) +- [ ] Performance improvement +- [ ] Other (please describe): + +## Changes Made + +- Change 1 +- Change 2 +- Change 3 + +## Testing + +Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. + +- [ ] Test A +- [ ] Test B + +## 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 +- [ ] 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 + +## Screenshots (if applicable) + +Add screenshots to help explain your changes. + +## Additional Notes + +Any additional information that reviewers should know. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..8c0783d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,45 @@ +name: CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Check file formatting + run: | + echo "Checking for trailing whitespace..." + ! git grep -I --line-number '\s$' -- '*.md' '*.yml' '*.yaml' || \ + (echo "Found trailing whitespace in the above files" && exit 1) + + - name: Check Markdown links + uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + use-quiet-mode: 'yes' + config-file: '.github/workflows/markdown-link-check-config.json' + continue-on-error: true + + documentation: + name: Documentation Check + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Verify required files + run: | + echo "Checking for required documentation files..." + test -f README.md || (echo "README.md is missing" && exit 1) + test -f LICENSE || (echo "LICENSE is missing" && exit 1) + test -f CONTRIBUTING.md || (echo "CONTRIBUTING.md is missing" && exit 1) + test -f CODE_OF_CONDUCT.md || (echo "CODE_OF_CONDUCT.md is missing" && exit 1) + test -f SECURITY.md || (echo "SECURITY.md is missing" && exit 1) + echo "All required documentation files are present!" diff --git a/.github/workflows/markdown-link-check-config.json b/.github/workflows/markdown-link-check-config.json new file mode 100644 index 0000000..648f178 --- /dev/null +++ b/.github/workflows/markdown-link-check-config.json @@ -0,0 +1,8 @@ +{ + "ignorePatterns": [ + { + "pattern": "^http://localhost" + } + ], + "aliveStatusCodes": [200, 206] +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9a11251 --- /dev/null +++ b/.gitignore @@ -0,0 +1,95 @@ +# Operating System Files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db +*~ + +# IDE and Editor Files +.vscode/ +.idea/ +*.swp +*.swo +*.swn +*.bak +*.tmp +*.sublime-project +*.sublime-workspace + +# Node.js +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +package-lock.json +yarn.lock +.pnpm-debug.log* + +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +env/ +venv/ +ENV/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +.pytest_cache/ +.coverage +.coverage.* +htmlcov/ +.tox/ +.mypy_cache/ +.dmypy.json +dmypy.json + +# Java +*.class +*.jar +*.war +*.ear +target/ +*.log + +# Logs +logs/ +*.log +npm-debug.log* +yarn-debug.log* +pnpm-debug.log* + +# Environment Variables +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# Build Output +dist/ +build/ +out/ +*.out + +# Temporary Files +tmp/ +temp/ +*.tmp diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..25a0a1a --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,129 @@ +# 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, 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 to the community leaders responsible for enforcement at the +project repository's issue tracker. + +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.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..c35e2d7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,64 @@ +# Contributing to will-glas-test + +Thank you for your interest in contributing to this project! We welcome contributions from the community. + +## How to Contribute + +### Reporting Issues + +If you find a bug or have a suggestion for improvement: + +1. Check if the issue already exists in the [Issues](https://github.com/willglas/will-glas-test/issues) section +2. If not, create a new issue with a clear title and description +3. Include steps to reproduce (for bugs) or use cases (for features) + +### Submitting Pull Requests + +1. **Fork the repository** and create your branch from `main` +2. **Make your changes** following the project's coding standards +3. **Test your changes** to ensure they work as expected +4. **Commit your changes** with clear, descriptive commit messages +5. **Push to your fork** and submit a pull request + +### Pull Request Guidelines + +- Keep pull requests focused on a single feature or fix +- Write clear descriptions of the changes and why they're needed +- Reference any related issues in your PR description +- Ensure your code follows the existing style and conventions +- Add tests if applicable +- Update documentation as needed + +### Commit Message Format + +Use clear and descriptive commit messages: + +- Use the present tense ("Add feature" not "Added feature") +- Use the imperative mood ("Move cursor to..." not "Moves cursor to...") +- Keep the first line under 50 characters +- Add a blank line before a more detailed description if needed + +Example: +``` +Add user authentication feature + +Implements JWT-based authentication with login and logout endpoints. +Includes unit tests and documentation updates. +``` + +### Code Style + +- Follow the existing code style in the project +- Use meaningful variable and function names +- Comment complex logic where necessary +- Keep functions small and focused + +### Code of Conduct + +Please note that this project follows our [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you agree to uphold this code. + +## Questions? + +If you have questions about contributing, feel free to open an issue or reach out to the maintainers. + +Thank you for contributing! 🎉 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..665f68a --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 willglas + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index cb3e76a..b2d52cb 100644 --- a/README.md +++ b/README.md @@ -1 +1,31 @@ -# will-glas-test \ No newline at end of file +# will-glas-test + +A test repository for exploring GitHub Copilot and software development workflows. + +## About + +This repository serves as a testing ground for various development practices, tools, and workflows. + +## Getting Started + +To get started with this project: + +1. Clone the repository: + ```bash + git clone https://github.com/willglas/will-glas-test.git + cd will-glas-test + ``` + +2. Explore the codebase and documentation + +## Contributing + +Contributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests. + +## License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. + +## Contact + +For questions or feedback, please open an issue in this repository. \ No newline at end of file diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..25eece1 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,46 @@ +# Security Policy + +## Supported Versions + +We release patches for security vulnerabilities. Currently, the following versions are supported: + +| Version | Supported | +| ------- | ------------------ | +| Latest | :white_check_mark: | + +## Reporting a Vulnerability + +If you discover a security vulnerability within this project, please follow these steps: + +1. **Do not** open a public issue +2. Send a detailed report to the maintainers via GitHub's private vulnerability reporting feature or by opening a security advisory +3. Include the following in your report: + - Description of the vulnerability + - Steps to reproduce the issue + - Potential impact + - Suggested fix (if available) + +### What to Expect + +- **Acknowledgment**: We will acknowledge receipt of your vulnerability report within 48 hours +- **Communication**: We will keep you informed about the progress of fixing the vulnerability +- **Credit**: We will give credit to security researchers who report vulnerabilities responsibly +- **Timeline**: We aim to patch critical vulnerabilities within 30 days of disclosure + +## Security Best Practices + +When using this project: + +- Keep your dependencies up to date +- Follow secure coding practices +- Use environment variables for sensitive data +- Enable two-factor authentication on your GitHub account +- Review code changes carefully before merging + +## Disclosure Policy + +- We follow responsible disclosure practices +- Security issues will be patched before public disclosure +- We will coordinate disclosure timing with reporters + +Thank you for helping to keep this project secure! From 5d331936386944787d5c71faaacff7d5efde3fae Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 12 Dec 2025 22:08:15 +0000 Subject: [PATCH 3/4] Fix .gitignore: remove duplicates and lock files Co-authored-by: willglas <35304767+willglas@users.noreply.github.com> --- .gitignore | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.gitignore b/.gitignore index 9a11251..b30ff7d 100644 --- a/.gitignore +++ b/.gitignore @@ -24,8 +24,6 @@ node_modules/ npm-debug.log* yarn-debug.log* yarn-error.log* -package-lock.json -yarn.lock .pnpm-debug.log* # Python @@ -67,14 +65,10 @@ dmypy.json *.war *.ear target/ -*.log # Logs logs/ *.log -npm-debug.log* -yarn-debug.log* -pnpm-debug.log* # Environment Variables .env @@ -84,12 +78,9 @@ pnpm-debug.log* .env.production.local # Build Output -dist/ -build/ out/ *.out # Temporary Files tmp/ temp/ -*.tmp From 3b78a848531afe70591c36d2096f146a93e20c83 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 12 Dec 2025 22:09:52 +0000 Subject: [PATCH 4/4] Add permissions block to GitHub Actions workflow for security Co-authored-by: willglas <35304767+willglas@users.noreply.github.com> --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c0783d..009c150 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,6 +6,9 @@ on: pull_request: branches: [ main ] +permissions: + contents: read + jobs: lint: name: Lint