diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..e685a9f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,33 @@ +--- +name: Bug Report +about: Create a report to help us improve +title: '[BUG] ' +labels: bug +assignees: '' +--- + +## 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/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..453a82e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,22 @@ +--- +name: Feature Request +about: Suggest an idea for this project +title: '[FEATURE] ' +labels: enhancement +assignees: '' +--- + +## Is your feature request related to a problem? +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +## Describe the solution you'd like +A clear and concise description of what you want to happen. + +## Describe alternatives you've considered +A clear and concise description of any alternative solutions or features you've considered. + +## Additional Context +Add any other context or screenshots about the feature request here. + +## Benefits +Explain how this feature would benefit the project or its users. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..297ab9a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,34 @@ +## Description +Please include a summary of the changes and the related issue. 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 +- [ ] Other (please describe): + +## How Has This Been Tested? +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 + +## Screenshots (if applicable) +Add screenshots to help explain your changes. + +## Additional Notes +Add any other notes about the pull request here. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..ed3c57f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,45 @@ +name: CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: + +jobs: + validate: + name: Validate Repository + runs-on: ubuntu-latest + permissions: + contents: read + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Check for required files + run: | + echo "Checking for required repository files..." + test -f README.md && echo "✓ README.md found" || (echo "✗ README.md missing" && exit 1) + test -f LICENSE && echo "✓ LICENSE found" || (echo "✗ LICENSE missing" && exit 1) + test -f CONTRIBUTING.md && echo "✓ CONTRIBUTING.md found" || (echo "✗ CONTRIBUTING.md missing" && exit 1) + test -f CODE_OF_CONDUCT.md && echo "✓ CODE_OF_CONDUCT.md found" || (echo "✗ CODE_OF_CONDUCT.md missing" && exit 1) + test -f .gitignore && echo "✓ .gitignore found" || (echo "✗ .gitignore missing" && exit 1) + echo "All required files are present!" + + - name: Validate markdown files + run: | + echo "Validating markdown syntax..." + for file in *.md; do + if [ -f "$file" ]; then + echo "Checking $file..." + # Basic check that file is not empty + [ -s "$file" ] && echo "✓ $file is valid" || (echo "✗ $file is empty" && exit 1) + fi + done + + - name: Repository structure check + run: | + echo "Repository structure:" + tree -L 2 -a || ls -laR diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..583da35 --- /dev/null +++ b/.gitignore @@ -0,0 +1,50 @@ +# Dependencies +node_modules/ +bower_components/ +vendor/ + +# Build outputs +dist/ +build/ +out/ +*.egg-info/ +__pycache__/ +*.pyc +*.pyo +target/ +bin/ +obj/ + +# IDE and Editor files +.vscode/ +.idea/ +*.swp +*.swo +*~ +.DS_Store + +# Environment variables +.env +.env.local +.env.*.local + +# Logs +logs/ +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Testing +coverage/ +.nyc_output/ +*.coverage +.pytest_cache/ + +# OS generated files +Thumbs.db + +# Temporary files +tmp/ +temp/ +*.tmp diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..e6c973f --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,34 @@ +# 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: + +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes +* Focusing on what is best for the overall community + +Examples of unacceptable behavior: + +* The use of sexualized language or imagery, and sexual attention or advances +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information without explicit permission +* Other conduct which could reasonably be considered inappropriate + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting the project maintainers. All complaints will be reviewed and investigated promptly and fairly. + +Project maintainers are obligated to respect the privacy and security of the reporter of any incident. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.0. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..7c361f0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,53 @@ +# Contributing to will-glas-test + +Thank you for considering contributing to this project! We welcome contributions from everyone. + +## How to Contribute + +### Reporting Bugs + +If you find a bug, please open an issue and include: +- A clear description of the bug +- Steps to reproduce the issue +- Expected vs actual behavior +- Any relevant screenshots or error messages + +### Suggesting Enhancements + +We welcome suggestions for improvements! Please open an issue and include: +- A clear description of the enhancement +- Why this enhancement would be useful +- Any examples of how it might work + +### Pull Requests + +1. **Fork the repository** and create your branch from `main` + ```bash + git checkout -b feature/your-feature-name + ``` + +2. **Make your changes** with clear, descriptive commit messages + +3. **Test your changes** to ensure they work as expected + +4. **Update documentation** if you're changing functionality + +5. **Submit a pull request** with: + - A clear title and description + - Reference to any related issues + - Description of the changes made + +## Code Style + +- Write clear, readable code +- Follow existing code style and conventions +- Add comments for complex logic +- Keep commits focused and atomic + +## Code of Conduct + +Please note that this project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. + +## Questions? + +Feel free to open an issue if you have any questions about contributing! diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9f8e953 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Will Glas + +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..c04f663 100644 --- a/README.md +++ b/README.md @@ -1 +1,42 @@ -# will-glas-test \ No newline at end of file +# will-glas-test + +A test repository for exploring GitHub features and best practices. + +## 📋 Table of Contents + +- [About](#about) +- [Getting Started](#getting-started) +- [Contributing](#contributing) +- [License](#license) + +## 📖 About + +This repository serves as a testing ground for various GitHub features, workflows, and development practices. + +## 🚀 Getting Started + +To get started with this repository: + +1. Clone the repository + ```bash + git clone https://github.com/willglas/will-glas-test.git + cd will-glas-test + ``` + +2. Explore the codebase + +3. Make your changes + +4. Submit a pull request + +## 🤝 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 on GitHub. \ No newline at end of file