Skip to content

thedevdojo/cloudbar

Repository files navigation

Cloudbar

Your Laravel Cloud apps, one click away. Cloudbar is a macOS menu bar app — built with Laravel, Livewire, and NativePHP — that puts your Laravel Cloud applications a single click from anywhere.

  • ☁️ A cloud icon lives in your menu bar. Click it to see every app across your organizations.
  • 🚀 Deploy any environment with two clicks (inline confirm — no dialogs).
  • 🌐 Open any app's URL, or jump straight to its Laravel Cloud dashboard.
  • 🛰 The tray icon is live status: violet while a deployment is in flight, red when one fails, green for a moment when it succeeds.
  • 🔔 Native macOS notifications when deployments finish — including deploys started from git push.
  • 🔍 Search, multiple organizations, environment drill-down, dark & light mode.

How it works

Cloudbar talks to the official Laravel Cloud API. You paste an org-scoped API token (Laravel Cloud → Organization Settings → API tokens → Create); Cloudbar validates it against /meta/organization and stores it encrypted, locally in the app's SQLite database. Nothing leaves your machine except calls to cloud.laravel.com.

Statuses stay fresh three ways: an adaptive Livewire poll (20s idle, 5s while anything is deploying), a refresh when the panel opens, and a scheduler fallback every minute so the tray icon stays truthful even when the panel is closed.

Development

composer run setup      # install, .env, key, migrate, npm, build
composer native:dev     # run the desktop app + Vite dev server

Want the panel full of believable data while designing? php artisan db:seed --class=DemoSeeder, then open http://cloud.test in a browser (the panel is just a Livewire page).

Regenerate every icon (tray states + app icon — all drawn in code with GD):

php artisan app:make-icons

Testing & quality

composer test           # pint + phpstan (larastan) + pest

Building for distribution

php artisan native:build mac

Set NATIVEPHP_APPLE_ID, NATIVEPHP_APPLE_ID_PASS, and NATIVEPHP_APPLE_TEAM_ID in .env for signing + notarization, and bump NATIVEPHP_APP_VERSION per release.

Architecture notes

Piece Where
Laravel Cloud API client (JSON:API) app/Services/Cloud/CloudClient.php, JsonApiDocument.php
Sync engine + deployment watching app/Services/Cloud/SyncService.php
Tray icon state machine app/Support/Tray.php
Safe NativePHP facade wrapper app/Support/NativeBridge.php (no-ops in browser/tests)
Menu bar panel (Livewire) app/Livewire/Menubar.php + resources/views/livewire/menubar/
Scheduler fallback sync app/Console/Commands/SyncCloud.php
Icon generation app/Console/Commands/MakeIcons.php

About

The repo for the Laravel Cloud toolbar application

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors