Skip to content

y3owk1n/neru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

871 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Neru Logo

練る · Neru

Navigate your entire screen without touching the mouse.

macOS Support Linux Support Windows Support Go Version Latest Release Discord License


Neru (練る — "to refine through practice") puts your cursor anywhere on the screen using only your keyboard. Click, scroll, drag, and select text — all without leaving the home row.

It is a free, blazing-fast, and open-source alternative to paid/subscription utilities like Homerow, Mouseless, and Wooshy. It is fully configurable, lightweight, and respects your privacy.

Tip

See how the author uses Neru day-to-day → HOW-I-USE-NERU.md and watch the recursive_grid demo:

demo.mp4

🧭 Navigation Modes

Neru offers four distinct modes tailored for every navigation requirement.

Recursive Grid Mode
Recursive Grid · recommended
Grid Mode
Grid
Hints Mode
Hints (Dual-Engine)
AX-Tree & Vision OCR
Mode Core Mechanism Best For
Recursive Grid Divides screen into cells; narrow recursively using home-row keys (u/i/j/k). Everything — works flawlessly in any app, web browser, canvas, or game.
Hints (Dual-Engine) Places labels on clickable elements using either OS Accessibility APIs or Native Vision OCR. Standard macOS apps, Electron apps, and complex design tools (e.g. Figma).
Grid Standard coordinate grid; jump directly by row + column label. Rapid, coarse pointer adjustments across large monitors.
Scroll Vim-style keyboard scrolling (j/k to scroll, u/d for half pages). Reading docs, articles, and code without lifting your hands.

🚀 Features

  • Full Pointer Control — Bind left, right, middle clicks, double clicks, and drag & drop to home-row keys.
  • Sticky Modifiers — Tap Shift or Cmd once to apply them to your next mouse click without holding.
  • Universal Application Support — Works in native AppKit/SwiftUI, Electron (VS Code, Slack, Obsidian), Web Browsers (Safari, Chrome, Firefox), Creative Suites (Figma), and system components (Dock, Menu Bar, Mission Control).
  • CLI & Automation — Rich IPC-based command line interface for custom shell scripting, hammerspoon integration, and keyboard managers (e.g. Raycast, Alfred).
  • TOML Configuration — Easily version-control your entire setup (keybindings, theme, overlays) in a single plain text file.

📥 Installation

macOS (Homebrew — Recommended)

Note

The Homebrew tap is maintained at y3owk1n/homebrew-tap.

brew tap y3owk1n/tap
brew install --cask y3owk1n/tap/neru

macOS / Linux (Nix Flake)

# Inputs: inputs.neru.url = "github:y3owk1n/neru";
# Modules: nix-darwin (macOS) · nixosModules (Linux) · home-manager (both)
# See docs/INSTALLATION.md for comprehensive setup.

Building From Source

git clone https://github.com/y3owk1n/neru.git
cd neru && just release

Post-Installation Setup

  1. macOS Accessibility: Grant access in System Settings → Privacy & Security → Accessibility → enable Neru.
  2. Daemon Management:
open -a Neru              # Launch the app (one off launching)
neru services install     # Auto-start on login (highly recommended) and restart on exit

For display-server requirements on Linux, see the Linux Setup Guide.


⌨️ Default Hotkeys

All hotkeys are remappable to suit your custom keyboard layouts (Colemak, Dvorak, etc.).

Hotkey Action
Cmd+Shift+C Activate Recursive Grid
Cmd+Shift+Space Activate Hints
Cmd+Shift+G Activate Grid
Cmd+Shift+S Activate Scroll
Shift+L (in mode) Execute Left Click
Shift+R (in mode) Execute Right Click

If you come from vimium or homerow or anything similar and expecting fill label with auto click (neru supports it, but need some configuration, see tips and tricks). Out of the box, you'll need to use keybinding for mouse action like Shift+L for left click. Why not auto clicking it? The rationale behind this decision is because of multiple modes that we supports plus supporting on different mouse actions other than only clicking.

Read the Configuration Reference to customize bindings.


⚙️ Configuration

Your configuration lives at ~/.config/neru/config.toml. It's human-readable, dotfile-friendly, and changes are applied instantly without restarting.

neru config init      # Generate a fully-commented starter configuration
neru config validate  # Validate your TOML file structure and types
neru config reload    # Hot-reload configurations into the running daemon

For all settings, see the Configuration Guide and explore user showcases in Config Showcases.


⚖️ How Neru Compares

macOS Ecosystem

Neru is unique in offering both coordinate-based grids and a dual-engine (AX + Vision OCR) hints mode in a single free, open-source tool.

Tool Engine Approach Price Open Source Active / Maintained
Neru 練る Grid + Recursive Grid + AX-Tree Hints + Vision OCR Hints Free ✅ Active
Homerow AX-Tree Hints (with fuzzy search) Paid ✅ Active
Wooshy AX-Tree Search-to-click Paid ✅ Active
Mouseless Grid pointer control Paid ✅ Active
Scoot AX Hints + Grid Free 🔲 Low Activity
Vimac AX Hints Free ❌ Unmaintained
warpd Grid + Hints + Normal Pointer Free 🔲 Low Activity
Shortcat Hints (fuzzy search) Free ❌ discontinued
Glyphlow Hints + vim text editing Free ✅ Active

Browser Extensions

If you use keyboard navigators on the web, Neru brings that exact comfort to your entire operating system:

  • Vimium — Standard hints-based web navigation.
  • Vimium C — Extended fast Vimium branch.
  • Tridactyl — Complete Vim environment inside Firefox.

💻 Platform Support & Capabilities

macOS is fully featured and stable. Support for Linux (X11 & Wayland) is actively developing.

Capability macOS Linux Windows
Recursive Grid 🔲
Grid 🔲
Vim-Style Scroll 🔲
Direct Mouse Injection 🔲
Global Hotkeys 🔲
Accessibility Hints (AX) 🔲 🔲
Vision-Powered Hints (OCR) 🔲 🔲
Native High-Perf Overlays 🔲

Detailed backend documentation and roadmap plans live in docs/ROADMAP.md and docs/CROSS_PLATFORM.md.


🎮 Community Projects

A browser-based training game built by the community to help you build muscle memory with Neru's recursive grid and hints modes. Practice target acquisition, sharpen your reaction time, and refine your mouseless precision in a fun, low-stakes environment.

👉 Play Neru Dojo — no install needed, works in any browser.


🤝 Contributing

Neru has a modular, clean hexagonal architecture (Ports & Adapters) written in Go and Objective-C, making it exceptionally easy to add features or platform adapters.

git checkout -b feature/amazing-feature
just test && just lint
# Open a pull request!

Refer to Development Guide and Coding Standards for more details.


💖 Sponsoring

Neru is built and maintained entirely in spare time. If Neru has streamlined your day-to-day workflow, improved your ergonomics, or saved you money, please consider sponsoring:

👉 GitHub Sponsors


🎓 Acknowledgments

We stand on the shoulders of giants. Our deepest gratitude goes to the creators of Homerow, Vimac, Vimium, Mouseless, and Shortcat.


📄 License

Distributed under the MIT License. See LICENSE for more details.

Made with ❤️ by y3owk1n

⭐ Star this repository if Neru makes your workflow better!

About

Keyboard-driven navigation for macOS and partial linux (possible for windows) - Navigate and click without touching your mouse.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors