Skip to content

y3owk1n/neru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

663 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Neru Logo

η·΄γ‚‹ Β· Neru

Navigate your entire screen without touching the mouse.

License Platform Go Version Latest Release Ask DeepWiki


Neru (η·΄γ‚‹ β€” "to refine through practice") puts your cursor anywhere on screen using only your keyboard. Click, scroll, drag β€” all without leaving the home row.

It's a free, open-source alternative to Homerow, Mouseless, and Wooshy. No paywalls, no subscriptions, fully configurable.

See how the author uses Neru day-to-day β†’ HOW-I-USE-NERU.md and a quick demo with recursive_grid with my own config:

demo.mp4

Navigation modes

Recursive Grid Mode
Recursive Grid Β· recommended
Grid Mode
Grid
Hints Mode
Hints
Mode How it works Best for
Recursive Grid ⭐ Divide screen into cells, narrow recursively with u/i/j/k Everything β€” works in any app, any window
Grid Coordinate grid, jump by row + column label Quick, coarse navigation
Hints Labels appear on every clickable UI element Standard macOS apps with accessibility support
Scroll Vim-style j/k, gg/G, d/u Scrolling without lifting your hands

Recursive Grid is the recommended daily driver. It's precise, predictable, and requires no per-app setup β€” it just works everywhere.


Features

  • All mouse actions β€” left, right, and middle click; drag & drop; all key-bound
  • Sticky modifiers β€” tap Shift or Cmd once to apply to your next click, no holding
  • Per-app exclusions β€” opt specific apps out by bundle ID
  • CLI & scripting β€” full IPC-based CLI for shell scripts and hotkey managers
  • TOML config β€” every keybinding, color, and behavior in one file you can version-control

Works in native macOS apps, Electron apps (VS Code, Slack, Obsidian), all major browsers, creative tools (Figma, Illustrator), and system UI (Dock, Menubar, Mission Control). Grid and Recursive Grid need no accessibility support β€” they work universally.


Installation

Note

The homebrew tap is maintained in another repo: y3owk1n/homebrew-tap If there's a problem with the tap, please open an issue in that repo or even better, a PR.

# Homebrew (recommended β€” gets you auto-updates)
brew tap y3owk1n/tap
brew install --cask y3owk1n/tap/neru
# Nix Flake
# inputs.neru.url = "github:y3owk1n/neru";
# See docs/INSTALLATION.md for nix-darwin / home-manager setup

# Build from source
git clone https://github.com/y3owk1n/neru.git
cd neru && just release

Then grant accessibility access: System Settings β†’ Privacy & Security β†’ Accessibility β†’ enable Neru.

open -a Neru              # launch
neru services install     # auto-start on login

Full walkthrough: Installation Guide β†’


Default hotkeys

Hotkey Action
Cmd+Shift+C Recursive Grid ⭐
Cmd+Shift+G Grid
Cmd+Shift+Space Hints
Cmd+Shift+S Scroll
Shift+L Left click
Shift+R Right click

All hotkeys are remappable. See Configuration Reference β†’

Note: Adding any custom hotkey replaces all defaults. Re-declare every hotkey you want to keep.


Configuration

Everything lives in ~/.config/neru/config.toml β€” one file, plain text, dotfile-friendly.

neru config init      # generate a commented starter config
neru config validate  # check for errors
neru config reload    # hot-reload into a running daemon

Version-control it, share it, script against it. No settings GUI, no hidden state.

Full reference: Configuration Docs β†’ Β· Community configs: Config Showcases β†’


How Neru compares

macOS

Tool Approach Price Open Source
Neru Hints + Grid + Recursive Grid + Scroll Free βœ…
Homerow Hints (fuzzy search + labels) Paid ❌
Wooshy Hints (search-to-click) Paid ❌
Mouseless Grid-based pointer control Paid ❌
Scoot Hints + Grid + Freestyle Free βœ…
Vimac Hints + Grid Free βœ… ⚠️ unmaintained
warpd Hints + Grid + Normal Free βœ… ⚠️ low activity
Shortcat Hints (fuzzy search) Free ❌ discontinued

Browser extensions

Tool Approach
Vimium Hints-based link navigation
Vimium C Extended Vimium
Tridactyl Full Vim emulation in Firefox

Platform support

macOS is fully supported. Linux and Windows currently expose the shared architecture, ports, and stubs, but still need native implementations for core functionality. neru doctor now reports these runtime capability gaps explicitly.

Shared code should prefer platform roles over macOS-specific assumptions:

  • Use Primary in new cross-platform hotkeys when you mean "Cmd on macOS, Ctrl elsewhere".
  • Treat Linux as a backend family, not one target: X11 and Wayland may need separate adapters behind the same port.
  • Keep backend selection in platform/infra code so contributors can extend Linux without editing shared mode logic.
  • Treat CGO as backend-dependent, not automatically OS-dependent: macOS needs it today, Linux may or may not depending on backend, and Windows should prefer pure-Go Win32 bindings where practical.
Platform Status
macOS βœ… Stable, all features
Linux πŸ”² Foundations only
Windows πŸ”² Foundations only

Interested in porting? Check cross-platform issues or join the Linux discussion.

Contributor quick start for platform work:

just build
just test-foundation
just build-linux      # or: just build-windows
Full compatibility matrix & roadmap
Capability macOS Linux Windows
Recursive Grid βœ… πŸ”² πŸ”²
Grid βœ… πŸ”² πŸ”²
Hints βœ… πŸ”² πŸ”²
Vim-Style Scrolling βœ… πŸ”² πŸ”²
Direct Mouse Actions βœ… πŸ”² πŸ”²
Global Hotkeys βœ… πŸ”² πŸ”²
Accessibility Integration βœ… πŸ”² πŸ”²
Native Overlays βœ… πŸ”² πŸ”²

Roadmap

  • Phase 1 β€” macOS βœ…
    • Stable core architecture
    • High-performance native bridge
    • Full feature set
  • Phase 2 β€” Linux
    • AT-SPI accessibility integration
    • X11/Wayland event capture
    • Native overlays
  • Phase 3 β€” Windows
    • UI Automation (UIA) integration
    • Windows Hooks for event capture
    • Win32/WinUI overlays

Documentation

Guide Contents
Installation Homebrew, Nix, source builds
Configuration Every TOML option
CLI IPC commands and scripting
Troubleshooting Common issues, app-specific fixes
Development Architecture and build instructions
Architecture Porting guide and system design
Cross-Platform Guide Contributor guide for Linux/Windows/platform work
Roadmap Current priorities and milestones

Contributing

The project is small and the codebase is approachable. PRs welcome.

git checkout -b feature/your-idea
just test && just lint
# open a PR

Keep PRs focused on a single change. See Coding Standards and Development Guide.


Sponsoring

Neru is free and built entirely in my spare time. If it's replaced a paid tool in your workflow, consider sponsoring β€” it helps justify the hours.

GitHub Sponsors β†’


Acknowledgments

Built on the shoulders of Homerow, Vimac, Vimium, Mouseless, and Shortcat.


License

MIT β€” see LICENSE.

Made with ❀️ by y3owk1n

⭐ Star this repo if Neru makes your workflow better

About

Keyboard-driven navigation for macOS (possibly cross platform) - Navigate and click without touching your mouse πŸ–±οΈ Open source alternative to homerow, vimac, shortcat and mouseless in macos.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors

Languages