import { _ as _export_sfc, c as createElementBlock, o as openBlock, a8 as createStaticVNode } from "./chunks/framework.B9AX-CPi.js"; const __pageData = JSON.parse('{"title":"QMK CLI","description":"","frontmatter":{},"headers":[],"relativePath":"cli.md","filePath":"cli.md"}'); const _sfc_main = { name: "cli.md" }; const _hoisted_1 = /* @__PURE__ */ createStaticVNode('

QMK CLI

Overview

The QMK CLI (command line interface) makes building and working with QMK keyboards easier. We have provided a number of commands to simplify and streamline tasks such as obtaining and compiling the QMK firmware, creating keymaps, and more.

Requirements

QMK requires Python 3.7 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in requirements.txt. These are installed automatically when you install the QMK CLI.

Install Using Homebrew (macOS, some Linux)

If you have installed Homebrew you can tap and install QMK:

brew install qmk/qmk/qmk\nexport QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware`\nqmk setup  # This will clone `qmk/qmk_firmware` and optionally set up your build environment

Install Using pip

If your system is not listed above you can install QMK manually. First ensure that you have Python 3.7 (or later) installed and have installed pip. Then install QMK with this command:

python3 -m pip install qmk\nexport QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware`\nqmk setup  # This will clone `qmk/qmk_firmware` and optionally set up your build environment

Packaging For Other Operating Systems

We are looking for people to create and maintain a qmk package for more operating systems. If you would like to create a package for your OS please follow these guidelines:

', 14); const _hoisted_15 = [ _hoisted_1 ]; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", null, _hoisted_15); } const cli = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); export { __pageData, cli as default };