From 9d18a2002d65ea00a97b0442e592c13409821caf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20K=C3=B6the?= Date: Sat, 20 Jun 2026 18:35:25 +0200 Subject: [PATCH 1/2] chore: add community docs and GitHub templates Add repository metadata to guide contributors: new issue templates for bug reports and feature requests, a pull request template, CONTRIBUTING.md with build/test instructions, platform and style guidelines, and SECURITY.md describing private vulnerability reporting and scope. These files standardize contribution workflow, testing expectations, and secure disclosure for NotificationManager. --- .github/ISSUE_TEMPLATE/bug_report.yml | 59 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.yml | 46 +++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 14 +++++ CONTRIBUTING.md | 45 +++++++++++++++++ SECURITY.md | 18 +++++++ 5 files changed, 182 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 CONTRIBUTING.md create mode 100644 SECURITY.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..1012b6b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,59 @@ +name: Package bug report +description: Report something that is not working with NotificationManager. +title: "[Bug]: " +labels: + - bug +body: + - type: markdown + attributes: + value: Thanks for helping improve NotificationManager. + - type: textarea + id: summary + attributes: + label: Summary + description: What happened, and what did you expect instead? + placeholder: NotificationManager should... but it... + validations: + required: true + - type: textarea + id: steps + attributes: + label: Steps to Reproduce + placeholder: | + 1. Add NotificationManager via Swift Package Manager + 2. Call NotificationManager... + 3. Observe ... + validations: + required: true + - type: textarea + id: code + attributes: + label: Minimal Code Example + description: Share the smallest Swift snippet that reproduces the issue. + render: swift + - type: input + id: version + attributes: + label: NotificationManager Version + placeholder: v1.2.0 + validations: + required: true + - type: input + id: swift + attributes: + label: Swift / Xcode Version + placeholder: Swift 5.9 / Xcode 15.x + validations: + required: true + - type: input + id: platform + attributes: + label: Platform Version + placeholder: iOS 17.x, macOS 15.x, or visionOS 1.x + validations: + required: true + - type: textarea + id: context + attributes: + label: Additional Context + description: Add logs, authorization status, notification settings, or anything else that helps. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..d1537cd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,46 @@ +name: Feature request +description: Suggest an improvement for NotificationManager. +title: "[Feature]: " +labels: + - enhancement +body: + - type: markdown + attributes: + value: Thanks for helping improve NotificationManager. + - type: textarea + id: summary + attributes: + label: Summary + description: What should NotificationManager support or improve? + placeholder: NotificationManager should make it possible to... + validations: + required: true + - type: textarea + id: use-case + attributes: + label: Use Case + description: Describe the app scenario or notification workflow this would help with. + placeholder: In an iOS/macOS/visionOS app, I want to... + validations: + required: true + - type: textarea + id: api + attributes: + label: Proposed API + description: If you have an API shape in mind, share a small Swift example. + render: swift + - type: dropdown + id: platforms + attributes: + label: Platforms + description: Which platforms should this apply to? + multiple: true + options: + - iOS + - macOS + - visionOS + - type: textarea + id: context + attributes: + label: Additional Context + description: Add links, alternatives, or implementation notes if relevant. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..6679f10 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,14 @@ +## Summary + + + +## Testing + + + +## Checklist + +- [ ] The change is focused and easy to review. +- [ ] I ran `swift test` or explained why it is not applicable. +- [ ] I considered supported platforms and API availability. +- [ ] I added or updated documentation where needed. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..d040b95 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,45 @@ +# Contributing to NotificationManager + +Thanks for helping improve NotificationManager. + +NotificationManager is a Swift Package for managing local notifications with `UserNotifications`. + +## Getting Started + +Clone the repository and open the package in Xcode, or work from the command line: + +```sh +swift build +swift test +``` + +Requirements: + +- Xcode 15.0+ +- Swift 5.9+ +- macOS 10.15+, iOS 13.0+, or visionOS 1.0+ + +## Guidelines + +- Keep pull requests small and focused. +- Follow the existing Swift style and public API shape. +- Keep the package lightweight and avoid unnecessary dependencies. +- Preserve supported platform availability when adding APIs. +- Include tests for behavior that can be covered without requiring real notification delivery. +- Include clear manual test steps when behavior depends on notification authorization, scheduling, badges, or platform-specific behavior. + +## Issues + +Use GitHub Issues for bugs and feature requests. + +For bugs, please include: + +- NotificationManager version or commit +- Swift and Xcode version +- Platform and OS version +- Minimal Swift code example +- Steps to reproduce and expected behavior + +For feature requests, describe the notification workflow, affected platforms, and any proposed Swift API. + +For security issues, follow [SECURITY.md](SECURITY.md). diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..a63d6a1 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,18 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report security issues privately through GitHub's **Report a vulnerability** button on this repository. + +Do not open a public issue for suspected vulnerabilities. Include: + +- affected NotificationManager version or commit +- platform and OS version +- minimal reproduction details +- expected impact + +We will review the report and follow up through the private vulnerability report. + +## Scope + +Security reports should relate to NotificationManager's Swift Package code, public API, or notification-related behavior. From 5506395b35f6a6aeb4111274385aa5e8d6da9a88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20K=C3=B6the?= Date: Sat, 20 Jun 2026 18:36:43 +0200 Subject: [PATCH 2/2] chore: change CI triggers Remove the 'development' branch from the push triggers in .github/workflows/build.yml and .github/workflows/test.yml so workflows run only on the main branch and pull_request events. --- .github/workflows/build.yml | 1 - .github/workflows/test.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9d5018c..1c9a1f3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,7 +4,6 @@ on: push: branches: - main - - development pull_request: jobs: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e252823..a4e9564 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,7 +4,6 @@ on: push: branches: - main - - development pull_request: jobs: