MonkeyNote is a minimalist, native macOS note-taking application built with SwiftUI. It provides a clean, distraction-free interface for organizing your thoughts with powerful features like markdown rendering, custom cursor controls, intelligent autocomplete, and hierarchical folder organization.
Quick demo: watch a short recording of MonkeyNote in action.
- Hierarchical Organization: Create unlimited nested folders to organize your notes
- Markdown Rendering: Real-time markdown syntax highlighting and rendering
- Obsidian: Totally using Obsidian-style markdown syntax
- Custom Cursor: Configurable cursor width, blinking, and animation settings
- Smart Autocomplete: Intelligent word and line completion with customizable delay
- Powerful Search: Fast in-document search with match navigation
- Drag & Drop: Intuitive drag-and-drop support for notes and folders
- macOS 15.7 or later
- Xcode 16.2 or later (for building from source)
./run.sh```bash
./build.sh
```
See doc/build.md for detailed build instructions.
- Download the latest
MonkeyNote.dmgfrom the Releases page
Note: If macOS shows "app cannot be opened", go to System Settings > Privacy & Security and click Open Anyway.
MonkeyNote stores all notes and settings in your local file system:
- Notes location:
~/Documents/MonkeyNote/ - Settings: Stored in UserDefaults
Access settings via the gear icon in the sidebar:
- Theme: Light/Dark mode toggle
- Font Family: Monospaced, Rounded, or Serif
- Font Size: Adjustable text size
- Cursor Settings: Width, blinking, animation
- Autocomplete: Enable/disable, delay, opacity
- Suggestion Mode: Word or line completion
- Markdown Rendering: Toggle markdown preview
- Vault Location: Change notes storage location
| Shortcut | Action |
|---|---|
⌘ + F |
Focus search field |
⏎ (in search) |
Navigate to next match |
ESC (in search) |
Close search and return to editor |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request

