Agentero
에이전트를 연결해 로컬 Vault에 연구 컨텍스트를 보관·Zotero에서 무결점 이동·읽고 이해·재활용
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Clipboard history for your Mac. Search everything you copy and paste it back from the keyboard. Native SwiftUI app with pins and iCloud sync.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Clipstack is a native macOS clipboard manager built with SwiftUI and AppKit. It quietly keeps everything you copy, and a single shortcut brings it back: search, preview and paste straight into the app you're working in.
macOS only remembers the last thing you copied. Clipstack remembers the rest, and stays out of your way while doing it.
| Mac App Store | "ClipStack: Clipboard History" is in review and will be listed soon. |
| Direct download | Download the latest DMG. Signed with Developer ID, notarized by Apple, and it updates itself. |
| Homebrew | brew install --cask chiranjeebhub/tap/clipstack |
The direct download and the App Store version share the same history and settings, so install only one of them.
On first launch, Clipstack asks for Accessibility access. macOS requires this before an app can type ⌘V into other apps. Without it, choosing an item copies it to the clipboard and you paste it yourself. The Mac App Store version doesn't paste for you, because App Review doesn't allow apps to use Accessibility for this. There, choosing an item copies it, and you press ⌘V. The direct download and Homebrew versions paste for you.
| Shortcut | Action |
|---|---|
| ⇧⌘V | Open the quick panel (customisable) |
| ↩ | Paste the selected item |
| ⌥↩ | Paste as plain text |
| ⌘1–9 | Paste one of the top nine items |
| ⌘P | Pin or unpin the selected item |
| ⌘E | Edit a text item |
| ⌥1–9 | Paste a pinned item from the menu bar menu |
| Quick panel | Images |
|---|---|
| Pinned items | Menu bar menu |
Read the full privacy policy.
macOS 14 Sonoma or later.
Questions, bugs and feature requests are welcome. See the support page or open an issue.
If Clipstack saves you time, a ⭐ on this repo helps other Mac users find it.
Building needs Xcode 15 or later.
iCloud sync needs the app signed by the developer team set in project.yml. Sign Xcode into that team's Apple Account (Xcode › Settings › Accounts), then run:
scripts/build-signed.sh --install
On the first run, Xcode creates the signing certificate, app ID and iCloud container automatically. The script installs XcodeGen with Homebrew if it's missing.
Without a developer account, scripts/build-app.sh builds an ad-hoc-signed app with everything except iCloud sync:
scripts/build-app.sh
open build/Clipstack.app
To try changes quickly without bundling, run swift run Clipstack. Launch at login, iCloud sync and the app icon only work in a bundled app.
Run the tests with swift test.
The signed app runs in the App Sandbox, as the App Store requires. Its first launch moves history and settings from earlier unsandboxed builds into the sandbox container (Resources/container-migration.plist). To archive a build for the App Store:
scripts/archive-appstore.sh # exports build/AppStore/Clipstack.pkg
scripts/archive-appstore.sh --upload # uploads the build to App Store Connect
Uploading needs an app record for com.chiranjeebhub.clipstack in App Store Connect. Before the first App Store release, deploy the CloudKit schema to production in the CloudKit Console, because App Store builds use the production environment.
The same app is also distributed outside the App Store, as a DMG signed with Developer ID and notarized by Apple, so it opens without Gatekeeper warnings. This build (the ClipstackDirect target) adds Sparkle so it updates itself, and shows Check for Updates… where the App Store build shows Rate Clipstack…. It stays sandboxed and uses the same bundle ID, so it shares history and settings with the App Store version; install only one of them.
Set up the Mac that makes releases once. The script says what it still needs from you: a Developer ID Application certificate, an app-specific password for notarization, and a signed-in GitHub CLI. It also creates the Sparkle signing key and writes the public key into Resources/Info-Direct.plist; commit that change and back up the private key.
scripts/setup-direct.sh
Then, for each release (raise MARKETING_VERSION in project.yml first):
scripts/release-direct.sh # builds and notarizes build/Direct/Clipstack-<version>.dmg
scripts/release-direct.sh --publish # also publishes it
Publishing creates a GitHub release in this repo with the DMG and the Sparkle update feed (appcast.xml, which installed copies read from https://github.com/chiranjeebhub/ClipStack/releases/latest/download/appcast.xml), and updates the Homebrew cask in chiranjeebhub/homebrew-tap, so people can install it with:
brew install --cask chiranjeebhub/tap/clipstack
| Path | What's there |
|---|---|
Sources/ClipboardCore | History model, storage, search and filters, content detection, and the drawn app icon. Covered by tests. |
Sources/Clipstack | The app: pasteboard monitor, global shortcut, paste service, quick panel, menu bar menu, Settings and onboarding. |
Sources/MakeIcon | Renders the app icon to an .iconset during the build. |
scripts/build-signed.sh | Builds the signed app (with iCloud) through the Xcode project generated from project.yml. |
scripts/archive-appstore.sh | Archives the signed app and exports or uploads it for the Mac App Store. |
scripts/setup-direct.sh | One-time setup for direct download releases: certificate check, Sparkle key, notarization login. |
scripts/release-direct.sh | Builds, notarizes and (with --publish) releases the direct download DMG. |
packaging/clipstack.rb | Template for the Homebrew cask. |
scripts/build-app.sh | Builds an ad-hoc-signed Clipstack.app with SwiftPM only, without iCloud. |
Clipstack is released under the MIT License. Copyright © 2026 Chiranjeeb Jena.