Without it the Shift-Shift gestures fail silently, so hiding the panel left no way to bring it back and the app looked broken. The app now says so on launch and points at Cmd+Shift+Space, which needs no permission, and --diag reports the permission state alongside the status item's placement so a lockout can be diagnosed instead of guessed at.
92 lines
3.6 KiB
Markdown
92 lines
3.6 KiB
Markdown
# Prompt
|
||
|
||
A native macOS app for keeping prompts and photos, in the spirit of
|
||
[Copper](https://shadcn.com/copper) by shadcn: a floating panel that sits next
|
||
to your work. Click anything to copy it back to your clipboard.
|
||
|
||
- **Click to copy** — text notes go back as text, photos go back as images.
|
||
- **Capture from anywhere** — select text in any app and tap **Left Shift twice**.
|
||
- **Photos** — paste (Cmd+V), drag & drop, or add via the photo button.
|
||
- **Sections** — type `# Name` in the composer; Cmd+K switches sections.
|
||
- **Copy as List** — Cmd+click to multi-select, right-click → Copy as List
|
||
(or Shift+Cmd+C) for a numbered list ready to paste into a chat.
|
||
- **Merge Notes, Mark as Done, Edit, Move To** — right-click any item.
|
||
- **Search** — Cmd+F searches across all sections.
|
||
- **Sync (optional)** — generate an 8-digit code (`1234-5678`) on one Mac and
|
||
enter it on the other; no account, no login. The code is the only secret.
|
||
- **Local & private** — everything lives in
|
||
`~/Library/Application Support/Prompt/` (`store.json` + `Images/`). No
|
||
account, no sync, no telemetry.
|
||
|
||
## Shortcuts
|
||
|
||
| Action | Shortcut |
|
||
| --- | --- |
|
||
| Capture current selection | Left Shift ×2 (or Cmd+Shift+C) |
|
||
| Show/hide panel | Right Shift ×2 (or Cmd+Shift+Space) |
|
||
| Switch/create section | Cmd+K |
|
||
| Search | Cmd+F |
|
||
| Focus composer | Cmd+N |
|
||
| Sync settings | Cmd+, |
|
||
| Copy selection as numbered list | Shift+Cmd+C |
|
||
| Close panel | Esc |
|
||
|
||
Double-Shift gestures require **Accessibility access** (Prompt reads the
|
||
selection by simulating Cmd+C, then restores your clipboard untouched). Until
|
||
it is granted, use Cmd+Shift+Space and Cmd+Shift+C, or click the menu bar icon
|
||
— and launching the app again always brings the panel back. Bare keys like
|
||
Space and Cmd+C are deliberately not bound inside the panel so they never
|
||
conflict with typing in the composer.
|
||
|
||
## Install
|
||
|
||
```bash
|
||
brew tap TZGyn/tap https://gitea.tzgyn.dev/TZGyn/homebrew-tap.git
|
||
brew trust TZGyn/tap
|
||
brew install --cask prompt
|
||
```
|
||
|
||
## Sync server
|
||
|
||
Sync is optional and needs the small Go backend in `Server/`. There is no
|
||
authentication: a sync group is identified by an 8-digit code, and whoever has
|
||
the code can read and write the group.
|
||
|
||
```bash
|
||
createdb prompt_sync
|
||
cd Server
|
||
PROMPT_SYNC_DATABASE_URL="postgres://localhost:5432/prompt_sync?sslmode=disable" \
|
||
go run . # listens on :8080
|
||
```
|
||
|
||
Or build the Docker image (`docker build -t prompt-sync Server/`) and point it
|
||
at your own Postgres — see [Server/README.md](Server/README.md) for that and for
|
||
deploying to a host.
|
||
|
||
Then in the panel: click the sync icon (or Cmd+,), confirm the server URL, and
|
||
either **Generate Code** on the first Mac or paste the code into **Join** on the
|
||
other.
|
||
|
||
Notes:
|
||
|
||
- Sync defaults to `https://prompt.tzgyn.dev`; change it in the sync panel to
|
||
point at your own server. Both Macs must be able to reach it — a LAN address
|
||
or a Tailscale hostname works, and `localhost` only works if the server runs
|
||
on the same Mac. See [Server/README.md](Server/README.md) to deploy it.
|
||
- Joining a group that already has notes replaces what's on that Mac.
|
||
- The app polls every 5 seconds (a tiny version check) and pushes 1.5s after a
|
||
change; last write wins, and changes that came from the server are not echoed
|
||
back.
|
||
- Verify sync from a terminal with `Prompt --sync-check`.
|
||
|
||
## Build from source
|
||
|
||
```bash
|
||
swift build # debug build
|
||
swift run Prompt # dev run (menu bar icon appears)
|
||
./build-app.sh 0.1.0 # release build + Prompt.app + icon + codesign
|
||
./release.sh 0.1.0 # build + dist/Prompt.zip (+ notarization when configured)
|
||
```
|
||
|
||
Requires macOS 14+.
|