neru

Keyboard-driven navigation for macOS - Navigate and click without touching your mouse ๐Ÿ–ฑ๏ธ Open source alternative to homerow, vimac, shortcat and mouseless in macos.

GoMIT38442 open issues
Created Oct 31, 2025Last commit Feb 21, 2026Last human commit Feb 21, 2026
accessibilitybindingsgolanghomerowhomerow-appkeyboardkeyboard-navigationmacmacosmacos-appmacosxmousemouselessnerusystem-widesystemwidevifarivimvimium
Embed Badge
Play on Codakey
Markdown
[![Play on Codakey](https://codakey.io/badge.svg)](https://codakey.io/projects/neru)
HTML
<a href="https://codakey.io/projects/neru"><img src="https://codakey.io/badge.svg" alt="Play on Codakey" height="28" /></a>

Daily Activity

Monthly Activity

Star History

README

Neru

Master your keyboard, refine your workflow

Navigate macOS without touching your mouse - keyboard-driven productivity at its finest ๐Ÿ–ฑ๏ธโŒจ๏ธ

License Platform Go Version Latest Release

Get Started โ€ข Features โ€ข Docs โ€ข Contributing


โœจ What is Neru?

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.

Feel free to read the progress and how I use Neru here if you're interested with it.

๐ŸŽฏ Why Choose Neru?

  • ๐Ÿ†“ 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

๐Ÿ†š Free Alternative To

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)

๐ŸŽฏ Core Features

FeatureDescription
๐ŸŽฏ Hint & Grid LabelsClick any visible element using keyboard labels
โšก Direct ActionsPerform mouse actions directly in hints/grid mode (Shift+L, etc.)
๐Ÿ“œ Vim ScrollingFully configurable scroll keys: j/k, gg/G, custom bindings
๐ŸŒ Universal SupportNative apps, Electron, Chrome, Firefox, system UI
โšก Native PerformanceBuilt with Objective-C and Go for instant response
๐Ÿ› ๏ธ TOML ConfigHighly customizable with text-based configuration
๐Ÿšซ App ExclusionDisable Neru in specific applications
๐Ÿ’ฌ CLI ControlIPC commands for scripting and automation

๐ŸŽฎ How It Works

Navigation Modes:

  1. Hints Mode - Accessibility-based labels on clickable elements
  2. Grid Mode - Universal coordinate-based navigation (works everywhere!)
  3. Scroll Mode - Vim-style scrolling at cursor position
  4. Recursive Grid Mode - Recursive cell selection (u/i/j/k), reset key returns to initial center

๐Ÿš€ Get Started

Install

# 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

Grant Permissions

  1. Open System Settings
  2. Navigate to Privacy & Security โ†’ Accessibility
  3. Enable Neru

Try It

# 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+C     - Recursive Grid mode
# Cmd+Shift+S     - Scroll

When in hint or grid mode, selecting a hint or label will move the cursor to that point. You can also press action keybindings (e.g., Shift+L for left click, Shift+R for right click) to perform actions without switching modes.

See Installation Guide for detailed setup instructions.


๐Ÿ“š Documentation

โš™๏ธ Configuration

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.

๐Ÿ—๏ธ Design Philosophy

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 we recommend grid over hints 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)

[!NOTE] We support both hints and grid modes, but we recommend using grid mode as it is mostly usable out of the box without further configuration.

๐Ÿ“Š Project Status

Actively maintained with community contributions. PRs welcome!

Contribution ideas:

  • Improved app icons & logo
  • More navigation mechanism
  • More mouse actions
  • Website & docs
  • More configuration examples for different use cases

โœ… Compatibility

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.

๐Ÿค Contributing

We welcome contributions! Here's how to get started:

  1. Fork & Clone the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes following our Coding Standards
  4. Test thoroughly (just test && just lint)
  5. 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.


๐Ÿ™ Acknowledgments

Inspired by these excellent projects:

๐Ÿ’ฌ Support

๐Ÿ“„ License

MIT License - see LICENSE for details.

Made with โค๏ธ by y3owk1n

Related Projects