https://github.com/qmk/qmk_configurator
The QMK Configurator
https://github.com/qmk/qmk_configurator
firmware-files qmk-configurator
Last synced: 6 months ago
JSON representation
The QMK Configurator
- Host: GitHub
- URL: https://github.com/qmk/qmk_configurator
- Owner: qmk
- Created: 2017-10-20T02:18:40.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-04-24T18:06:23.000Z (7 months ago)
- Last Synced: 2025-06-05T09:28:04.412Z (6 months ago)
- Topics: firmware-files, qmk-configurator
- Language: JavaScript
- Homepage: http://config.qmk.fm
- Size: 27 MB
- Stars: 752
- Watchers: 26
- Forks: 358
- Open Issues: 97
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
- awesome-starred - qmk/qmk_configurator - The QMK Configurator (JavaScript)
- awesome-vue - QMK Configurator - QMK Firmware Keyboard Configuration UI in Vue.js. (Projects Using Vue.js / Open Source)
- awesome-vue - QMK Configurator - The QMK Configurator ` 📝 a day ago ` (Open Source [🔝](#readme))
- fucking-awesome-vue - QMK Configurator - QMK Firmware Keyboard Configuration UI in Vue.js. (Projects Using Vue.js / Open Source)
- awesome-vue - QMK Configurator - QMK Firmware Keyboard Configuration UI in Vue.js. (Awesome Vue.js [](https://github.com/sindresorhus/awesome) / Open Source)
- awesome-vue - QMK Configurator - QMK Firmware Keyboard Configuration UI in Vue.js. (Projects Using Vue.js / Open Source)
README
# Quantum Mechanical Keyboard Configurator
[](https://github.com/qmk/qmk_configurator/actions)
[](https://snyk.io/test/github/qmk/qmk_configurator)
[](https://discord.gg/qmk)
[](https://github.com/qmk/qmk_configurator/pulse/monthly)
[](https://github.com/qmk/qmk_configurator/)
The QMK Configurator is an online tool used for easily creating firmware files
for keyboards supported in [qmk_firmware](https://github.com/qmk/qmk_firmware).
The tool is located on .
The QMK Configurator allows simple keymap creation and saving via .json keymap
files, and generates appropriate firmware files for flashing onto selected
keyboards.
This project is very much a work in progress. To begin contributing, please
refer to the following:
- [Issues](https://github.com/qmk/qmk_configurator/issues)
## Development
We recommend you install and use [NVM](https://github.com/creationix/nvm) to
manage node versions. There is a .nvmrc file in the root of the project
directory that has been tested with our dependencies.
### Select node version
```shell
nvm use
```
### Project setup
```shell
yarn install
```
### Compiles and hot-reloads for development
```shell
yarn run dev
```
### Compiles and minifies for production
```shell
yarn run build
```
### Run your tests
```shell
yarn run test
```
### Lints and fixes files
```shell
yarn run lint
```
### Run your end-to-end tests
Start the server separately
```shell
yarn run test:cypress
```
### Run your end-to-end tests like CI
Start the server separately
```shell
yarn run test:cypress:ci
```
### Run your unit tests
```shell
yarn run test:unit
```
### Customize configuration
See [Configuration Reference](https://vitejs.dev/config/).
## Docker
If you don't have a webserver already and don't already have one in mind you
can use docker. By default it spins up a self-contained environment.
```shell
docker run -p 8080:80 qmkfm/qmk_configurator:latest
```
You can specify a different backend URL by setting `VUE_APP_API_URL`:
```shell
docker run -e VITE_API_URL=http://localhost:8080 -p 8080:80 qmkfm/qmk_configurator:latest
```
If you'd like to develop locally you can use a volume to tie your local
filesystem to the container:
```shell
docker run --mount type=volume,source=.,target=/qmk_configurator -p 8080:80 qmkfm/qmk_configurator:latest
```
### Building The Docker Image
Most of the time you don't need to do this, you can use volume mounts as
described above to use the pre-built image with your local tree.
If for some reason you do need to build it yourself, you can use this command:
```shell
docker build -t qmk_configurator .
```
This process will take a while. You may want to go make some tea or something.
When it finishes you can run it with this command:
```shell
docker run -p 8080:80 qmk_configurator
```
## Internationalization Guide
Please refer to [this document](internationalization_guide.md)