krz/octosentry
macOS menu bar app to monitor GitHub security alerts
clone: git clone https://gitbay.org/krz/octosentry.git
sonarcloud-cleanup: README.nfo · raw
1┌──────────────────────────────────────────────────────────────┐
2│ O C T O S E N T R Y [ KRZ ] krz.sh │
3└──────────────────────────────────────────────────────────────┘
4
5WHAT
6 macos menu bar app. aggregates github security alerts (dependabot,
7 code scanning, secret scanning) across your repos into one
8 severity-ranked feed. deep-links out to github.com to act.
9
10DOES
11 - one feed across all three alert types on a single severity scale
12 - source badge, repo, github severity label, one-line summary, age
13 - click an alert to open it on github.com
14 - errors and unavailable sources shown in the popover, not hidden
15 - add or remove watched repos from the popover; a background poll
16 keeps the feed fresh while closed
17 - sign in with github via device authorization; no password or
18 token typed into the app
19 - no third-party dependencies. swiftui and urlsession.
20
21REQUIRES
22 macos 14 or later. a github account with access to the repos you
23 watch.
24
25USE
26 1. build and run.
27 2. click the shield icon, Sign in with GitHub. you get a short
28 code; Open GitHub, enter it, authorize.
29 3. click the gear to add or remove repos (owner/repo).
30 4. click an alert to open it on github.com.
31
32 an unavailable source usually means that alert type is disabled for
33 the repo or your account lacks permission, not that something broke.
34 device flow grants the security_events scope, which may not cover
35 dependabot alerts on private repos.
36
37BUILD
38 open octosentry.xcodeproj and run the octosentry scheme. targets
39 macos 14, swift 6 strict concurrency, no package dependencies.
40
41CONTRIBUTING
42 - no third-party dependencies. hard constraint.
43 - swift 6 strict concurrency stays on; new code compiles clean.
44 - match the file-per-type layout.
45
46LICENSE
47 0bsd. see LICENSE.
48
49┌──────────────────────────────────────────────────────────────┐
50│ krz.sh │
51└──────────────────────────────────────────────────────────────┘