{"id":34911157,"url":"https://github.com/y3owk1n/neru","last_synced_at":"2026-05-30T11:01:13.694Z","repository":{"id":321773214,"uuid":"1087058511","full_name":"y3owk1n/neru","owner":"y3owk1n","description":"Keyboard-driven navigation for macOS and partial linux (possible for windows) - Navigate and click without touching your mouse.","archived":false,"fork":false,"pushed_at":"2026-05-18T05:29:32.000Z","size":5536,"stargazers_count":307,"open_issues_count":12,"forks_count":25,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-18T05:47:53.599Z","etag":null,"topics":["accessibility","bindings","homerow","homerow-app","keyboard","keyboard-navigation","linux","mac","macos","macos-app","macosx","mouse","mouseless","system-wide","systemwide","vim","vimium","warpd","wayland","x11"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/y3owk1n.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"y3owk1n"}},"created_at":"2025-10-31T10:09:28.000Z","updated_at":"2026-05-18T03:46:25.000Z","dependencies_parsed_at":"2026-02-27T18:07:04.936Z","dependency_job_id":null,"html_url":"https://github.com/y3owk1n/neru","commit_stats":null,"previous_names":["y3owk1n/govim","y3owk1n/neru"],"tags_count":67,"template":false,"template_full_name":null,"purl":"pkg:github/y3owk1n/neru","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y3owk1n%2Fneru","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y3owk1n%2Fneru/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y3owk1n%2Fneru/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y3owk1n%2Fneru/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/y3owk1n","download_url":"https://codeload.github.com/y3owk1n/neru/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y3owk1n%2Fneru/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33167429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T05:43:36.989Z","status":"ssl_error","status_checked_at":"2026-05-18T05:43:19.133Z","response_time":71,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","bindings","homerow","homerow-app","keyboard","keyboard-navigation","linux","mac","macos","macos-app","macosx","mouse","mouseless","system-wide","systemwide","vim","vimium","warpd","wayland","x11"],"created_at":"2025-12-26T11:18:19.839Z","updated_at":"2026-05-30T11:01:13.681Z","avatar_url":"https://github.com/y3owk1n.png","language":"Go","funding_links":["https://github.com/sponsors/y3owk1n"],"categories":["🛠️ Productivity"],"sub_categories":["☸️ Kubernetes"],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"assets/neru-appicon.png\" alt=\"Neru Logo\" width=\"108\" /\u003e\n\n# 練る · Neru\n\n**Navigate your entire screen without touching the mouse.**\n\n![macOS Support](https://img.shields.io/badge/macOS-Stable-blue?style=flat-square\u0026logo=apple)\n[![Linux Support](https://img.shields.io/badge/Linux-X11_\u0026_Wayland-blue?style=flat-square\u0026logo=linux)](docs/LINUX_SETUP.md)\n![Windows Support](https://img.shields.io/badge/Windows-Foundations-lightgrey?style=flat-square\u0026logo=windows)\n![Go Version](https://img.shields.io/github/go-mod/go-version/y3owk1n/neru?style=flat-square\u0026logo=go)\n[![Latest Release](https://img.shields.io/github/v/release/y3owk1n/neru?style=flat-square)](https://github.com/y3owk1n/neru/releases)\n[![License](https://img.shields.io/github/license/y3owk1n/neru?style=flat-square)](LICENSE)\n\n\u003c/div\u003e\n\n---\n\n**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.\n\nIt is a free, blazing-fast, and open-source alternative to paid/subscription utilities like [Homerow](https://www.homerow.app/), [Mouseless](https://mouseless.click/), and [Wooshy](https://wooshy.app). It is fully configurable, lightweight, and respects your privacy.\n\n\u003e [!TIP]\n\u003e See how the author uses Neru day-to-day → [HOW-I-USE-NERU.md](HOW-I-USE-NERU.md) and watch the `recursive_grid` demo:\n\u003e\n\u003e https://github.com/user-attachments/assets/6b5673e1-7131-4bc0-ad57-41678e9423b9\n\n---\n\n## 🧭 Navigation Modes\n\nNeru offers four distinct modes tailored for every navigation requirement.\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/0d46fa7c-345a-45ee-ad44-7a601c2b7cb1\" alt=\"Recursive Grid Mode\" /\u003e\u003cbr/\u003e\n\u003csub\u003e\u003cb\u003eRecursive Grid\u003c/b\u003e · recommended\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/d452f972-ce23-4798-955b-6dbfa8435504\" alt=\"Grid Mode\" /\u003e\u003cbr/\u003e\n\u003csub\u003e\u003cb\u003eGrid\u003c/b\u003e\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/71b13850-1b87-40b5-9ac0-93cff1f2e89b\" alt=\"Hints Mode\" /\u003e\u003cbr/\u003e\n\u003csub\u003e\u003cb\u003eHints (Dual-Engine)\u003c/b\u003e\u003cbr/\u003eAX-Tree \u0026 Vision OCR\u003c/sub\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n| Mode                    | Core Mechanism                                                                                       | Best For                                                                    |\n| :---------------------- | :--------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------- |\n| **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. |\n| **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).  |\n| **Grid**                | Standard coordinate grid; jump directly by row + column label.                                       | Rapid, coarse pointer adjustments across large monitors.                    |\n| **Scroll**              | Vim-style keyboard scrolling (`j`/`k` to scroll, `u`/`d` for half pages).                            | Reading docs, articles, and code without lifting your hands.                |\n\n---\n\n## 🚀 Features\n\n- **Full Pointer Control** — Bind left, right, middle clicks, double clicks, and drag \u0026 drop to home-row keys.\n- **Sticky Modifiers** — Tap `Shift` or `Cmd` once to apply them to your next mouse click without holding.\n- **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).\n- **CLI \u0026 Automation** — Rich IPC-based command line interface for custom shell scripting, hammerspoon integration, and keyboard managers (e.g. Raycast, Alfred).\n- **TOML Configuration** — Easily version-control your entire setup (keybindings, theme, overlays) in a single plain text file.\n\n---\n\n## 📥 Installation\n\n### macOS (Homebrew — Recommended)\n\n\u003e [!NOTE]\n\u003e The Homebrew tap is maintained at [y3owk1n/homebrew-tap](https://github.com/y3owk1n/homebrew-tap).\n\n```bash\nbrew tap y3owk1n/tap\nbrew install --cask y3owk1n/tap/neru\n```\n\n### macOS / Linux (Nix Flake)\n\n```bash\n# Inputs: inputs.neru.url = \"github:y3owk1n/neru\";\n# Modules: nix-darwin (macOS) · nixosModules (Linux) · home-manager (both)\n# See docs/INSTALLATION.md for comprehensive setup.\n```\n\n### Building From Source\n\n```bash\ngit clone https://github.com/y3owk1n/neru.git\ncd neru \u0026\u0026 just release\n```\n\n### Post-Installation Setup\n\n1. **macOS Accessibility:** Grant access in **System Settings → Privacy \u0026 Security → Accessibility → enable Neru**.\n2. **Daemon Management:**\n\n```bash\nopen -a Neru              # Launch the app (one off launching)\nneru services install     # Auto-start on login (highly recommended) and restart on exit\n```\n\nFor display-server requirements on Linux, see the [Linux Setup Guide](docs/LINUX_SETUP.md).\n\n---\n\n## ⌨️ Default Hotkeys\n\nAll hotkeys are remappable to suit your custom keyboard layouts (Colemak, Dvorak, etc.).\n\n| Hotkey              | Action                         |\n| :------------------ | :----------------------------- |\n| `Cmd+Shift+C`       | Activate **Recursive Grid** ⭐ |\n| `Cmd+Shift+Space`   | Activate **Hints**             |\n| `Cmd+Shift+G`       | Activate **Grid**              |\n| `Cmd+Shift+S`       | Activate **Scroll**            |\n| `Shift+L` (in mode) | Execute Left Click             |\n| `Shift+R` (in mode) | Execute Right Click            |\n\n\u003e Read the [Configuration Reference](docs/CONFIGURATION.md#hotkeys) to customize bindings.\n\n---\n\n## ⚙️ Configuration\n\nYour configuration lives at `~/.config/neru/config.toml`. It's human-readable, dotfile-friendly, and changes are applied instantly without restarting.\n\n```bash\nneru config init      # Generate a fully-commented starter configuration\nneru config validate  # Validate your TOML file structure and types\nneru config reload    # Hot-reload configurations into the running daemon\n```\n\nFor all settings, see the [Configuration Guide](docs/CONFIGURATION.md) and explore user showcases in [Config Showcases](docs/CONFIG_SHOWCASES.md).\n\n---\n\n## ⚖️ How Neru Compares\n\n### macOS Ecosystem\n\nNeru is unique in offering both coordinate-based grids and a dual-engine (AX + Vision OCR) hints mode in a single free, open-source tool.\n\n| Tool                                            | Engine Approach                                              |  Price   | Open Source | Active / Maintained |\n| :---------------------------------------------- | :----------------------------------------------------------- | :------: | :---------: | :-----------------: |\n| **Neru** 練る                                   | **Grid + Recursive Grid + AX-Tree Hints + Vision OCR Hints** | **Free** |     ✅      |      ✅ Active      |\n| [Homerow](https://www.homerow.app/)             | AX-Tree Hints (with fuzzy search)                            |   Paid   |     ❌      |      ✅ Active      |\n| [Wooshy](https://wooshy.app)                    | AX-Tree Search-to-click                                      |   Paid   |     ❌      |      ✅ Active      |\n| [Mouseless](https://mouseless.click/)           | Grid pointer control                                         |   Paid   |     ❌      |      ✅ Active      |\n| [Scoot](https://github.com/mjrusso/scoot)       | AX Hints + Grid                                              |   Free   |     ✅      |   🔲 Low Activity   |\n| [Vimac](https://github.com/dexterleng/vimac)    | AX Hints                                                     |   Free   |     ✅      |   ❌ Unmaintained   |\n| [warpd](https://github.com/rvaiya/warpd)        | Grid + Hints + Normal Pointer                                |   Free   |     ✅      |   🔲 Low Activity   |\n| [Shortcat](https://shortcat.app/)               | Hints (fuzzy search)                                         |   Free   |     ❌      |   ❌ discontinued   |\n| [Glyphlow](https://github.com/blindFS/Glyphlow) | Hints + vim text editing                                     |   Free   |     ✅      |      ✅ Active      |\n\n### Browser Extensions\n\nIf you use keyboard navigators on the web, Neru brings that exact comfort to your entire operating system:\n\n- [Vimium](https://github.com/philc/vimium) — Standard hints-based web navigation.\n- [Vimium C](https://github.com/gdh1995/vimium-c) — Extended fast Vimium branch.\n- [Tridactyl](https://github.com/tridactyl/tridactyl) — Complete Vim environment inside Firefox.\n\n---\n\n## 💻 Platform Support \u0026 Capabilities\n\nmacOS is fully featured and stable. Support for Linux (X11 \u0026 Wayland) is actively developing.\n\n| Capability                     | macOS | Linux | Windows |\n| :----------------------------- | :---: | :---: | :-----: |\n| **Recursive Grid**             |  ✅   |  ✅   |   🔲    |\n| **Grid**                       |  ✅   |  ✅   |   🔲    |\n| **Vim-Style Scroll**           |  ✅   |  ✅   |   🔲    |\n| **Direct Mouse Injection**     |  ✅   |  ✅   |   🔲    |\n| **Global Hotkeys**             |  ✅   |  ✅   |   🔲    |\n| **Accessibility Hints (AX)**   |  ✅   |  🔲   |   🔲    |\n| **Vision-Powered Hints (OCR)** |  ✅   |  🔲   |   🔲    |\n| **Native High-Perf Overlays**  |  ✅   |  ✅   |   🔲    |\n\n\u003e Detailed backend documentation and roadmap plans live in [docs/ROADMAP.md](docs/ROADMAP.md) and [docs/CROSS_PLATFORM.md](docs/CROSS_PLATFORM.md).\n\n---\n\n## 🤝 Contributing\n\nNeru has a modular, clean hexagonal architecture (Ports \u0026 Adapters) written in Go and Objective-C, making it exceptionally easy to add features or platform adapters.\n\n```bash\ngit checkout -b feature/amazing-feature\njust test \u0026\u0026 just lint\n# Open a pull request!\n```\n\nRefer to [Development Guide](docs/DEVELOPMENT.md) and [Coding Standards](docs/CODING_STANDARDS.md) for more details.\n\n---\n\n## 💖 Sponsoring\n\nNeru 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:\n\n👉 [**GitHub Sponsors**](https://github.com/sponsors/y3owk1n)\n\n---\n\n## 🎓 Acknowledgments\n\nWe stand on the shoulders of giants. Our deepest gratitude goes to the creators of [Homerow](https://www.homerow.app/), [Vimac](https://github.com/dexterleng/vimac), [Vimium](https://github.com/philc/vimium), [Mouseless](https://mouseless.click/), and [Shortcat](https://shortcat.app/).\n\n---\n\n## 📄 License\n\nDistributed under the MIT License. See [LICENSE](LICENSE) for more details.\n\n\u003cdiv align=\"center\"\u003e\n\n**Made with ❤️ by [y3owk1n](https://github.com/y3owk1n)**\n\n⭐ Star this repository if Neru makes your workflow better!\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fy3owk1n%2Fneru","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fy3owk1n%2Fneru","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fy3owk1n%2Fneru/lists"}