abue-ammar/tinycastPublic

Tinycast — a tiny, fully native macOS launcher, hotkeys, and clipboard history.

Stars
5.2K
Forks
241
Watchers
9
Open issues
34
Open PRs
2
Contributors
~39
Commits
573
Branches
61

SwiftOtherCreated Jun 29, 2026Last push todayLatest release v0.10.23

Star history

since Sep 16, 2026

Star history is still being collected for this repository.

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 1 commit2026-06-29: 6 commits2026-06-30: 9 commits2026-07-01: 7 commits2026-07-02: 19 commits2026-07-03: 4 commits2026-07-04: 4 commits2026-07-05: 10 commits2026-07-06: 14 commits2026-07-07: 0 commits2026-07-08: 7 commits2026-07-09: 1 commit2026-07-10: 11 commits2026-07-11: 15 commits2026-07-12: 7 commits2026-07-13: 10 commits2026-07-14: 12 commits2026-07-15: 6 commits2026-07-16: 1 commit2026-07-17: 0 commits2026-07-18: 14 commits2026-07-19: 1 commit2026-07-20: 0 commits2026-07-21: 12 commits2026-07-22: 1 commit2026-07-23: 16 commits2026-07-24: 16 commits2026-07-25: 0 commits2026-07-26: 1 commit2026-07-27: 6 commits2026-07-28: 6 commits2026-07-29: 6 commits2026-07-30: 4 commits2026-07-31: 10 commits2026-08-01: 2 commits2026-08-02: 5 commits2026-08-03: 6 commits2026-08-04: 2 commits2026-08-05: 32 commits2026-08-06: 11 commits2026-08-07: 6 commits2026-08-08: 7 commits2026-08-09: 3 commits2026-08-10: 3 commits2026-08-11: 4 commits2026-08-12: 1 commit2026-08-13: 0 commits2026-08-14: 3 commits2026-08-15: 1 commit2026-08-16: 1 commit2026-08-17: 1 commit2026-08-18: 4 commits2026-08-19: 9 commits2026-08-20: 6 commits2026-08-21: 4 commits2026-08-22: 1 commit2026-08-23: 3 commits2026-08-24: 6 commits2026-08-25: 8 commits2026-08-26: 7 commits2026-08-27: 3 commits2026-08-28: 9 commits2026-08-29: 14 commits2026-08-30: 7 commits2026-08-31: 4 commits2026-09-01: 6 commits2026-09-02: 2 commits2026-09-03: 2 commits2026-09-04: 1 commit2026-09-05: 0 commits2026-09-06: 12 commits2026-09-07: 14 commits2026-09-08: 4 commits2026-09-09: 4 commits2026-09-10: 5 commits2026-09-11: 24 commits2026-09-12: 13 commits2026-09-13: 8 commits2026-09-14: 17 commits2026-09-15: 13 commits2026-09-16: 7 commits2026-09-17: 0 commits2026-09-18: 0 commits2026-09-19: 0 commits
542 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Breakout launch

    5,170 stars in 79 days

  • Very active

    542 commits in 52 weeks

  • Well documented

    High community health score

  • Continuous integration

    Automated checks passing

README

main branch

Tinycast

A tiny, fully native macOS launcher. One hotkey, everything you reach for all day, under 100 MB of RAM.

Latest release CI status Swift 6.0 macOS 15 or later License: AGPL-3.0 Join the Tinycast Discord Support Tinycast

SwiftUI and AppKit, zero third-party dependencies, no Electron and no telemetry. It also runs real Raycast extensions, rendered as native SwiftUI. Free, open source, and staying that way.

For anything private, email iabueammar@gmail.com.

Tinycast command palette

Support

Tinycast is free, and it stays that way. If it earns a place in your daily flow, a one-off tip helps keep it actively maintained. GitHub Sponsors isn't available in my country, so please support here:

Support Tinycast
Payments are handled securely by Polar.sh.

Features

  • App launcher — fuzzy-search and launch anything, pin favorites, see what's running, quit an app or every app at once.
  • Global hotkey — one shortcut summons the palette from anywhere.
  • Per-app hotkeys — bind a key to an app; press it to toggle (focus/hide).
  • Search Files — open files and folders from the folders you choose, through Spotlight, with no index of our own.
  • Clipboard history — text and images, searchable, pasted back into the app you were using.
  • Calculator — do math, unit, live currency and crypto conversions inline, right in the palette.
  • Quicklinks — turn a URL, search, file or deeplink into a command, with placeholders for typed input, the clipboard or the date.
  • Apple Shortcuts — search and run the shortcuts you built in the Shortcuts app, with aliases and global hotkeys.
  • Snippets — reusable Markdown templates with dynamic placeholders, arguments, nested references and optional keyword expansion.
  • Custom commands — run named shell commands through fuzzy search or their own global hotkeys.
  • Window management — 34 Rectangle-style actions: halves, quarters, thirds, sizing, nudging, display moves, fullscreen and Spaces.
  • System actions — lock, sleep, restart, empty trash, toggle appearance, Bluetooth, mute, hidden files, and more.
  • Calendar and meetings — your next meeting on the empty palette and in the menu bar, one key to join it, or let it join itself.
  • Notes — an unlimited collection of plain Markdown files in one floating editor, searchable from the palette.
  • Emoji picker — a searchable emoji grid, one keystroke away.
  • AI chat — use your own key or an installed AI account, chat from the palette. Off out of the box, like every AI feature.
  • Quick Actions — fix grammar, rewrite, translate or summarize the selected text in any app.
  • Raycast extensions — run the ones you already have natively, rendered as SwiftUI.
  • Backup and import — export your settings to a file, or import your setup from Raycast.

Install

First, add the tap:

brew trust --tap abue-ammar/tinycast   # required for third-party taps
brew tap abue-ammar/tinycast

Then run the one line that matches your Mac:

Your Mac Install
Apple silicon, macOS 26 or newer brew install --cask tinycast
Intel, macOS 26 brew install --cask tinycast-universal
macOS 15 Sequoia (no longer maintained) brew install --cask tinycast-sequoia

Not sure which you have? Apple menu → About This Mac. Homebrew checks too, and refuses the wrong one.

Want early builds? brew install --cask tinycast@beta puts Tinycast Beta.app beside the stable app, with its own settings and permissions. Apple silicon, macOS 26+.

Homebrew clears the macOS quarantine flag on every install and update, so there is nothing else to run. Downloading a DMG from Releases instead? Tinycast is self-signed, so clear the flag once: xattr -dr com.apple.quarantine "/Applications/Tinycast.app".

Permissions

Accessibility — needed when Tinycast pastes or expands text into another app, and the only permission snippet keyword expansion needs. You're prompted when you first use a feature that needs it; grant access in System Settings → Privacy & Security → Accessibility. Snippets ship disabled, and keystrokes are matched locally, never stored and never sent anywhere.

Using it

  1. Open Settings → General and record a global shortcut to summon Tinycast.
  2. Press it anywhere → the palette floats in. Type to filter, to launch.
  3. Tab switches between Apps and Clipboard; ↑/↓ move, Esc dismisses.
  4. Settings → Shortcuts — search an app or custom command and record a global shortcut.
  5. Settings → Snippets — enable the feature, then create templates with expansion keywords.

Building from source

See docs/development.md for the toolchain, build, packaging, release and website workflows. docs/ indexes everything else — architecture, engineering standards, the design system and one document per feature.

Contributing

Important

Open an issue before you write code — this is mandatory. Get the bug or the feature agreed on first; discussing it in the issue (or on Discord) is strongly encouraged. A PR that doesn't close an issue marked approved is closed automatically however good the patch is, and the work is wasted. Docs-only fixes are the one exception.

Tinycast's feature set is deliberately closed, and "another launcher has it" is not a reason on its own. Ask whether a feature is wanted before you ask for it.

Read CONTRIBUTING.md first — it covers the memory budget every PR is held to, the before/after video requirement for visual changes, and why features get declined. Every PR fills in the pull request template. Security issues go through SECURITY.md, not the issue tracker.

Questions, ideas, or just want to follow along? Join the Discord.

License

AGPL-3.0

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

94 total
  1. Tinycast Beta 0.11.1-beta.96v0.11.1-beta.96Sep 15, 2026pre-release276 downloads

    ## What's Changed * Validate URL schemes in fs path arguments like Node by @MattFaz in #713 * Reuse rows in Settings item lists so a fast scroll doesn't freeze by @notsoshu in #722 * Enhance and polish the Emoji and Symbols picker by @Risengan in #733 * Reopen gated pull requests when their issue is approved by @abue-ammar in #750 * Fix day labels for time-zone conversions by @caezium in #741 * Fix extension file paste focus and text fallback by @abue-ammar in #751 * Fix snippet argument prompt focus and options selection by @abue-ammar in #752 * Keep Space switching direction under Natural Scrolling by @abue-ammar in #755 * Search and run Apple Shortcuts from the launcher by @abue-ammar in #756 * Fix Cycle displays overshooting after the window changes display by @abue-ammar in #757 * Convert between px, rem and em in the calculator by @abue-ammar in #760 ## New Contributors * @caezium made their first contribution in #741 <!-- tinycast:install --> **Channel:** beta · **Version:** 0.11.1-beta.96 · **Bundle ID:** `com.tinycast.app.beta` Built from a38e4fc44c9283f12d534ce887e136d0628e9293. [Full changelog](https://github.com/abue-ammar/tinycast/compare/v0.11.0-beta.95...v0.11.1-b

  2. Tinycast Beta 0.11.0-beta.95v0.11.0-beta.95Sep 14, 2026pre-release376 downloads

    ## What's Changed * Open the palette where it was dropped on each display by @list-jonas in #677 * Let palette screens answer their own shortcuts by @abue-ammar in #678 * Keep the search query on one line by @abue-ammar in #680 * Let each Quick Action choose its own model by @abue-ammar in #686 * Run extension commands from raycast:// and tinycast:// deeplinks by @qeude in #674 * Send a missing translation language to System Settings by @abue-ammar in #688 * Mark macOS 15 Sequoia as no longer maintained by @abue-ammar in #689 * Fix automatic snippet expansion with argument prompts by @MattFaz in #661 * Add PBKDF2 and AES-CBC to the extension crypto shim by @abue-ammar in #693 * Fix first Actions menu reveal anchor by @Risengan in #694 * Give extension child processes real pids and add process.kill by @abue-ammar in #697 * Let a window layout bring one window to front by @abue-ammar in #700 * Spell the store search's platform filter the way the endpoint matches it by @notsoshu in #701 * Make the Summarize result selectable by @abue-ammar in #702 * Let AI Chat answer questions that are not about Tinycast by @abue-ammar in #703 * Give custom commands an alias field by @abue-ammar in #

  3. Tinycast 0.10.23v0.10.23Sep 13, 20266.8K downloads

    ## What's Changed * Right-size launcher file icons for the selected layout by @kmplngj in #617 * Play media the moment Quick Look opens it, and stop one from stretching the panel by @abue-ammar in #622 * Bring the website docs up to date with the app by @abue-ammar in #629 * Website landing redesign by @abue-ammar in #630 * Entitle the camera and calendars, so the hardened runtime lets them prompt by @abue-ammar in #635 * Improve emoji keyword matching and search ranking by @evaneykelen in #627 * Add the web APIs Google Calendar needs, and let stored OAuth tokens expire by @huhrishabh in #633 * Give the update window the native scroller by @abue-ammar in #638 * Check every protected resource's entitlement, not just the ones in use today by @abue-ammar in #641 * Show test progress and timings, and stop harnesses from hanging the suite by @abue-ammar in #644 * Align short form descriptions with the other rows by @huhrishabh in #642 * Polish popup menu interactions by @Risengan in #645 * Let each extension command be hidden from the launcher by @abue-ammar in #649 * Add a Center Two Thirds window command by @abue-ammar in #650 * Give extension forms more room for labels by @list-jonas

  4. Tinycast Beta 0.10.23-beta.94v0.10.23-beta.94Sep 13, 2026pre-release234 downloads

    ## What's Changed * Give the update window the native scroller by @abue-ammar in #638 * Check every protected resource's entitlement, not just the ones in use today by @abue-ammar in #641 * Show test progress and timings, and stop harnesses from hanging the suite by @abue-ammar in #644 * Align short form descriptions with the other rows by @huhrishabh in #642 * Polish popup menu interactions by @Risengan in #645 * Let each extension command be hidden from the launcher by @abue-ammar in #649 * Add a Center Two Thirds window command by @abue-ammar in #650 * Give extension forms more room for labels by @list-jonas in #651 * Fix System Monitor metrics in extensions by @wowlocal in #647 ## New Contributors * @Risengan made their first contribution in #645 * @wowlocal made their first contribution in #647 <!-- tinycast:install --> **Channel:** beta · **Version:** 0.10.23-beta.94 · **Bundle ID:** `com.tinycast.app.beta` Built from 156972aee4da24ac4e0a992cb7333d97728551eb. [Full changelog](https://github.com/abue-ammar/tinycast/compare/v0.10.22-beta.92...v0.10.23-beta.94) **Recommended:** install via Homebrew — it clears the quarantine flag automatically on every install and update, so

  5. Tinycast Beta 0.10.22-beta.92v0.10.22-beta.92Sep 13, 2026pre-release60 downloads

    ## What's Changed * Bring the website docs up to date with the app by @abue-ammar in #629 * Website landing redesign by @abue-ammar in #630 * Entitle the camera and calendars, so the hardened runtime lets them prompt by @abue-ammar in #635 * Improve emoji keyword matching and search ranking by @evaneykelen in #627 * Add the web APIs Google Calendar needs, and let stored OAuth tokens expire by @huhrishabh in #633 ## New Contributors * @evaneykelen made their first contribution in #627 * @huhrishabh made their first contribution in #633 <!-- tinycast:install --> **Channel:** beta · **Version:** 0.10.22-beta.92 · **Bundle ID:** `com.tinycast.app.beta` Built from 4d83c2341f1ebf99b5c8011ab47501dda9478481. [Full changelog](https://github.com/abue-ammar/tinycast/compare/v0.10.21-beta.91...v0.10.22-beta.92) **Recommended:** install via Homebrew — it clears the quarantine flag automatically on every install and update, so there's nothing to run by hand: ```sh brew trust --tap abue-ammar/tinycast brew install --cask abue-ammar/tinycast/tinycast@beta ``` This build is self-signed. If you download the DMG directly instead of using Homebrew, macOS will refuse to open it until you clear the

Code frequency

additions and deletions
+82.5K-82.5KWeek of 2026-06-28: +12,425 linesWeek of 2026-06-28: -5,783 linesWeek of 2026-07-05: +10,538 linesWeek of 2026-07-05: -3,321 linesWeek of 2026-07-12: +7,938 linesWeek of 2026-07-12: -1,939 linesWeek of 2026-07-19: +2,999 linesWeek of 2026-07-19: -1,195 linesWeek of 2026-07-26: +18,661 linesWeek of 2026-07-26: -1,429 linesWeek of 2026-08-02: +82,495 linesWeek of 2026-08-02: -70,993 linesWeek of 2026-08-09: +23,948 linesWeek of 2026-08-09: -2,076 linesWeek of 2026-08-16: +19,098 linesWeek of 2026-08-16: -4,539 linesWeek of 2026-08-23: +27,621 linesWeek of 2026-08-23: -5,825 linesWeek of 2026-08-30: +17,257 linesWeek of 2026-08-30: -2,873 linesWeek of 2026-09-06: +33,719 linesWeek of 2026-09-06: -8,397 linesWeek of 2026-09-13: +15,317 linesWeek of 2026-09-13: -7,027 linesJun 28, 2026Sep 13, 2026
+272K lines added, -115.4K removed over the last year.

Commits per week

last 52 weeks
760Week of 2025-09-21: 0 commitsWeek of 2025-09-28: 0 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 50 commitsWeek of 2026-07-05: 58 commitsWeek of 2026-07-12: 50 commitsWeek of 2026-07-19: 46 commitsWeek of 2026-07-26: 35 commitsWeek of 2026-08-02: 69 commitsWeek of 2026-08-09: 15 commitsWeek of 2026-08-16: 26 commitsWeek of 2026-08-23: 50 commitsWeek of 2026-08-30: 22 commitsWeek of 2026-09-06: 76 commitsWeek of 2026-09-13: 45 commitsSep 21, 2025Sep 13, 2026
542 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 4 commitsSun 1:00 — 12 commitsSun 2:00 — 2 commitsSun 3:00 — 2 commitsSun 4:00 — 0 commitsSun 5:00 — 1 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 1 commitsSun 10:00 — 1 commitsSun 11:00 — 0 commitsSun 12:00 — 0 commitsSun 13:00 — 0 commitsSun 14:00 — 0 commitsSun 15:00 — 3 commitsSun 16:00 — 0 commitsSun 17:00 — 1 commitsSun 18:00 — 5 commitsSun 19:00 — 2 commitsSun 20:00 — 5 commitsSun 21:00 — 2 commitsSun 22:00 — 8 commitsSun 23:00 — 10 commitsMon 0:00 — 10 commitsMon 1:00 — 12 commitsMon 2:00 — 11 commitsMon 3:00 — 1 commitsMon 4:00 — 1 commitsMon 5:00 — 0 commitsMon 6:00 — 1 commitsMon 7:00 — 1 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 2 commitsMon 11:00 — 3 commitsMon 12:00 — 0 commitsMon 13:00 — 3 commitsMon 14:00 — 0 commitsMon 15:00 — 1 commitsMon 16:00 — 2 commitsMon 17:00 — 3 commitsMon 18:00 — 5 commitsMon 19:00 — 2 commitsMon 20:00 — 4 commitsMon 21:00 — 8 commitsMon 22:00 — 12 commitsMon 23:00 — 5 commitsTue 0:00 — 6 commitsTue 1:00 — 10 commitsTue 2:00 — 6 commitsTue 3:00 — 10 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 0 commitsTue 10:00 — 0 commitsTue 11:00 — 0 commitsTue 12:00 — 0 commitsTue 13:00 — 2 commitsTue 14:00 — 2 commitsTue 15:00 — 1 commitsTue 16:00 — 2 commitsTue 17:00 — 1 commitsTue 18:00 — 3 commitsTue 19:00 — 4 commitsTue 20:00 — 10 commitsTue 21:00 — 7 commitsTue 22:00 — 11 commitsTue 23:00 — 5 commitsWed 0:00 — 16 commitsWed 1:00 — 6 commitsWed 2:00 — 12 commitsWed 3:00 — 3 commitsWed 4:00 — 5 commitsWed 5:00 — 5 commitsWed 6:00 — 4 commitsWed 7:00 — 3 commitsWed 8:00 — 2 commitsWed 9:00 — 1 commitsWed 10:00 — 1 commitsWed 11:00 — 2 commitsWed 12:00 — 2 commitsWed 13:00 — 2 commitsWed 14:00 — 1 commitsWed 15:00 — 0 commitsWed 16:00 — 1 commitsWed 17:00 — 0 commitsWed 18:00 — 2 commitsWed 19:00 — 2 commitsWed 20:00 — 1 commitsWed 21:00 — 3 commitsWed 22:00 — 9 commitsWed 23:00 — 6 commitsThu 0:00 — 6 commitsThu 1:00 — 6 commitsThu 2:00 — 11 commitsThu 3:00 — 7 commitsThu 4:00 — 8 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 1 commitsThu 11:00 — 3 commitsThu 12:00 — 2 commitsThu 13:00 — 1 commitsThu 14:00 — 2 commitsThu 15:00 — 1 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 2 commitsThu 19:00 — 3 commitsThu 20:00 — 3 commitsThu 21:00 — 3 commitsThu 22:00 — 2 commitsThu 23:00 — 7 commitsFri 0:00 — 6 commitsFri 1:00 — 6 commitsFri 2:00 — 8 commitsFri 3:00 — 10 commitsFri 4:00 — 4 commitsFri 5:00 — 5 commitsFri 6:00 — 1 commitsFri 7:00 — 2 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 0 commitsFri 12:00 — 0 commitsFri 13:00 — 0 commitsFri 14:00 — 0 commitsFri 15:00 — 2 commitsFri 16:00 — 1 commitsFri 17:00 — 3 commitsFri 18:00 — 2 commitsFri 19:00 — 7 commitsFri 20:00 — 10 commitsFri 21:00 — 7 commitsFri 22:00 — 11 commitsFri 23:00 — 3 commitsSat 0:00 — 6 commitsSat 1:00 — 7 commitsSat 2:00 — 11 commitsSat 3:00 — 7 commitsSat 4:00 — 5 commitsSat 5:00 — 5 commitsSat 6:00 — 2 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 0 commitsSat 15:00 — 4 commitsSat 16:00 — 1 commitsSat 17:00 — 1 commitsSat 18:00 — 2 commitsSat 19:00 — 0 commitsSat 20:00 — 6 commitsSat 21:00 — 3 commitsSat 22:00 — 7 commitsSat 23:00 — 4 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits472 (83%)
Community commits100 (17%)

572 commits in total over the last year.

DateListRankStars gained
Sep 16, 2026daily#4+1,076
  • jaywcjlove/awesome-mac

     This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

    113.9K stars · Swift

  • apple/container

    A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon.

    50K stars · Swift

  • permissionlesstech/bitchat

    bluetooth mesh chat, IRC vibes

    36.2K stars · Swift

  • manaflow-ai/cmux

    Open source Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents. Built for multitasking, organization, and programmability.

    27.1K stars · Swift

  • steipete/CodexBar

    Show usage stats for OpenAI Codex and Claude Code, without having to login.

    21.4K stars · Swift

  • palmier-io/palmier-pro

    macOS video editor built for AI

    14.4K stars · Swift