> For the complete documentation index, see [llms.txt](https://docs.api.qmk.fm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.api.qmk.fm/master.md).

# QMK Compiler

The QMK Compiler provides an asynchronous API that Web and GUI tools can use to compile arbitrary keymaps for any keyboard supported by [QMK](http://qmk.fm/). The stock keymap template supports all QMK keycodes that do not require supporting C code. Keyboard maintainers can supply their own custom templates to enable more functionality.

## App Developers

If you are an app developer interested in using this API in your application you should head over to [Using The API](https://github.com/qmk/qmk_compiler_api/tree/0debc4a22df4515119ac59ba81aed620d9a10fe1/docs/api_docs.html).

## Keyboard Maintainers

If you would like to enhance your keyboard's support in the QMK Compiler API head over to the [Keyboard Support](/keyboard-support.md) section.

## Backend Developers

If you are interested in working on the API itself you should start by setting up a [Development Environment](/dev-environment-setup.md), then check out [Hacking On The API](/hacking-on-the-api.md).
