diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..c3485e7 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @MikeChristensen diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..58009ff --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,27 @@ +# Contributing to KitchenPC Samples + +Thank you for contributing to KitchenPC. Please open an issue before starting a substantial change +so the design and scope can be discussed. + +## Development workflow + +1. Fork the repository and create a focused branch from `main`. +2. Make the smallest change that solves the issue. +3. Add or update tests when behavior changes. +4. Restore, build, and test before opening a pull request: + + ```bash + dotnet restore Samples.slnx + dotnet build Samples.slnx --configuration Release --no-restore + dotnet test Samples.slnx --configuration Release --no-build --no-restore + cd WebApp/ClientApp + npm ci + npm run build + npm run lint + npm test + ``` + +5. Open a pull request against `main` and describe both the change and how it was tested. + +Please do not include unrelated formatting or cleanup in a functional change. By contributing, you +agree that your contribution will be licensed under the repository's MIT license. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..ac9a9f0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,40 @@ +name: Bug report +description: Report reproducible incorrect behavior in a sample +title: "[Bug]: " +labels: + - bug +body: + - type: markdown + attributes: + value: Thank you for helping improve the KitchenPC samples. + - type: textarea + id: description + attributes: + label: Description + description: What happened, and what did you expect instead? + validations: + required: true + - type: dropdown + id: sample + attributes: + label: Sample + options: + - React Web App + - Shopping List TUI + - Database Initializer + - Sample Data + - Repository or documentation + validations: + required: true + - type: textarea + id: reproduction + attributes: + label: Reproduction + description: Provide the smallest sequence of steps that reproduces the problem. + validations: + required: true + - type: textarea + id: environment + attributes: + label: Environment + description: Include the .NET and Node.js versions, operating system, database, and other relevant details. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..ee2dee0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: true +contact_links: + - name: Security vulnerability + url: https://github.com/KitchenPC/Samples/security/advisories/new + about: Report security vulnerabilities privately. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..1acf146 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,25 @@ +name: Feature request +description: Propose a new sample or an improvement to an existing sample +title: "[Feature]: " +labels: + - enhancement +body: + - type: textarea + id: problem + attributes: + label: Problem + description: What developer use case should this sample or improvement demonstrate? + validations: + required: true + - type: textarea + id: proposal + attributes: + label: Proposed solution + description: Describe the application, workflow, or documentation you would like to see. + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Describe any workarounds or alternative designs you considered. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..a1320cd --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,14 @@ +## Summary + +Describe the problem and the proposed change. + +## Testing + +Describe the tests or manual checks you ran. + +## Checklist + +- [ ] The solution builds in Release mode. +- [ ] Relevant .NET and frontend tests pass. +- [ ] Behavioral changes include appropriate tests or documentation. +- [ ] The change contains no unrelated formatting or cleanup. diff --git a/.github/SECURITY.md b/.github/SECURITY.md new file mode 100644 index 0000000..a96eeeb --- /dev/null +++ b/.github/SECURITY.md @@ -0,0 +1,14 @@ +# Security Policy + +## Supported versions + +Security fixes are made on the latest version of the KitchenPC Samples repository. + +## Reporting a vulnerability + +Please do not disclose suspected vulnerabilities in a public issue. Use GitHub's private +vulnerability reporting feature on this repository, or contact `support@kitchenpc.com` if private +reporting is unavailable. + +Include enough detail to reproduce and assess the issue. You should receive an acknowledgement +within seven days.