Metadata-Version: 2.4
Name: navig-ahk
Version: 0.1.0
Summary: AutoHotkey v2 automation for navig — click, type, open, windows and AI-written scripts, as its own plugin.
Author-email: NAVIG Development Team <opensource@navig.run>
License-Expression: Apache-2.0
Keywords: navig,autohotkey,ahk,automation,windows,plugin
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Desktop Environment
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: navig>=3.25.0
Requires-Dist: typer>=0.14.0
Requires-Dist: rich>=13.7.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: ruff>=0.6.0; extra == "dev"

# navig-ahk

<!-- navig:plugin-card:start -->
<!-- Generated by scripts/gen_plugin_catalog.py — edit the plugin's pyproject.toml, not this block. -->

> AutoHotkey v2 automation for navig — click, type, open, windows and AI-written scripts, as its own plugin.

**A navig extension** — installing it pulls in navig and adds the commands below · v0.1.0 · not on PyPI yet (install from source below)

**Install**

```bash
pip install "git+https://github.com/navig-run/plugins#subdirectory=navig-ahk"
```

It is not a separate program: it needs navig, and installing it installs navig for you.

<details><summary>Commands</summary>

| Command | What it does |
|---|---|
| `navig ahk activate` | Activate (focus) window. |
| `navig ahk active-window` | Get currently active window. |
| `navig ahk automate` | AI-powered automation - generate and execute script for goal. |
| `navig ahk click` | Click at screen coordinates. |
| `navig ahk clipboard` | Get or set clipboard content. |
| `navig ahk close` | Close window by selector. |
| `navig ahk dashboard` | Live window manager dashboard. |
| `navig ahk doctor` | Diagnose AutoHotkey integration issues. |
| `navig ahk evolve` | Auto-generate, test, and evolve AHK scripts until they work. |
| `navig ahk exec` | Execute inline AHK code. |
| `navig ahk find` | Find windows matching criteria. |
| `navig ahk generate` | Generate AHK script from natural language using AI. |
| `navig ahk install` | Detect or install AutoHotkey v2. |
| `navig ahk is-muted` | Check if system audio is muted. |
| `navig ahk kill` | Kill a process by name or PID. |
| `navig ahk layout list` | List saved layouts. |
| `navig ahk layout restore` | Restore a saved window layout. |
| `navig ahk layout save` | Save current window positions and sizes. |
| `navig ahk library list` | List saved automation scripts. |
| `navig ahk library show` | Show content of a saved script. |
| `navig ahk listen` | Register a global hotkey to run a command. |
| `navig ahk listener-edit` | Open listener script in default editor. |
| `navig ahk listener-start` | Start or restart the persistent listener script. |
| `navig ahk maximize` | Maximize window. |
| `navig ahk minimize` | Minimize window. |
| `navig ahk monitors` | List all connected monitors. |
| `navig ahk mouse-move` | Move mouse cursor. |
| `navig ahk move` | Move and optionally resize window. |
| `navig ahk move-to-monitor` | Move window to specific monitor. |
| `navig ahk mute` | Mute or unmute system audio. |
| `navig ahk notify` | Show Windows notification. |
| `navig ahk ocr` | Extract text from screen or image (requires pytesseract). |
| `navig ahk open` | Open application or URL. |
| `navig ahk pin` | Toggle Always-On-Top (Pin) status. |
| `navig ahk processes` | List all running processes. |
| `navig ahk read-text` | Read text from window or control. |
| `navig ahk resize` | Resize window. |
| `navig ahk run` | Execute an AHK script file. |
| `navig ahk screenshot` | Take a screenshot. |
| `navig ahk send` | Send key sequence. |
| `navig ahk snap` | Snap window to screen edge/corner. |
| `navig ahk start` | Start a new process. |
| `navig ahk status` | Show AutoHotkey status and capabilities. |
| `navig ahk transparency` | Set window transparency. |
| `navig ahk type` | Type text using keyboard. |
| `navig ahk volume` | Get or set system volume. |
| `navig ahk window-state` | Get detailed window state. |
| `navig ahk windows` | List all visible windows. |
| `navig ahk workflow list` | List available workflows. |
| `navig ahk workflow run` | Run a cross-platform workflow. |

</details>

<!-- navig:plugin-card:end -->

**AutoHotkey v2 automation for navig, on Windows** — click, type, open, window control and
AI-written scripts, shipped as its own plugin instead of 50 commands inside core.

```powershell
pip install -e plugins/navig-ahk --no-deps
navig ahk --help            # same verbs as before, now owned here
```

## Why a plugin

`core/navig/commands/ahk.py` was 58 KB and 50 commands with exactly one reference from core
(`_try_register_ahk` in `cli/registration.py`), and it is Windows-only. That is a domain with
a lifecycle, not a platform primitive — so it belongs in a plugin.

What stays in core: **the adapter** (`navig.adapters.automation.ahk`, plus `ahk_ai`), because
the agent's hands and the run-detached path use it directly. This package is the CLI over it.

## How it mounts

Core keeps `ahk` in its command map and still registers it only on `win32`
(`_try_register_ahk` imports `ahk_app` from `navig.commands.ahk`, which is now a five-line
alias to `navig_ahk.commands.ahk` — the same shape as `navig cdp` and `navig matrix`).
So `navig ahk …` behaves identically, and on a machine without this package the verb says how
to install it instead of disappearing.

## What it does

`install` (detect/install AHK v2) · `status` · `run <script>` · `exec <code>` · `click` ·
`type` · `open` · `windows` · `automate` (AI-written AHK from a prompt) — see
`navig ahk --help`.

## Verify

```powershell
navig ahk --help                                   # 50 commands, Windows only
py -m pytest core/tests/ahk -q                     # adapter tests (unchanged, still core)
```
