Introduces a SwiftUI companion app for the Fail Well PWA: menu bar status item, popover with task list / record / history views, command palette, and a Dynamic Island-style notch overlay that shows the active step and timer beside the hardware notch and expands on hover to reveal pause/next controls.
38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
# Fail Well — macOS
|
|
|
|
Menu bar + notch companion to the [Fail Well PWA](../). See [`see-this-pwa-and-proud-porcupine.md`](../../.claude/plans/see-this-pwa-and-proud-porcupine.md) for the design plan.
|
|
|
|
## Requirements
|
|
|
|
- macOS 15 Sequoia or later
|
|
- Xcode 16 / Swift 6.0+ toolchain (`xcode-select --install` is enough — full Xcode not required)
|
|
|
|
## Build & run
|
|
|
|
```sh
|
|
make run # release build, packaged into FailWell.app, opened
|
|
make debug # debug build, packaged and opened
|
|
make test # swift test
|
|
make clean # remove .build and FailWell.app
|
|
```
|
|
|
|
The resulting `FailWell.app` lives next to the `Makefile`. It's an unsigned ad-hoc-signed bundle, fine for local use; for distribution you'd need a Developer ID.
|
|
|
|
## Layout
|
|
|
|
```
|
|
macos/
|
|
├── Package.swift
|
|
├── Info.plist bundle config (LSUIElement = true → no Dock icon)
|
|
├── Makefile build/run/test/package targets
|
|
└── Sources/FailWell/
|
|
├── FailWellApp.swift @main + MenuBarExtra
|
|
├── Models/ Codable Task / Step / TaskRecord / TimeRange
|
|
├── Services/ Parser, BreakCalculator, Comparator, Clock, Storage, Clipboard
|
|
└── Views/ SwiftUI popover, command palette, notch overlay
|
|
```
|
|
|
|
## Data location
|
|
|
|
`~/Library/Application Support/FailWell/data.json` — versioned, atomic writes.
|