Make QuickWeek publication-ready (docs, community health, CI) - #1
Merged
Conversation
… tooling Move the ISO-week / calendar-grid / weekend logic into a pure WeekCalculator so it can be unit-tested, and point AppDelegate and CalendarView at it. Add a hosted XCTest target with tests for the calendar math, plus a shared scheme so CI can run `xcodebuild test`. Translate the build-number build phase and helper script to English and normalize the Info.plist copyright to marsvogel. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add an English README with a theme-aware hero image, an honest unsigned-app install flow, and a trust/verification section; MIT LICENSE, CODE_OF_CONDUCT, CONTRIBUTING, SECURITY, SUPPORT, CHANGELOG, AI_DISCLOSURE, and CLAUDE.md. Add .github metadata (CODEOWNERS, Dependabot, issue/PR templates, release notes config) and three SHA-pinned, least-privilege workflows: build+test+release (with SHA-256 checksum and build-provenance attestation), CodeQL, and OpenSSF Scorecard. Commit hero (light/dark) and social-preview images under docs/. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Docs: say 'not notarized' instead of 'unsigned' (the app is ad-hoc signed) in README and SUPPORT. - CI: make the release step idempotent so a re-run on the same commit does not hard-fail. - release.yml: exclude author 'dependabot[bot]' (the real login) so bot PRs are dropped from notes. - WeekCalculator: track the system time zone (autoupdatingCurrent) so the week updates after a runtime TZ change. - Align CFBundleDisplayName to 'QuickWeek' (was 'Quick Week') to match the product name everywhere else. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per direction change, the interface is now fully English instead of German: menu bar shows 'CW29' (calendar week) instead of 'KW29', month names use en_US (July 2026), weekday initials are M T W T F S S, and the popover/menu read 'Today' and 'Quit'. Update the tests, the README/CONTRIBUTING/CLAUDE/CHANGELOG, and re-render the hero (light/dark) and social-preview images to match. The ISO-8601 week math is unchanged; 'Kalenderwoche' is kept only as an SEO keyword. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
marsvogel
commented
Jul 17, 2026
Owner
Author
There was a problem hiding this comment.
- Eine CHANGELOG.md wäre mir in Zukunft zu viel Arbeit. Bitte entfernen
Owner
Author
There was a problem hiding this comment.
Done — CHANGELOG.md removed in 3e4f1a5. Release notes are still generated automatically per release (--generate-notes + .github/release.yml), so no manual upkeep.
Per PR feedback: a hand-maintained CHANGELOG is more upkeep than wanted. Release notes are still generated automatically per release (--generate-notes + .github/release.yml), so history stays discoverable without the file. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
marsvogel
added a commit
that referenced
this pull request
Jul 17, 2026
* refactor: extract testable WeekCalculator, add tests, scheme, English tooling Move the ISO-week / calendar-grid / weekend logic into a pure WeekCalculator so it can be unit-tested, and point AppDelegate and CalendarView at it. Add a hosted XCTest target with tests for the calendar math, plus a shared scheme so CI can run `xcodebuild test`. Translate the build-number build phase and helper script to English and normalize the Info.plist copyright to marsvogel. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: add README, community health files, CI, and brand images Add an English README with a theme-aware hero image, an honest unsigned-app install flow, and a trust/verification section; MIT LICENSE, CODE_OF_CONDUCT, CONTRIBUTING, SECURITY, SUPPORT, CHANGELOG, AI_DISCLOSURE, and CLAUDE.md. Add .github metadata (CODEOWNERS, Dependabot, issue/PR templates, release notes config) and three SHA-pinned, least-privilege workflows: build+test+release (with SHA-256 checksum and build-provenance attestation), CodeQL, and OpenSSF Scorecard. Commit hero (light/dark) and social-preview images under docs/. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix: address PR review findings - Docs: say 'not notarized' instead of 'unsigned' (the app is ad-hoc signed) in README and SUPPORT. - CI: make the release step idempotent so a re-run on the same commit does not hard-fail. - release.yml: exclude author 'dependabot[bot]' (the real login) so bot PRs are dropped from notes. - WeekCalculator: track the system time zone (autoupdatingCurrent) so the week updates after a runtime TZ change. - Align CFBundleDisplayName to 'QuickWeek' (was 'Quick Week') to match the product name everywhere else. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat: switch the UI to English Per direction change, the interface is now fully English instead of German: menu bar shows 'CW29' (calendar week) instead of 'KW29', month names use en_US (July 2026), weekday initials are M T W T F S S, and the popover/menu read 'Today' and 'Quit'. Update the tests, the README/CONTRIBUTING/CLAUDE/CHANGELOG, and re-render the hero (light/dark) and social-preview images to match. The ISO-8601 week math is unchanged; 'Kalenderwoche' is kept only as an SEO keyword. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: remove CHANGELOG.md Per PR feedback: a hand-maintained CHANGELOG is more upkeep than wanted. Release notes are still generated automatically per release (--generate-notes + .github/release.yml), so history stays discoverable without the file. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Makes QuickWeek publication-ready, modelled on PromptQuittung and current open-source best practices (backed by a deep research pass). The app's behaviour is unchanged; the UI stays German on purpose — everything around the code is now in English.
Verified locally (Xcode 26.6)
swiftlint lint --strict→ 0 violationsxcodebuild test -scheme QuickWeek→ 5 tests, 0 failuresxcodebuild -target QuickWeek -configuration Release build→ BUILD SUCCEEDED,build/Release/QuickWeek.app(CFBundleVersion = git commit count, copyright =marsvogel)actionlinton all workflows → 0 errors; SwiftLint pin checksum verified against the real downloadCode
WeekCalculator;AppDelegateandCalendarViewnow use it (single source of truth).KW09, month-grid shape, weekend) and a shared scheme so CI can test.marsvogel(no real name leaks).Docs & community health
.github/: CODEOWNERS, Dependabot (grouped Actions), issue forms + PR template +release.yml.docs/(hero-light,hero-dark,social-preview), rendered pixel-faithfully from the actualCalendarView.CI / supply chain
Three workflows, every action SHA-pinned with a version comment,
permissions: {}deny-all top-level + per-job minimum,persist-credentials: false:dittoZIP + SHA-256 → onmain, an auto GitHub Release with a build-provenance attestation (gh attestation verify QuickWeek.zip -R marsvogel/QuickWeek).fetch-depth: 0keeps the git-commit build number correct in CI.Not in this PR — repo settings you apply at publish time
Repo About (description/topics/homepage), the
protect-mainruleset, squash-only + delete-branch, Secret Scanning + Push Protection, Private Vulnerability Reporting, the social-preview upload, pinning the repo, and 2–3 seeded good first issues live at the GitHub-settings layer, not in files. I prepared a copy-pasteghscript + checklist for all of it (delivered separately) — nothing was applied automatically, and the repo has not been made public.Decisions confirmed with you
English README/repo (German UI kept) · GitHub Releases distribution · unit tests added ·
marsvogelas copyright holder · whole repo disclosed as AI-generated.