# Vimputer

> A Mac app for Karabiner-Elements: build layers of key bindings, scope them to apps, and write a real karabiner.json.

## Docs

- [Vimputer](https://docs.vimputer.com/docs): A Mac app for building Karabiner-Elements configs as layers, then writing a real karabiner.json.
- [Get started](https://docs.vimputer.com/docs/start): Run Vimputer from source, build a Vim-style navigation layer for Chrome, and see it in the HUD.
- [Glossary](https://docs.vimputer.com/docs/glossary): Karabiner and Vimputer terms used across these docs.

## Authoring

- [Authoring model](https://docs.vimputer.com/docs/authoring/model): Layers, bindings, and variables, and what each becomes in Karabiner.
- [Layers](https://docs.vimputer.com/docs/authoring/layers): Modes you enter with a key, groups that follow an app or condition, and which binding wins.
- [Bindings](https://docs.vimputer.com/docs/authoring/bindings): Triggers, the moments a key can act at, and their timing.
- [Conditions](https://docs.vimputer.com/docs/authoring/conditions): Limit a binding or a layer to an app, a variable's value, a device, and more.
- [Actions](https://docs.vimputer.com/docs/authoring/actions): What a binding can do, as grouped in the action picker.
- [Variables](https://docs.vimputer.com/docs/authoring/variables): Named values that bindings set and conditions read, such as a Vim mode.

## Runtime

- [Generate](https://docs.vimputer.com/docs/runtime/generate): Write your bindings into Karabiner, and how Vimputer hears them fire.
- [HUD](https://docs.vimputer.com/docs/runtime/hud): The panel that lists a layer's keys while you're in it.

## Integrations

- [Plugins](https://docs.vimputer.com/docs/integrations/plugins): Bind keys to Raycast, Tinycast, Rectangle, Paseo, OBS, Shottr, and other apps' commands.
- [Karabiner](https://docs.vimputer.com/docs/integrations/karabiner): Import an existing karabiner.json, and what does and doesn't come across.
- [macOS](https://docs.vimputer.com/docs/integrations/macos): What Vimputer reads from macOS, and the permissions some actions need.
- [Browser and web apps](https://docs.vimputer.com/docs/integrations/browser): Pair the browser extension to bind tab commands and commands web apps publish.
- [Agents](https://docs.vimputer.com/docs/integrations/agents): Let a coding agent build layers and bindings through Vimputer's MCP server.

## Recipes

- [Recipes](https://docs.vimputer.com/docs/recipes): Common Karabiner patterns, each shown in karabiner.ts and in Vimputer.
- [Tap and hold](https://docs.vimputer.com/docs/recipes/tap-hold): Give one key a tap action and a different hold action.
- [Chords](https://docs.vimputer.com/docs/recipes/chords): Trigger an action by pressing two keys at the same time.
- [Leader layer](https://docs.vimputer.com/docs/recipes/leader): A space-bar mode for launching apps, opening links, and running commands.
- [Per-app layers](https://docs.vimputer.com/docs/recipes/per-app): Bindings that only fire while a given app is frontmost.
- [Vim-style modes](https://docs.vimputer.com/docs/recipes/modes): Model insert, normal, and visual modes with a variable, and gate bindings on it.

## Contributing

- [Architecture](https://docs.vimputer.com/docs/contributing/architecture): The apps and packages, and the boundary between Electron main and the renderer.
- [Plugin runtime](https://docs.vimputer.com/docs/contributing/plugin-runtime): How a plugin is written, loaded, and run.
- [Docs site](https://docs.vimputer.com/docs/contributing/docs-site): How this site is built, where its pages live, and how to update screenshots.

## Agent resources

- [llms-full.txt](https://docs.vimputer.com/llms-full.txt): The full Markdown of every page in one file.
- [Page Markdown](https://docs.vimputer.com/index.md): Append `.md` to any page URL to fetch that page as raw Markdown.
- [JSON API](https://docs.vimputer.com/api/docs/pages.json): Page index of the JSON docs API; each entry links the page's JSON and Markdown forms. Described by the OpenAPI document at https://docs.vimputer.com/openapi.json.
- [Agent skills](https://docs.vimputer.com/.well-known/agent-skills/index.json): Agent Skills discovery index of the skills this site publishes.
- [API catalog](https://docs.vimputer.com/.well-known/api-catalog): RFC 9727 linkset of the APIs documented here.
- [AI catalog](https://docs.vimputer.com/.well-known/ai-catalog.json): ARD manifest of the agent-facing resources on this site (MCP server, skills, APIs).
- [agent-readability.json](https://docs.vimputer.com/agent-readability.json): Manifest of every agent-facing artifact on this site.
- [Sitemap](https://docs.vimputer.com/sitemap.xml): Every indexable page URL with its last-modified date.
