Skip to content

crafcat7/Peakmon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Peakmon

Peakmon

Native, lightweight macOS menu-bar system monitor.

English · 简体中文

Peakmon shows live CPU, GPU, Memory, Battery, Disk, Network, and top-process metrics right in your menu bar — no Activity Monitor, no Electron, no telemetry. Configure exactly what you want to see, pick your colours, and forget it is there.

macOS Swift Xcode License


Screenshots

Menu bar (light)    Menu bar (dark)

Design goals

  • Native. SwiftUI + Swift Concurrency + Swift Charts. No Combine, no NSTimer, no third-party UI / DI / logging frameworks.
  • Lightweight. Lives quietly in the menu bar, sips CPU, and stays out of your way.
  • Apple Silicon first. Uses unified-memory metrics, IOReport channels, and HID sensor services.
  • Modular & open. Code is split into local Swift Packages so a new contributor can navigate the entire codebase in under an hour.

Requirements

  • macOS 14.0 Sonoma or newer.
  • Xcode 26.4 or newer.
  • Apple Silicon recommended; Intel best-effort.

Build

# Open in Xcode and Run, or:
xcodebuild \
  -project Peakmon.xcodeproj \
  -scheme Peakmon \
  -destination 'platform=macOS' \
  build

Per-package tests:

swift test --package-path Packages/PeakmonCore

Install

Homebrew

brew install crafcat7/cellar/peakmon

This installs the latest release of Peakmon into your Homebrew prefix and prints instructions for symlinking it into /Applications if you want it to show up in Spotlight.

Pre-built binary

Each release also ships an ad-hoc signed .app.zip on the GitHub Releases page. Download, unzip, and drop the .app into /Applications.

App Sandbox is intentionally disabled so Peakmon can read system-level metrics. The binary is ad-hoc signed; on first launch right-click → Open to bypass Gatekeeper.

Mac App Store release is not planned for the near future.

Repository layout

Peakmon/                 # App target sources (MenuBarExtra entry)
Packages/
  PeakmonCore/           # Models, scheduler, store, logger facade
  PeakmonCollectors/     # CPU / GPU / Memory / Battery / Disk / Network / Processes
  PeakmonUI/             # Reusable views (sparkline, color hex helpers…)

Contributing

See Docs/CONTRIBUTING.md. TL;DR:

  • Swift 6.2+, macOS 14.0+ SDK.
  • SwiftUI + Swift Concurrency. No Combine, no NSTimer for metric polling.
  • Only MetricsScheduler polls the system. Views read MetricsStore.
  • Run swiftlint before committing. CI runs --strict.
  • Conventional Commits (e.g. feat(collectors): add NetworkCollector).

License

Peakmon is released under the Apache License 2.0.

About

A focused, native macOS system monitor for your menu bar.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors