Skip to content

About

A tiny, native macOS clone of Raycast Notes — global hotkey, live markdown, iCloud sync. Swift + AppKit.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

Mini Notes

A tiny, native macOS clone of Raycast Notes: one floating notes window you summon with a global hotkey, with live markdown that looks like rich text.

Written in Swift with AppKit + TextKit — no Electron, no web view. ~600 KB, launches instantly, toggles in a frame.

Mini Notes in dark mode Mini Notes in light mode

Features

  • Global hotkey (default ⌥⌘N) toggles the window from anywhere; Esc hides it and returns you to the app you were in
  • Live markdown — headings, bold, italic, strikethrough, ==highlight==, inline code, fenced code blocks, links, quotes, rules, nested bullets, numbered lists and clickable checkboxes. Syntax hides itself except on the line you're editing
  • Code blocks with syntax highlighting for ~20 languages (Swift, TS/JS, Python, Go, Rust, SQL, shell, JSON, YAML, HTML, CSS…), colored by the active theme
  • Smart editing — lists continue on Enter, Tab / ⇧Tab nest them, [] becomes a checkbox, brackets/quotes/** auto-close, move or duplicate lines, paste a URL over selected text to make a link
  • Collapsible headings — hover a heading and click the chevron (or ⌥⌘F) to fold its section
  • Copy as rich text — copies paste formatted into Slack, Mail, Notion and Google Docs, and as markdown into code editors
  • Quick switcher (⌘P) with full-text search and pinned notes — pin, duplicate or delete right from the list — plus an actions palette (⌘K)
  • Themes — 18 popular editor themes (GitHub, VS Code, One Dark, Dracula, Catppuccin, Tokyo Night, Nord, Gruvbox, Solarized, Rosé Pine…) with live preview, plus auto light/dark pairs
  • iCloud sync — one checkbox moves your notes to iCloud Drive; edits from your other Macs show up live
  • Plain files — every note is a .md file you own; deleted notes go to the Trash
  • Fonts — SF Pro by default, plus bundled Inter, Geist, iA Writer Quattro, Atkinson Hyperlegible, Literata and JetBrains Mono (or any installed font); a separate code font (SF Mono, JetBrains Mono, Fira Code, Geist Mono, IBM Plex Mono); adjustable line width and spacing
  • Auto-updates from GitHub Releases, or install and update with Homebrew
  • Always at hand — floats above other apps and follows you to every desktop and full-screen app (turn off floating with ⇧⌘F)
  • Light/dark mode, menu bar icon, open at login, adjustable text size

Syntax-highlighted code blocks in GitHub Dark

Install

Requires macOS 14 Sonoma or later (Apple Silicon or Intel).

Homebrew

brew install --cask stefansdev/tap/mini-notes

Download

  1. Download MiniNotes.zip from the latest release.
  2. Unzip it and drag Mini Notes.app into Applications.
  3. Open it. Because the app isn't notarized by Apple, macOS will block the first launch — go to System Settings → Privacy & Security, scroll down and click Open Anyway.

Or do it all from Terminal (skips the Gatekeeper prompt):

curl -fsSL https://github.com/stefansdev/mini-notes/releases/latest/download/MiniNotes.zip -o /tmp/MiniNotes.zip \
  && ditto -x -k /tmp/MiniNotes.zip /Applications \
  && xattr -dr com.apple.quarantine "/Applications/Mini Notes.app" \
  && open "/Applications/Mini Notes.app"

Build from source

Needs Xcode 15+ (or the Swift 5.9+ toolchain).

git clone https://github.com/stefansdev/mini-notes.git
cd mini-notes
./build.sh install   # builds, copies to /Applications and launches

Usage

Mini Notes lives in the menu bar (no Dock icon). Press the hotkey to show or hide the window, and start typing. Change the hotkey and other options in Settings (⌘, or the menu bar icon).

Shortcuts

Notes Formatting
Toggle window ⌥⌘N (global) Bold / Italic ⌘B / ⌘I
Hide Esc / ⌘W Strikethrough ⇧⌘X
New note ⌘N Highlight ⇧⌘H
Browse / search notes ⌘P Inline code / code block ⌘E / ⌥⌘C
Actions ⌘K Link ⌘L
Previous / next note ⌘[ / ⌘] Heading 1–3 ⌥⌘1–3
Duplicate ⌘D Numbered / bulleted / checklist ⇧⌘7 / 8 / 9
Copy as markdown ⇧⌘C Toggle checkbox ⌘↩ or click it
Export ⇧⌘E Blockquote ⇧⌘B
Delete (to Trash) ⇧⌘⌫ Indent / outdent list Tab / ⇧Tab
Change theme ⌥⌘T Move line up / down ⌥⌘↑ / ⌥⌘↓
Pin note ⇧⌘P Duplicate line ⇧⌘D
Fold / unfold section ⌥⌘F Unfold all ⇧⌥⌘F
Float on top ⇧⌘F Text size ⌘+ / ⌘− / ⌘0
Find ⌘F Open link ⌘-click

Themes

Press ⌥⌘T (or ⌘K → Change Theme…) and arrow through the list — the window previews each theme live; Enter keeps it, Esc reverts. You can also pick one in Settings.

Theme gallery: GitHub Dark, Dracula, Catppuccin Mocha, Tokyo Night, Nord, Gruvbox Dark, GitHub Light, Catppuccin Latte, Solarized Light

Themes
Default System (translucent, follows macOS)
Auto light/dark VS Code, GitHub, One, Catppuccin, Gruvbox, Solarized, Rosé Pine
Dark VS Code Dark Modern, GitHub Dark, One Dark Pro, Dracula, Monokai, Nord, Tokyo Night, Catppuccin Mocha, Gruvbox Dark, Solarized Dark, Rosé Pine
Light VS Code Light Modern, GitHub Light, One Light, Catppuccin Latte, Gruvbox Light, Solarized Light, Rosé Pine Dawn

"Auto" themes switch between their light and dark variant with macOS. Themes live in Theme.swift as ten colors each — adding one is a single ThemeSpec entry.

In the ⌘P list: ↩ open, ⇧⌘P pin/unpin, ⌘D duplicate, ⌘⌫ delete.

Fonts

Pick a font in Settings → Font, or press ⌘K → Change Font… to preview them live. Code blocks and inline code use the Code font setting.

SF Pro, Inter, iA Writer Quattro, Literata, Atkinson Hyperlegible and Geist

Built in (macOS) SF Pro, SF Pro Rounded, New York, SF Mono
Included Inter, Geist & Geist Mono, iA Writer Quattro, Atkinson Hyperlegible Next, Literata, JetBrains Mono, Fira Code, IBM Plex Mono

The included fonts are unmodified and distributed under the SIL Open Font License 1.1; they're only available inside Mini Notes and don't get installed system-wide.

Storage & sync

Notes are plain markdown files in ~/Library/Application Support/Mini Notes/Notes.

To sync between Macs, tick Sync notes with iCloud Drive in Settings on each Mac. Notes move to iCloud Drive › Mini Notes (also visible in the Files app on iPhone), and changes from other devices appear live — unsaved edits on the current Mac always win. If the same note is edited on two offline Macs, iCloud keeps both copies and the second shows up as its own note. You can also point the app at any folder with Change….

Development

swift build                    # debug build
.build/debug/MiniNotes         # run it

Project layout:

Sources/MiniNotes/
  Markdown/MarkdownStyler.swift         # live markdown → attributes (incremental)
  Markdown/MarkdownLayoutManager.swift  # hidden syntax, bullets, checkboxes, code/quote drawing
  Editor/NoteTextView.swift             # list continuation, shortcuts, formatting commands
  UI/                                   # window, header, ⌘P/⌘K palette, settings
  Theme.swift                           # theme definitions + ThemeManager
  NotesStore.swift                      # .md files, debounced saves, folder watching / iCloud
  HotKey.swift                          # global hotkey (Carbon, no Accessibility permission)

Debug builds include test hooks:

MININOTES_SNAPSHOT=/dev/null MININOTES_ACTION=selftest .build/debug/MiniNotes   # editor behaviour tests
MININOTES_SNAPSHOT=/dev/null MININOTES_ACTION=themetest .build/debug/MiniNotes  # theme preview/revert tests
MININOTES_SNAPSHOT=/tmp/shot.png MININOTES_APPEARANCE=dark .build/debug/MiniNotes  # render window to PNG

./build.sh dist produces the universal build/MiniNotes.zip attached to releases. To cut a release (tests, version bump, GitHub release and Homebrew cask bump in stefansdev/homebrew-tap):

scripts/release.sh 1.2.0 release-notes.md

Updates

Mini Notes checks GitHub Releases once a day (turn it off in Settings, or use Check for Updates… in the menu bar menu). Updates are downloaded over HTTPS, checked (bundle identifier, version and code signature) and installed in place, then the app relaunches.

License

MIT. Not affiliated with Raycast.

About

A tiny, native macOS clone of Raycast Notes — global hotkey, live markdown, iCloud sync. Swift + AppKit.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages