endelito is a small Go CLI plus a native Swift menu bar app for playing Endel from the website without the Electron desktop wrapper.
The shape is intentionally boring: one WebKit session, one menu bar app, one CLI.
- The Swift app is a menu bar-only
WKWebViewwrapper forhttps://play.endel.io/en. - WebKit uses the default website data store, so the site session persists on this Mac.
- The Go CLI launches the app, sends
endelito://commands, and reads a tiny local state file. - There are no charts, dashboards, visualizations, or background provider scans.
- The app opens the Focus soundscape by default and can switch across 17 known Focus, Relax, and Sleep soundscapes.
Install the signed and notarized release from the uinaf Homebrew tap:
brew tap uinaf/tap
brew install --cask endelitoThe cask installs both Endelito.app and the endelito CLI from the latest GitHub Release.
To build and install from source instead:
make build
make installThis copies build/Endelito.app to /Applications/Endelito.app and installs bin/endelito to $(brew --prefix)/bin/endelito when Homebrew is present (otherwise /usr/local/bin). Override with PREFIX= / APPLICATIONS_DIR=.
endelito launch
endelito status
endelito show
endelito hide
endelito sources
endelito source focus
endelito source "nature elements"
endelito play dynamic-focus
endelito play
endelito pause
endelito toggle
endelito reload
endelito debug
endelito deeplink "https://play.endel.io/en/soundscape/focus"
endelito quitOpen the player once with endelito show to sign in or pick content. After that, the app can stay in the menu bar and the CLI can control playback. The menu bar item includes a Source submenu with the known Focus, Relax, and Sleep soundscapes. Use endelito sources to list known source IDs. Use endelito source <id-or-name> to load a source without starting playback, or endelito play <id-or-name> to load and start it. Use endelito deeplink <url> to forward a URL into the web player's deeplink handlers.
Sign-in persists across app restarts through WebKit's default website data store for Endelito.app. Rebuilding the app with the same bundle identifier keeps using the same WebKit session storage.
The app registers the endelito:// URL scheme. Commands like endelito play send endelito://play; the Swift app receives the URL and forwards the action into the WebView.
See Architecture for the current control model and limitations.
make buildBuild outputs are written to bin/endelito and build/Endelito.app. The app bundle includes generated Finder and menu bar icons.
make verifymake verify syntax-checks the WebKit bridge, runs bridge contract tests, formats/vets Go, runs Go tests, builds the CLI and app, and checks the app bundle, URL scheme, icons, and CLI help.
For a quick machine-readable environment and runtime snapshot:
make doctorSee Contributing for local validation and Distribution for CI and release details.
See Contributing for setup, validation, and pull request expectations. Agent-specific repository rules are in the agent guide.
Endelito is available under the MIT License.
