Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Tinycast

A tiny, fully native macOS launcher — the essentials, without the bloat.

Join the Tinycast Discord Hire me — iabueammar@gmail.com License: AGPL-3.0

Tinycast command palette

Around 3 MB on disk and under 100 MB of RAM — no Electron, no telemetry, no background CPU churn. Just SwiftUI + AppKit with zero dependencies. It's fast because there's nothing to it.

Features

  • App launcher — fuzzy-search and launch anything, pin favorites, see what's running, quit an app or every app at once.
  • Custom commands — run named shell commands through fuzzy search or their own global hotkeys.
  • Calculator — do math, unit and live currency conversions inline, right in the palette.
  • Clipboard history — text and images, searchable, pasted back into the app you were using.
  • Snippets — reusable Markdown templates with dynamic placeholders, arguments, nested references and optional keyword expansion.
  • Global hotkey — one shortcut summons the palette from anywhere.
  • Per-app hotkeys — bind a key to an app; press it to toggle (focus/hide).

Install

brew trust --tap abue-ammar/tinycast   # required for third-party taps
brew tap abue-ammar/tinycast
brew install --cask tinycast          # stable
brew install --cask tinycast@beta     # beta  (installs side-by-side)
brew install --cask tinycast-sequoia  # stable channel  (macOS 15 Sequoia)

Tinycast also runs on macOS 15 Sequoia — install the tinycast-sequoia cask above.

Each channel is a separate app (Tinycast.app, Tinycast Beta.app) with its own settings and permissions, so you can run stable next to the beta.

Tinycast is self-signed. Installing via Homebrew clears the macOS quarantine flag for you automatically on every install and update, so there's nothing to run. (If you download the DMG directly from Releases instead, clear it 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 with no agreed issue behind it gets closed however good the patch is, and the work is wasted. Typo and docs-only fixes are the one exception.

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

关于 About

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

语言 Languages

Swift94.0%
TypeScript3.2%
JavaScript1.2%
Shell0.7%
CSS0.6%
HTML0.2%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
349
Total Commits
峰值: 73次/周
Less
More

核心贡献者 Contributors