0.1.0 — initial release
The first release of Scratch. macOS, Apple silicon.
First-run onboarding
- Three-step setup on first launch: appearance, summon shortcut, dock visibility. Skip at any step and the walkthrough buffers still seed.
- Five pre-loaded walkthrough buffers appear after setup: welcome, keyboard shortcuts, Markdown and slash commands, capture text (with a plain-language buffer about the screen-recording permission), and a pointer to settings. They behave like any other buffer.
The buffer
- Single global hotkey (
⌥Spaceby default) summons and dismisses the window from anywhere on macOS. - Always-on Markdown editor (CodeMirror 6) with live preview, slash commands, and GFM.
- Cross-buffer search (
⌘⇧F) over every buffer, plus in-buffer find (⌘F). - Local-only by design: buffers live as plain Markdown files in your application data folder. No account, no sync service, no server-side copy.
- Choose where buffers are stored (Settings → General → Buffer location) — point it at iCloud Drive or Dropbox to sync across machines, with an optional copy of your existing buffers. Changes made by a sync client or another machine reflect live; only genuinely different content on disk counts as a change, so a byte-for-byte sync echo never raises a false alarm. If the open buffer changes on disk while you have unsaved edits, a banner lets you keep yours or take the other version.
Editor
- Configurable font size, line height, tab size, line numbers, spell check, and cursor style.
- Three built-in themes (Bone, Slate, Slate Brass) plus custom themes saved from any appearance state.
- Density preset (compact, cozy, comfortable) and accent color (four presets or any hex).
Inline calculations
- Lines that look like math get a live result at the end of the line — arithmetic, percentages, named variables scoped to a block, and
x-as-multiplication between numbers. - Variables are italicized inline and autocomplete suggests them as you type (alongside
sqrt,round,min,pi, and friends). - Unit conversion covers everything mathjs knows about (length, mass, time, area, volume, temperature, data). Use
toorinbetween an expression and the target unit. - A faint dashed preview pill shows the result on the line you’re composing. Press
Tab(or⌘=) to bake the value into the buffer as plain text. - Local only. No network calls — currency conversion is intentionally out of scope.
- The whole feature can be turned off in Settings → Editor → Inline calculations.
Intelligence
- On-device rephrase via Apple Foundation Models. Off by default; enable in Settings → Intelligence. Requires macOS 26 on Apple silicon.
- A floating pill appears above any text selection with four built-in tones (Tighten, Refine, Soften, Fix).
- Up to six user-defined rephrase templates with a label and an instruction. Each one appears as a chip on the pill. The instruction is sent verbatim to the local model as a system prompt; nothing leaves the device.
- One-off custom rewrites via the chat-bubble icon at the end of the pill — type a prompt, press Enter, and the rewrite lands in place. The instruction is discarded after use.
Window and system
- Pin (always-on-top), opacity, and remember-bounds toggles.
- Auto-hide on blur, quit on close, launch at login, start hidden, dock visibility, and menu-bar visibility.
- Customizable shortcuts for summon, settings, new buffer, next/previous buffer, and delete buffer. Conflict detection in the shortcuts panel.
- Menu-bar tray with quick access to summon, settings, and quit.
- macOS trackpad swipe gestures move between buffers.
Export and capture
- Export the current buffer as Markdown, or all buffers as a
.zipof Markdown files. - Send the current buffer to Obsidian or Apple Notes.
- Capture text from any region of the screen — Scratch reads the selection and drops the recognized text into the buffer.
- Reveal buffers folder from the File menu or settings.
Command-line interface
- A headless
scratchCLI reads and writes the same buffers as the app. Nine commands (new,list,read,write,append,title,search,path,help), atomic writes, frontmatter preserved. - Honors the same buffer-location setting as the app, with
SCRATCH_BUFFERS_DIRas an override. Works whether the app is running or not.
Updates and licensing
- 14-day local trial with clock-rollback protection. After expiry, existing buffers remain readable; new edits require activation.
- Activation via Ed25519-signed license key, pasted into Settings → Activation.
- Auto-update via GitHub Releases, with manual check from Help → Check for updates.
Acknowledgements
- Settings → About lists every third-party open-source project bundled with Scratch, with its version, SPDX license, and full license text. Generated at build time from the production dependency tree.
Privacy
- Crash reports and usage metrics are off by default. Both are independent toggles in Settings → Privacy.
- Buffer content is never transmitted. Crash payloads are limited to error name, truncated message, stack trace, Scratch version, OS version, and architecture.
- Anonymous installation identifier (random UUID, persisted locally) is the only identifier sent.