qmk/qmk_firmware - Open Source PR Review Scorecard

Open-source keyboard firmware for Atmel AVR and Arm USB families

C-Rank Grade: A (Welcoming) - 57/100

External PR Merge Rate: 31%

Response Time: 3h

First Timer Success: 33%

Frequently Asked Questions

Is qmk/qmk_firmware welcoming to first-time open-source contributors?

qmk/qmk_firmware has a recorded first-timer success rate of 33.3%. Repositories ranked A typically provide actionable feedback during code reviews and actively nurture new community contributors.

How fast can I expect code review feedback on my pull request?

Maintainers in qmk/qmk_firmware respond to incoming external pull requests in approximately 3.0 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 57.0 C-Rank™ score (A Tier) represent?

The C-Rank™ system evaluates GitHub projects on a 0–100 scale using real data: PR merge rates, review turnaround time, active maintainer presence, and first-time contributor success. A score of 57.0 places qmk/qmk_firmware in the A tier.

What is the external contributor pull request merge rate for qmk/qmk_firmware?

The external contributor pull request merge rate for qmk/qmk_firmware is 31.2%, based on public PR activity from non-core contributors.

Are there Good First Issues available in qmk/qmk_firmware?

qmk/qmk_firmware currently has 17 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

qmk
qmk/qmk_firmwareA•Welcoming20.6k
GitHub
Back to Explorer
qmk

qmk/qmk_firmware

20,632
InactiveA•Welcoming(57/100)C

Open-source keyboard firmware for Atmel AVR and Arm USB families

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

Strict Architecture Gatekeeper

Warmth Score
7.4/10
Patience Score
8.0/10
Nitpick Rate
35%

Strict review standards in qmk/qmk_firmware. Ensure PR scope matches issue requirements closely before requesting review.

What Contributors Actually Say

Discussions in qmk/qmk_firmware focus heavily on practical implementation feedback, code formatting standards, and issue reproduction details.

Hidden Friction Signals

Unlinked PRs without issue context and changes that fail automated test suites face the highest review friction.

Unwritten Rules

  • •1) Keep PR scope strictly aligned with the linked issue.
  • •2) Ensure local linters pass before opening a review.
  • •3) Maintain full test coverage for modified logic.

Top PR Submission Do's

  • •Update docs or README when behavior changes
  • •Call out API, migration, or compatibility impact clearly
  • •Add or update tests for changed behavior before requesting review

Top PR Friction Pitfalls (Don'ts)

  • •Do not ship user-facing changes without matching docs
  • •Do not hide breaking changes in implementation details
  • •Do not leave requested test coverage unresolved
Response Velocity
2 hours
Standard maintainer review cycle

Average Response Latency

Tracks hours until a maintainer leaves a review, comment, or PR response.

Merge Efficiency
31.2%
Moderate PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
33.3%
Accepts new contributor PRs

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
61 core
Highly collaborative maintainer core
Diagnostic Health HUD
31.2%
Merge Gauge
33.3%
1st-Timer
Community Vibe50/100

Embed C-Rank Badge

Show contributors that your repository actively reviews and merges external pull requests.

GetMerged C-Rank badge for qmk/qmk_firmware
[![GetMerged C-Rank](https://getmerged.abhishekco.de/api/badge/qmk/qmk_firmware)](https://getmerged.abhishekco.de/qmk/qmk_firmware?utm_source=github&utm_medium=badge)

Active Good First Issues (5)

View on GitHub

Describe the Bug I'm designing a new keyboard and added my QMK_HOME as a submodule of the repo I'm using to track the process. This setup causes qmk doctor to report "QMK home does not appear to be a Git repository!" and skip the remainder of the Git checks. Digging into the code, this is just a matter of qmk doctor expecting <qmk_home>/.git to be a directory, but in submodules and worktrees it's a file. I've put together a PR to address this (and a couple of other things I found while in there), which I'll be posting momentarily. Keyboard Used N/A Link to product page (if applicable) N/A Operating System Arch Linux qmk doctor Output Ψ QMK Doctor is checking your environment. Ψ Python version: 3.14.7 Ψ CLI version: 1.2.0 Ψ QMK home: /home/five35/Documents/Projects/Q535/qmk_firmware Ψ Detected Linux (Arch Linux). Ψ Userspace enabled: False ⚠ QMK home does not appear to be a Git repository! (no .git folder) Ψ All dependencies are installed. Ψ Found arm-none-eabi-gcc version 16.

📅 Opened Oct 7, 2026💬 0 comments
Quality: 75/100Contribute

Describe the Bug Hello, I have a Round 2 B104 beam spring with the Leyden Jar controller, and I love it. I ran into one small fault and believe I have found the cause, so I wanted to pass it along. Symptom On my home PC (Windows, keyboard plugged directly into the motherboard), the Num Lock, Caps Lock, and Scroll Lock LEDs went dark after roughly 30 to 60 minutes of normal use. The PC had not gone to sleep and the keys kept working. Pressing the lock keys still changed the state in Windows, but the LEDs stayed dark. Unplugging the keyboard, or pressing a key mapped to QK_REBOOT, brought them back. The solenoid was off. The fault did not appear on my work computer over a full day. Likely cause In keyboards/leyden_jar/io_expander.c, the IO expander is configured only once, in io_expander_init(). After that, io_expander_update_state() writes the output register only when the LED state changes. If the chip ever loses its configuration and its pins revert to inputs, nothing restores it, whi

📅 Opened Oct 3, 2026💬 0 comments
Quality: 50/100Contribute

Describe the Bug On current master, a clean build of gmmk/pro/rev1/ansi with the default keymap only lights the LEDs controlled by the second AW20216S driver (right-hand columns and side strips). All LEDs on the first driver (indices 0–65, most of the board) stay dark and don't respond to RGB Matrix changes. Hardware is fine: the prebuilt VIA/Vial firmware lights every LED correctly. Pin config on master matches the older working Vial config (CS B13/B14, EN C13, SPI A5/A6/A7), so pins aren't the issue. Adding this to the keymap's config.h fixes it completely: #define AW20216S_SPI_DIVISOR 8 This suggests the first driver can't reliably handle the default SPI clock on at least some rev1 boards. Consider setting a higher default divisor for this keyboard. Keyboard Used gmmk/pro/rev1/ansi Link to product page (if applicable) https://www.gloriousgaming.com/products/gmmk-pro-black-slate-75-barebone Operating System macOS qmk doctor Output Ψ QMK Doctor is checking your environment. Ψ Pyt

📅 Opened Sep 30, 2026💬 0 comments
Quality: 50/100Contribute

Describe the Bug Summary For a key that's part of a combo, last_matrix_activity_time (and therefore last_input_activity_elapsed()) gets updated at the moment the key is physically pressed. Naturally, that happens before process_combo() decides whether to actually dispatch it. If the combo doesn't complete and the key is replayed via the buffer after COMBO_TERM, any keymap code that reads last_input_activity_elapsed() inside process_record_user() for that key sees only the few milliseconds since its own (delayed) replay, not the real time since the previous keystroke. Non-combo keys don't have this problem: their process_record_user() call happens synchronously, before keyboard_task() updates the activity timer for that press. Why this matters Any keymap logic gated on "was the previous key pressed within N ms" (adaptive key swaps, achordion-style timing, etc.) silently stops respecting the timeout for any key that also happens to be part of a combo. The check basically always passes. R

📅 Opened Sep 20, 2026💬 3 comments
Quality: 90/100Contribute

Feature Request Type Core functionality Add-on hardware support (eg. audio, RGB, OLED screen, etc.) Alteration (enhancement/optimization) of existing feature(s) New behavior Description Summary I am developing an ArduinoCore for Microchip’s AVR DU family MCU. I wanna adding support for AVR DU family to QMK firmware — would it be possible to include it via some pull requests? Currently, developing prototypes of ProMicro and XIAO form factor boards with the goal of bringing them to market by the end of 2026. And I have already checked that the actual QMK products with customized QMK firmware perform basic operations. Abouts AVR DU AVR DU is next generation 8-bit MCU include USB controller that is many software compatible with the ATmega32U4 and outperforms it in many areas. It operates at up to 24 MHz without a crystal oscillator at both 3.3 V and 5 V, and can maintain a frequency error of ±0.2% through auto-tuning using USB communication. Since it just went on sale in 2024 a

📅 Opened Sep 17, 2026💬 2 comments
Quality: 90/100Contribute
Looking for more C beginner tasks?Explore C GFI

Contributor Community Vibe Feedback

Rate what actually matters after opening a pull request here.

Have you contributed to this repo?

Rate your first-hand PR experience (review speed, maintainer responsiveness, and onboarding ease) to help other contributors.

3 ratings required
Maintainer helpfulness
Review speed
Beginner friendliness

Contributor Compatibility & Review Speed Analysis for qmk/qmk_firmware

When evaluating whether to contribute to qmk/qmk_firmware, response velocity and maintainer engagement are crucial. GetMerged continuously tracks pull request trajectories, first-comment latency, and code review rounds to help developers avoid submitting pull requests to backlogged repositories.

Currently, maintainers of qmk/qmk_firmware acknowledge new external contributions in approximately 2 hours. Out of all submitted pull requests from non-core authors in the last 180-day window, 31.2% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to qmk/qmk_firmware

01

Is qmk/qmk_firmware welcoming to first-time open-source contributors?

qmk/qmk_firmware has a recorded first-timer success rate of 33.3%. Repositories ranked Welcoming typically provide actionable feedback during code reviews and actively nurture new community contributors.

02

How fast can I expect code review feedback on my pull request?

The initial maintainer response time averages ~2 hours. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 57.0 C-Rank™ score represent?

The C-Rank™ index scores repositories on a 0 to 100 scale using an objective formula: external PR merge rates, initial response speed, active maintainer count, and first-time contributor retention. A score of 57.0 places qmk/qmk_firmware in the Welcoming tier.

04

What is the external contributor pull request merge rate for qmk/qmk_firmware?

The external pull request merge rate is 31.2%. GetMerged isolates non-core community contributions so external developers get an accurate benchmark of PR acceptance probability.

05

Are there beginner Good First Issues open in qmk/qmk_firmware?

Yes, qmk/qmk_firmware currently has 17 active issue(s) tagged with beginner-friendly labels. You can inspect these directly from the repository issues tab.

GetMerged C-Rank™ Indexing Standard

All metrics displayed for qmk/qmk_firmware are automatically retrieved via the public GitHub API and recalculated daily. Insider pull requests submitted by repository owners or organization members are excluded from merge rate calculations to preserve objective external contributor statistics.