Master your keyboard, refine your workflow
Navigate macOS without touching your mouse - keyboard-driven productivity at its finest ๐ฑ๏ธโจ๏ธ
Installation โข Quick Start โข Features โข Docs โข Contributing
Neru (็ทดใ) - a Japanese word meaning "to refine, polish, and master through practice" - is a free, open-source keyboard navigation tool for macOS. Navigate, click, and scroll anywhere on your screen without ever touching your mouse.
- ๐ Always free - No paywalls, no subscriptions, no "upgrade to pro"
- ๐ฌ Universal compatibility - Works with native macOS apps, Electron apps, and all browsers
- โก Lightning fast - Native performance with instant response
- ๐ ๏ธ Power-user friendly - Text-based config for version control and dotfile management
- ๐ค Community-owned - Your contributions shape the project
- ๐ง Scriptable - CLI commands enable automation and integration
Neru is a capable free and open-source replacement for:
- Homerow - Modern keyboard navigation (paid)
- Shortcat - Keyboard productivity tool (discontinued)
- Vimac - Vim-style navigation (unmaintained)
- Mouseless - Grid based keyboard navigation (paid)
# Homebrew (recommended)
brew tap y3owk1n/tap
brew install --cask y3owk1n/tap/neru
# Nix Flake
# Add to flake.nix: inputs.neru.url = "github:y3owk1n/neru";
# See docs/INSTALLATION.md for nix-darwin/home-manager setup
# Or build from source
git clone https://github.com/y3owk1n/neru.git
cd neru && just release- Open System Settings
- Navigate to Privacy & Security โ Accessibility
- Enable Neru
# Start Neru
open -a Neru
# Or install as launchd service for auto-startup
neru services install
# Try default hotkeys:
# Cmd+Shift+Space - Hint mode
# Cmd+Shift+G - Grid mode
# Cmd+Shift+S - ScrollWhen in hint or grid mode, selecting a hint or label will move the cursor to that point. You can also press Tab when in those modes to enter action mode, and use keybindings to perform actions on the current cursor position, e.g., l for left click, r for right click, d for double-click, m for middle-click, etc.
See Installation Guide for detailed setup instructions.
| Feature | Description |
|---|---|
| ๐ฏ Hint Labels | Click any visible element using keyboard labels |
| ๐ฌ Action Mode | Choose click type: left, right, double, middle, drag & drop |
| ๐ Vim Scrolling | Scroll anywhere with j/k, gg/G, Ctrl+D/U |
| ๐ Universal Support | Native apps, Electron, Chrome, Firefox, system UI |
| โก Native Performance | Built with Objective-C and Go for instant response |
| ๐ ๏ธ TOML Config | Highly customizable with text-based configuration |
| ๐ซ App Exclusion | Disable Neru in specific applications |
| ๐ฌ CLI Control | IPC commands for scripting and automation |
Four Navigation Modes:
- Hints Mode - Accessibility-based labels on clickable elements
- Grid Mode - Universal coordinate-based navigation (works everywhere!)
- Scroll Mode - Vim-style scrolling at cursor position
- Action Mode - Interactive mouse actions at cursor position
Hints Demo โข Grid Demo
- Installation Guide - Homebrew, Nix, source builds
- Configuration - Complete TOML reference
- CLI Usage - Command-line interface
- Troubleshooting - Common issues & solutions
- Development - Building & contributing
Neru uses TOML configuration with sensible defaults. Customize everything from hotkeys to visual styling.
[hotkeys]
"Cmd+Shift+Space" = "hints"
"Cmd+Shift+G" = "grid"
[hints]
hint_characters = "asdfghjkl"
background_color = "#FFD700"See Configuration Guide for all options.
We welcome contributions! Here's how to get started:
- Fork & Clone the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following our Coding Standards
- Test thoroughly (
just test && just lint) - Commit conventionally and open a Pull Request
Guidelines:
- Keep PRs focused on a single change
- Add tests for new features
- Update documentation
- Follow existing code style
See Development Guide for build instructions and architecture details.
Why TOML config over GUI?
- โก Faster editing than clicking through settings
- ๐ Version control friendly (dotfiles, git)
- ๐ง More powerful than UI constraints
- ๐ ๏ธ Reduces maintenance burden
Why grid-based navigation?
- โ Works everywhere (native apps, Electron, browsers, system UI)
- โก Fast and reliable (no accessibility tree traversal)
- ๐ฏ Always accurate (clicks at exact coordinates)
- ๐ง Simple maintenance (no app-specific workarounds)
Actively maintained with community contributions. PRs welcome!
Future Ideas:
- Service management commands
- Improved app icons
Known Issues:
- Hold/unhold actions don't work in Finder (help appreciated!)
Neru works with everything:
- Native macOS Apps - Finder, Safari, System Settings, Mail, etc.
- Electron Apps - VS Code, Cursor, Slack, Spotify, Obsidian, Discord
- Browsers - Chrome, Firefox, Safari, Arc, Brave, Zen
- Creative Apps - Adobe Illustrator, Photoshop, Figma
- System UI - Menubar, Dock, Mission Control, Notification Center
See Troubleshooting Guide for app-specific issues.
MIT License - see LICENSE for details.
Inspired by these excellent projects:
- Homerow - Modern keyboard navigation
- Vimac - Vim-style navigation
- Shortcat - Keyboard productivity tool
- Vimium - Browser Vim bindings
- Mouseless - Grid navigation
- ๐ Troubleshooting Guide for common issues
- ๐ Open an issue for bugs
- ๐ฌ Discussions for questions
- โญ Star this repo if you find Neru useful!
Made with โค๏ธ by y3owk1n

