# 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 skills - [vimputer](https://docs.vimputer.com/.well-known/agent-skills/vimputer/SKILL.md): Read the Vimputer docs instead of answering from memory. A Mac app for Karabiner-Elements: build layers of key bindings, scope them to apps, and write a real karabiner.json. Use when a task involves Vimputer: how it works, how to set it up or configure it, or its API. ## 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.