summaryrefslogtreecommitdiff
path: root/docs/Adding-features-to-QMK.md
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-05-27 18:09:52 -0400
committerJack Humbert <jack.humb@gmail.com>2017-05-27 18:09:52 -0400
commit704794bae3bf96541b0362ea38b84706d5ee6958 (patch)
tree866be7a6a63cb8e5f6f7c236303a796239ed9eae /docs/Adding-features-to-QMK.md
parentd24da945d1dbfbe81177dd6611b0d5a27ab8344f (diff)
parente229dcadb5c9f8c09f14a439fe5a4c7c48ba2249 (diff)
downloadqmk_firmware-704794bae3bf96541b0362ea38b84706d5ee6958.tar.gz
qmk_firmware-704794bae3bf96541b0362ea38b84706d5ee6958.zip
subtree docs
Diffstat (limited to 'docs/Adding-features-to-QMK.md')
-rw-r--r--docs/Adding-features-to-QMK.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/docs/Adding-features-to-QMK.md b/docs/Adding-features-to-QMK.md
new file mode 100644
index 0000000000..f6f7cba208
--- /dev/null
+++ b/docs/Adding-features-to-QMK.md
@@ -0,0 +1,7 @@
+If you have an idea for a custom feature or extra hardware connection, we'd love to accept it into QMK! These are generally done via [pull request](https://github.com/qmk/qmk_firmware/pulls) after forking, and here are some things to keep in mind when creating one:
+
+* **Disable by default** - memory is a pretty limited on most chips QMK supports, and it's important that current keymaps aren't broken, so please allow your feature to be turned **on**, rather than being turned off. If you think it should be on by default, or reduces the size of the code, [open an issue](https://github.com/qmk/qmk_firmware/issues) for everyone to discuss it!
+* **Compile locally before submitting** - hopefully this one is obvious, but things need to compile! Our Travis system will catch any issues, but it's generally faster for you to compile a few keyboards locally instead of waiting for the results to come back.
+* **Consider subprojects and different chip-bases** - there are several keyboards that have subprojects that have allow for slightly different configurations, and even different chip-bases. Try to make a feature supported in ARM and AVR, or automatically disabled in one that doesn't work.
+* **Explain your feature** - submitting a markdown write-up of what your feature does with your PR may be needed, and it will allow a collaborator to easily copy it into the wiki for documentation (after proofing and editing).
+* **Don't refactor code** - to maintain a clear vision of how things are laid out in QMK, we try to plan out refactors in-depth, and have a collaborator make the changes. If you have an idea for refactoring, or suggestions, [open an issue](https://github.com/qmk/qmk_firmware/issues). \ No newline at end of file