niri-wm/niriPublic

A scrollable-tiling Wayland compositor.

AI summary: A highly opinionated Wayland compositor featuring a unique scrollable-tiling interface and infinite horizontal workspace organization.

Stars
28.1K
+57 today
Forks
1.2K
Watchers
84
Open issues
191
Open PRs
273
Contributors
~216
Commits
2.9K
Branches
15

RustGPL-3.0Created Aug 10, 2023Last push 2d agoLatest release v26.04+178 stars this week+735 this month

Quick answers

What is niri?
A highly opinionated Wayland compositor featuring a unique scrollable-tiling interface and infinite horizontal workspace organization.
What does niri do?
Niri is a Wayland compositor that introduces a distinct 'scrollable-tiling' paradigm to Linux window management. Instead of constraining application windows to a rigid grid or requiring complex manual tiling layouts, it arranges windows horizontally in a continuous, infinite ribbon that can be smoothly paged left or right. Built entirely from scratch for modern Wayland environments, it focuses heavily on high-refresh-rate animations, dynamic window resizing, and intuitive keyboard navigation. It provides a polished, visually cohesive desktop experience that drastically diverges from traditional dynamic tiling window managers.
Who is niri for?
Linux power users, developers, and desktop customization enthusiasts seeking a modern, animated, and distinctly alternative window management paradigm on Wayland.
How do I get started with niri?
Install niri via your distribution's package manager (e.g., dnf install niri or pacman -S niri).
How popular is niri on GitHub?
niri-wm/niri has 28,119 stars and 1,173 forks on GitHub, and gained 178 stars in the last 7 days.
What license does niri use?
niri-wm/niri is released under the GPL-3.0 license.

Star history

since Jul 28, 2026
010K20KJul 2026Aug 2026Sep 2026Oct 2026
28.1K stars as of Oct 2, 2026. Measured daily since Jul 28, 2026; GitHub no longer exposes earlier star timestamps.

Update history

1 recorded
  • Oct 4, 2026Previously tracked as YaLTeR/niri; its 1 daily snapshot and 1 trending appearance were merged into this profile. Stars: 26,442 on 2026-07-28 under the old name, 28,119 on 2026-10-02 (+1,677).

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-14: 1 commit2025-09-15: 0 commits2025-09-16: 6 commits2025-09-17: 1 commit2025-09-18: 4 commits2025-09-19: 1 commit2025-09-20: 9 commits2025-09-21: 3 commits2025-09-22: 1 commit2025-09-23: 1 commit2025-09-24: 1 commit2025-09-25: 7 commits2025-09-26: 7 commits2025-09-27: 2 commits2025-09-28: 2 commits2025-09-29: 0 commits2025-09-30: 10 commits2025-10-01: 2 commits2025-10-02: 2 commits2025-10-03: 0 commits2025-10-04: 4 commits2025-10-05: 5 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 1 commit2025-10-13: 2 commits2025-10-14: 1 commit2025-10-15: 7 commits2025-10-16: 1 commit2025-10-17: 2 commits2025-10-18: 3 commits2025-10-19: 4 commits2025-10-20: 1 commit2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 1 commit2025-10-25: 1 commit2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 7 commits2025-10-30: 2 commits2025-10-31: 3 commits2025-11-01: 1 commit2025-11-02: 0 commits2025-11-03: 1 commit2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 1 commit2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 2 commits2025-11-11: 3 commits2025-11-12: 0 commits2025-11-13: 1 commit2025-11-14: 2 commits2025-11-15: 1 commit2025-11-16: 5 commits2025-11-17: 5 commits2025-11-18: 5 commits2025-11-19: 5 commits2025-11-20: 7 commits2025-11-21: 4 commits2025-11-22: 7 commits2025-11-23: 2 commits2025-11-24: 6 commits2025-11-25: 2 commits2025-11-26: 1 commit2025-11-27: 1 commit2025-11-28: 1 commit2025-11-29: 3 commits2025-11-30: 1 commit2025-12-01: 0 commits2025-12-02: 1 commit2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 2 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 1 commit2025-12-09: 1 commit2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 1 commit2025-12-13: 4 commits2025-12-14: 1 commit2025-12-15: 0 commits2025-12-16: 1 commit2025-12-17: 0 commits2025-12-18: 7 commits2025-12-19: 0 commits2025-12-20: 8 commits2025-12-21: 1 commit2025-12-22: 2 commits2025-12-23: 4 commits2025-12-24: 0 commits2025-12-25: 8 commits2025-12-26: 2 commits2025-12-27: 0 commits2025-12-28: 2 commits2025-12-29: 1 commit2025-12-30: 0 commits2025-12-31: 1 commit2026-01-01: 1 commit2026-01-02: 0 commits2026-01-03: 1 commit2026-01-04: 5 commits2026-01-05: 2 commits2026-01-06: 1 commit2026-01-07: 4 commits2026-01-08: 2 commits2026-01-09: 3 commits2026-01-10: 3 commits2026-01-11: 3 commits2026-01-12: 10 commits2026-01-13: 3 commits2026-01-14: 3 commits2026-01-15: 3 commits2026-01-16: 0 commits2026-01-17: 3 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 1 commit2026-01-21: 0 commits2026-01-22: 2 commits2026-01-23: 1 commit2026-01-24: 0 commits2026-01-25: 3 commits2026-01-26: 1 commit2026-01-27: 3 commits2026-01-28: 2 commits2026-01-29: 0 commits2026-01-30: 1 commit2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 2 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 3 commits2026-02-06: 3 commits2026-02-07: 1 commit2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 4 commits2026-02-11: 1 commit2026-02-12: 0 commits2026-02-13: 2 commits2026-02-14: 0 commits2026-02-15: 1 commit2026-02-16: 0 commits2026-02-17: 1 commit2026-02-18: 2 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 1 commit2026-02-22: 0 commits2026-02-23: 1 commit2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 1 commit2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 7 commits2026-03-08: 0 commits2026-03-09: 2 commits2026-03-10: 2 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 5 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 1 commit2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 1 commit2026-04-06: 0 commits2026-04-07: 1 commit2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 3 commits2026-04-13: 0 commits2026-04-14: 6 commits2026-04-15: 2 commits2026-04-16: 10 commits2026-04-17: 1 commit2026-04-18: 4 commits2026-04-19: 10 commits2026-04-20: 2 commits2026-04-21: 4 commits2026-04-22: 3 commits2026-04-23: 0 commits2026-04-24: 3 commits2026-04-25: 9 commits2026-04-26: 3 commits2026-04-27: 4 commits2026-04-28: 0 commits2026-04-29: 1 commit2026-04-30: 3 commits2026-05-01: 0 commits2026-05-02: 5 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 1 commit2026-05-06: 0 commits2026-05-07: 1 commit2026-05-08: 1 commit2026-05-09: 0 commits2026-05-10: 1 commit2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 1 commit2026-05-16: 1 commit2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 1 commit2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 1 commit2026-05-29: 2 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 1 commit2026-06-05: 2 commits2026-06-06: 0 commits2026-06-07: 1 commit2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 1 commit2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 1 commit2026-06-16: 1 commit2026-06-17: 2 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 1 commit2026-07-06: 0 commits2026-07-07: 1 commit2026-07-08: 1 commit2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 1 commit2026-07-18: 0 commits2026-07-19: 5 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 4 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 2 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 3 commits2026-08-04: 6 commits2026-08-05: 0 commits2026-08-06: 1 commit2026-08-07: 1 commit2026-08-08: 7 commits2026-08-09: 2 commits2026-08-10: 1 commit2026-08-11: 5 commits2026-08-12: 2 commits2026-08-13: 1 commit2026-08-14: 2 commits2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 1 commit2026-08-19: 1 commit2026-08-20: 0 commits2026-08-21: 1 commit2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 0 commits2026-08-25: 0 commits2026-08-26: 0 commits2026-08-27: 0 commits2026-08-28: 0 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 0 commits2026-09-01: 0 commits2026-09-02: 0 commits2026-09-03: 0 commits2026-09-04: 0 commits2026-09-05: 0 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 2 commits2026-09-09: 0 commits2026-09-10: 0 commits2026-09-11: 6 commits2026-09-12: 0 commits
472 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    28,119 stars

  • Community-driven

    ~216 contributors

What niri does

Niri is a Wayland compositor that introduces a distinct 'scrollable-tiling' paradigm to Linux window management. Instead of constraining application windows to a rigid grid or requiring complex manual tiling layouts, it arranges windows horizontally in a continuous, infinite ribbon that can be smoothly paged left or right. Built entirely from scratch for modern Wayland environments, it focuses heavily on high-refresh-rate animations, dynamic window resizing, and intuitive keyboard navigation. It provides a polished, visually cohesive desktop experience that drastically diverges from traditional dynamic tiling window managers.

Linux power users, developers, and desktop customization enthusiasts seeking a modern, animated, and distinctly alternative window management paradigm on Wayland.

  • Scrollable tiling paradigm: Arranges application windows horizontally in an infinite, easily scrollable ribbon rather than forcing them into a fixed grid.
  • Wayland native architecture: Built specifically from the ground up as a Wayland compositor, fully leveraging modern display server protocols and efficiencies.
  • Smooth UI animations: Features deeply integrated, high-refresh-rate animations for window creation, movement, workspace switching, and scrolling.
  • Dynamic layout adjustments: Automatically and fluidly adjusts window sizes and ribbon positions as new applications are opened or closed.
  • Extensive configuration options: Offers highly detailed configuration for keybindings, specific application layout rules, and visual aesthetics via a dedicated config file.

Where teams use it

Desktop environment replacement

Linux power users replace heavy, traditional desktop environments like GNOME with a streamlined, keyboard-driven tiling interface.

Workflow optimization

Developers organize multiple active terminal and editor windows into a logical, easily navigable horizontal workspace to boost productivity.

Ultrawide monitor management

Users leverage the infinite horizontal ribbon paradigm to efficiently manage and naturally scroll through application windows on large ultrawide displays.

Wayland migration

Enthusiasts transition from legacy X11 tiling managers (like i3 or bspwm) to a highly polished, natively built modern Wayland compositor.

Getting started: Install niri via your distribution's package manager (e.g., dnf install niri or pacman -S niri).

README

main branch

niri

A scrollable-tiling Wayland compositor.

Matrix GitHub License GitHub Release

Getting Started | Configuration | Setup Showcase

niri with a few windows open

About

Windows are arranged in columns on an infinite strip going to the right. Opening a new window never causes existing windows to resize.

Every monitor has its own separate window strip. Windows can never "overflow" onto an adjacent monitor.

Workspaces are dynamic and arranged vertically. Every monitor has an independent set of workspaces, and there's always one empty workspace present all the way down.

The workspace arrangement is preserved across disconnecting and connecting monitors where it makes sense. When a monitor disconnects, its workspaces will move to another monitor, but upon reconnection they will move back to the original monitor.

Features

Video Demo

demo.mp4

Also check out these videos that showcase a lot of the niri functionality:

Status

Niri is stable for day-to-day use and does most things expected of a Wayland compositor. Many people are daily-driving niri, and are happy to help in our Matrix channel.

Give it a try! Follow the instructions on the Getting Started page. Grab a desktop shell like DankMaterialShell or Noctalia (or build a more traditional setup): niri by itself is not a complete desktop environment. Also check out awesome-niri, a list of niri-related links and projects.

Here are some points you may have questions about:

  • Multi-monitor: yes, a core part of the design from the very start. Mixed DPI works.
  • Fractional scaling: yes, plus all niri UI stays pixel-perfect.
  • NVIDIA: seems to work fine.
  • Floating windows: yes, starting from niri 25.01.
  • Input devices: niri supports tablets, touchpads, and touchscreens. You can map the tablet to a specific monitor, or use OpenTabletDriver. We have touchpad gestures, but no touchscreen gestures yet.
  • Wlr protocols: yes, we have most of the important ones like layer-shell, gamma-control, screencopy. You can check on wayland.app at the bottom of each protocol's page.
  • Performance: while I run niri on beefy machines, I try to stay conscious of performance. I've seen someone use it fine on an Eee PC 900 from 2008, of all things.
  • Xwayland: integrated via xwayland-satellite starting from niri 25.08.

Media

niri: Making a Wayland compositor in Rust · December 2024

My talk from the 2024 Moscow RustCon about niri, and how I do randomized property testing and profiling, and measure input latency. The talk is in Russian, but I prepared full English subtitles that you can find in YouTube's subtitle language selector.

An interview with Ivan, the developer behind Niri · June 2025

An interview by a German tech podcast Das Triumvirat (in English). We talk about niri development and history, and my experience building and maintaining niri.

A tour of the niri scrolling-tiling Wayland compositor · July 2025

An LWN article with a nice overview and introduction to niri.

Contributing

If you'd like to help with niri, there are plenty of both coding- and non-coding-related ways to do so. See CONTRIBUTING.md for an overview.

Inspiration

Niri is heavily inspired by PaperWM which implements scrollable tiling on top of GNOME Shell.

One of the reasons that prompted me to try writing my own compositor is being able to properly separate the monitors. Being a GNOME Shell extension, PaperWM has to work against Shell's global window coordinate space to prevent windows from overflowing.

Tile Scrollably Elsewhere

Here are some other projects which implement a similar workflow:

Contact

Our main communication channel is a Matrix chat, feel free to join and ask a question: https://matrix.to/#/#niri:matrix.org

We also have a community Discord server: https://discord.gg/vT8Sfjy7sx

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

23 total
  1. v26.04v26.04Apr 25, 20265.9K downloads

    Niri is a scrollable-tiling Wayland compositor. Windows are arranged in columns on an infinite strip going to the right. Opening a new window never causes existing windows to resize. As you may have noticed, niri now lives in a [GitHub org](https://github.com/niri-wm) rather than my (@YaLTeR) personal account. The primary reason was the ability to give out issue triage permissions: I'd like to give a **massive thanks** to @Sempyos for triaging *all* of our issues and pull requests, answering many, many questions, and helping people diagnose their problems with niri. We've also moved a few niri-adjacent projects to the GitHub org, like the [awesome-niri](https://github.com/niri-wm/awesome-niri) list of related projects maintained by @Vortriz and a new [artwork](https://github.com/niri-wm/artwork) repo by @bluelinden and @HumpityDumpityDumber—two of the creators of our project logo. In the artwork repo, you can find a badge and several [wallpapers](https://github.com/niri-wm/artwork/tree/main/wallpapers), including two stunning 3D works created by @Duncan-Rose in Blender: | pool | cut | | --- | --- | | ![](https://github.com/niri-wm/artwork/blob/main/wallpapers/Niri%20p

  2. v25.11v25.11Nov 29, 20254K downloads

    Two weeks ago, Cloudflare had a major outage that took down a good half of the internet. Their [postmortem](https://blog.cloudflare.com/18-november-2025-outage/) included a snippet of Rust code with an `unwrap()`, causing much internet discourse. Now it is my turn to release Rust software with a healthy dose of `unwrap()`s, `assert!`s, and checked arithmetic enabled in release builds. Niri is a scrollable-tiling Wayland compositor. Windows are arranged in columns on an infinite strip going to the right. Opening a new window never causes existing windows to resize. Here are the improvements from the last release. > [!NOTE] > Packagers: niri now supports libdisplay-info 0.3. Most niri packages updated this dependency back in September using a patch—this patch is no longer necessary. ## Alt-Tab After multiple major iterations and a lot of work by @rustn00b, we have an Alt-Tab recent windows switcher! https://github.com/user-attachments/assets/4996d0be-638f-403b-b111-89a343d50c00 It's got live window previews, window titles that fade if they're too long, and supports [windows blocked out from screencasts](https://yalter.github.io/niri/Screencasting.html#block-out-

  3. v25.08v25.08Aug 30, 20252.1K downloads

    Niri is a scrollable-tiling Wayland compositor. Windows are arranged in columns on an infinite strip going to the right. Opening a new window never causes existing windows to resize. A month ago, on July 31st, we hit 10,000 stars on GitHub! Thanks everyone for your support. 😄 Also, on August 10, niri turned two years old since the [initial commit](https://github.com/YaLTeR/niri/commit/ad3c3f8cefd38d2bf26b466d8e34eccde3bca443). With introductions out of the way, here are the improvements from the last release. > [!NOTE] > Packagers: > > - Niri still requires libdisplay-info 0.2 (not 0.3). When libdisplay-info-rs [updates its requirement](https://github.com/Smithay/libdisplay-info-rs/issues/15), you will likely be able to bump it in niri with no other changes. > - Some tests now require surfaceless EGL to be available at test time. If this is problematic, you can ignore them with `cargo test -- --skip=::egl`. > - The wiki contents have moved from `wiki/` to `docs/wiki/`. > - We have a new [Integrating niri](https://yalter.github.io/niri/Integrating-niri.html) wiki page with information on integrating niri into distributions, which you may find helpful. ## A logo

  4. v25.05.1v25.05.1May 25, 20251.4K downloads

    This is a hotfix release for [niri v25.05](https://github.com/YaLTeR/niri/releases/tag/v25.05). * Fixed handling of layer surfaces unmapped through a null buffer commit: they will now receive an initial configure as necessary (thanks @alex-huff). This makes the [kitty quick access terminal](https://sw.kovidgoyal.net/kitty/kittens/quick-access-terminal/) work. * Fixed unmapped layer surfaces preventing popups from appearing (thanks @alex-huff). * Fixed brief hover events when the cursor is [hidden](https://github.com/YaLTeR/niri/wiki/Configuration:-Miscellaneous#hide-when-typing) (thanks @Duncaen). Also fixed brief cursor hovers when a hidden cursor warps (i.e. with `warp-mouse-to-focus` or with `focus-monitor-right` etc.). * Renamed `un/set/toggle-urgent` to `un/set/toggle-window-urgent`, their intended name. This was my oversight. This change is not config-breaking because these actions aren't bindable, but it does mean you need to change the name when calling `niri msg action`. I went ahead with this break because I don't believe these actions are used anywhere yet (and others confirmed that). * Fixed screen not always redrawing on `niri msg set-window-urgent` and other ur

  5. v25.05v25.05May 17, 2025231 downloads

    Niri is a scrollable-tiling Wayland compositor. Windows are arranged in columns on an infinite strip going to the right. Opening a new window never causes existing windows to resize. Here are the improvements from the last release. > [!NOTE] > Packagers: the niri default config now spawns [waybar](https://github.com/Alexays/Waybar) at startup so as not to start with a blank desktop. Please consider adding Waybar as a recommended dependency (or changing it to some other bar). ## The Overview The big new thing in niri v25.05 is the Overview. It zooms out your workspaces and windows to let you see what's going on at a glance, navigate, and drag windows around, all without having to touch the keyboard. https://github.com/user-attachments/assets/379a5d1f-acdb-4c11-b36c-e85fd91f0995 You can open it with the `toggle-overview` bind, via the new top-left hot corner, or using a touchpad four-finger swipe. While in the overview, all keyboard shortcuts keep working, while pointing devices get easier: - Mouse: left click and drag windows to move them, right click and drag to scroll workspaces left/right, scroll to switch workspaces (no holding Mod required). - Touchpad: t

Code frequency

additions and deletions
+4.9K-4.9KWeek of 2025-09-14: +2,059 linesWeek of 2025-09-14: -1,073 linesWeek of 2025-09-21: +3,780 linesWeek of 2025-09-21: -3,196 linesWeek of 2025-09-28: +1,533 linesWeek of 2025-09-28: -543 linesWeek of 2025-10-05: +77 linesWeek of 2025-10-05: -42 linesWeek of 2025-10-12: +435 linesWeek of 2025-10-12: -46 linesWeek of 2025-10-19: +312 linesWeek of 2025-10-19: -69 linesWeek of 2025-10-26: +4,944 linesWeek of 2025-10-26: -481 linesWeek of 2025-11-02: +14 linesWeek of 2025-11-02: -14 linesWeek of 2025-11-09: +64 linesWeek of 2025-11-09: -47 linesWeek of 2025-11-16: +1,178 linesWeek of 2025-11-16: -272 linesWeek of 2025-11-23: +296 linesWeek of 2025-11-23: -245 linesWeek of 2025-11-30: +31 linesWeek of 2025-11-30: -1 linesWeek of 2025-12-07: +33 linesWeek of 2025-12-07: -7 linesWeek of 2025-12-14: +904 linesWeek of 2025-12-14: -1,099 linesWeek of 2025-12-21: +869 linesWeek of 2025-12-21: -860 linesWeek of 2025-12-28: +379 linesWeek of 2025-12-28: -67 linesWeek of 2026-01-04: +1,926 linesWeek of 2026-01-04: -1,314 linesWeek of 2026-01-11: +3,758 linesWeek of 2026-01-11: -2,816 linesWeek of 2026-01-18: +31 linesWeek of 2026-01-18: -11 linesWeek of 2026-01-25: +364 linesWeek of 2026-01-25: -378 linesWeek of 2026-02-01: +316 linesWeek of 2026-02-01: -158 linesWeek of 2026-02-08: +123 linesWeek of 2026-02-08: -101 linesWeek of 2026-02-15: +135 linesWeek of 2026-02-15: -17 linesWeek of 2026-02-22: +5 linesWeek of 2026-02-22: -1 linesWeek of 2026-03-01: +712 linesWeek of 2026-03-01: -537 linesWeek of 2026-03-08: +791 linesWeek of 2026-03-08: -208 linesWeek of 2026-03-15: +0 linesWeek of 2026-03-15: -0 linesWeek of 2026-03-22: +7 linesWeek of 2026-03-22: -0 linesWeek of 2026-03-29: +0 linesWeek of 2026-03-29: -0 linesWeek of 2026-04-05: +16 linesWeek of 2026-04-05: -14 linesWeek of 2026-04-12: +3,942 linesWeek of 2026-04-12: -653 linesWeek of 2026-04-19: +381 linesWeek of 2026-04-19: -155 linesWeek of 2026-04-26: +401 linesWeek of 2026-04-26: -239 linesWeek of 2026-05-03: +3 linesWeek of 2026-05-03: -3 linesWeek of 2026-05-10: +4 linesWeek of 2026-05-10: -6 linesWeek of 2026-05-17: +1 linesWeek of 2026-05-17: -0 linesWeek of 2026-05-24: +12 linesWeek of 2026-05-24: -30 linesWeek of 2026-05-31: +79 linesWeek of 2026-05-31: -2 linesWeek of 2026-06-07: +6 linesWeek of 2026-06-07: -4 linesWeek of 2026-06-14: +59 linesWeek of 2026-06-14: -98 linesWeek of 2026-06-21: +0 linesWeek of 2026-06-21: -0 linesWeek of 2026-06-28: +0 linesWeek of 2026-06-28: -0 linesWeek of 2026-07-05: +24 linesWeek of 2026-07-05: -41 linesWeek of 2026-07-12: +294 linesWeek of 2026-07-12: -36 linesWeek of 2026-07-19: +815 linesWeek of 2026-07-19: -1,145 linesWeek of 2026-07-26: +5 linesWeek of 2026-07-26: -5 linesWeek of 2026-08-02: +1,747 linesWeek of 2026-08-02: -1,002 linesWeek of 2026-08-09: +254 linesWeek of 2026-08-09: -71 linesWeek of 2026-08-16: +104 linesWeek of 2026-08-16: -44 linesWeek of 2026-08-23: +0 linesWeek of 2026-08-23: -0 linesWeek of 2026-08-30: +0 linesWeek of 2026-08-30: -0 linesWeek of 2026-09-06: +773 linesWeek of 2026-09-06: -363 linesSep 14, 2025Sep 6, 2026
+34K lines added, -17.5K removed over the last year.

Commits per week

last 52 weeks
380Week of 2025-09-14: 22 commitsWeek of 2025-09-21: 22 commitsWeek of 2025-09-28: 20 commitsWeek of 2025-10-05: 5 commitsWeek of 2025-10-12: 17 commitsWeek of 2025-10-19: 7 commitsWeek of 2025-10-26: 13 commitsWeek of 2025-11-02: 2 commitsWeek of 2025-11-09: 9 commitsWeek of 2025-11-16: 38 commitsWeek of 2025-11-23: 16 commitsWeek of 2025-11-30: 4 commitsWeek of 2025-12-07: 7 commitsWeek of 2025-12-14: 17 commitsWeek of 2025-12-21: 17 commitsWeek of 2025-12-28: 6 commitsWeek of 2026-01-04: 20 commitsWeek of 2026-01-11: 25 commitsWeek of 2026-01-18: 4 commitsWeek of 2026-01-25: 10 commitsWeek of 2026-02-01: 9 commitsWeek of 2026-02-08: 7 commitsWeek of 2026-02-15: 5 commitsWeek of 2026-02-22: 2 commitsWeek of 2026-03-01: 7 commitsWeek of 2026-03-08: 9 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 1 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 2 commitsWeek of 2026-04-12: 26 commitsWeek of 2026-04-19: 31 commitsWeek of 2026-04-26: 16 commitsWeek of 2026-05-03: 3 commitsWeek of 2026-05-10: 3 commitsWeek of 2026-05-17: 1 commitsWeek of 2026-05-24: 3 commitsWeek of 2026-05-31: 3 commitsWeek of 2026-06-07: 2 commitsWeek of 2026-06-14: 4 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 3 commitsWeek of 2026-07-12: 1 commitsWeek of 2026-07-19: 9 commitsWeek of 2026-07-26: 2 commitsWeek of 2026-08-02: 18 commitsWeek of 2026-08-09: 13 commitsWeek of 2026-08-16: 3 commitsWeek of 2026-08-23: 0 commitsWeek of 2026-08-30: 0 commitsWeek of 2026-09-06: 8 commitsSep 14, 2025Sep 6, 2026
472 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 4 commitsSun 1:00 — 1 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 1 commitsSun 5:00 — 0 commitsSun 6:00 — 2 commitsSun 7:00 — 14 commitsSun 8:00 — 32 commitsSun 9:00 — 68 commitsSun 10:00 — 46 commitsSun 11:00 — 40 commitsSun 12:00 — 22 commitsSun 13:00 — 16 commitsSun 14:00 — 16 commitsSun 15:00 — 14 commitsSun 16:00 — 14 commitsSun 17:00 — 20 commitsSun 18:00 — 12 commitsSun 19:00 — 14 commitsSun 20:00 — 20 commitsSun 21:00 — 8 commitsSun 22:00 — 22 commitsSun 23:00 — 9 commitsMon 0:00 — 2 commitsMon 1:00 — 3 commitsMon 2:00 — 0 commitsMon 3:00 — 1 commitsMon 4:00 — 1 commitsMon 5:00 — 1 commitsMon 6:00 — 3 commitsMon 7:00 — 24 commitsMon 8:00 — 38 commitsMon 9:00 — 46 commitsMon 10:00 — 35 commitsMon 11:00 — 7 commitsMon 12:00 — 14 commitsMon 13:00 — 19 commitsMon 14:00 — 31 commitsMon 15:00 — 25 commitsMon 16:00 — 12 commitsMon 17:00 — 21 commitsMon 18:00 — 25 commitsMon 19:00 — 22 commitsMon 20:00 — 24 commitsMon 21:00 — 22 commitsMon 22:00 — 11 commitsMon 23:00 — 5 commitsTue 0:00 — 0 commitsTue 1:00 — 3 commitsTue 2:00 — 1 commitsTue 3:00 — 2 commitsTue 4:00 — 2 commitsTue 5:00 — 3 commitsTue 6:00 — 3 commitsTue 7:00 — 18 commitsTue 8:00 — 56 commitsTue 9:00 — 55 commitsTue 10:00 — 47 commitsTue 11:00 — 18 commitsTue 12:00 — 23 commitsTue 13:00 — 35 commitsTue 14:00 — 16 commitsTue 15:00 — 18 commitsTue 16:00 — 12 commitsTue 17:00 — 36 commitsTue 18:00 — 22 commitsTue 19:00 — 27 commitsTue 20:00 — 22 commitsTue 21:00 — 30 commitsTue 22:00 — 22 commitsTue 23:00 — 10 commitsWed 0:00 — 3 commitsWed 1:00 — 5 commitsWed 2:00 — 2 commitsWed 3:00 — 3 commitsWed 4:00 — 3 commitsWed 5:00 — 1 commitsWed 6:00 — 0 commitsWed 7:00 — 14 commitsWed 8:00 — 36 commitsWed 9:00 — 45 commitsWed 10:00 — 34 commitsWed 11:00 — 32 commitsWed 12:00 — 12 commitsWed 13:00 — 20 commitsWed 14:00 — 43 commitsWed 15:00 — 9 commitsWed 16:00 — 14 commitsWed 17:00 — 24 commitsWed 18:00 — 10 commitsWed 19:00 — 13 commitsWed 20:00 — 21 commitsWed 21:00 — 23 commitsWed 22:00 — 15 commitsWed 23:00 — 4 commitsThu 0:00 — 6 commitsThu 1:00 — 2 commitsThu 2:00 — 1 commitsThu 3:00 — 3 commitsThu 4:00 — 1 commitsThu 5:00 — 1 commitsThu 6:00 — 0 commitsThu 7:00 — 5 commitsThu 8:00 — 52 commitsThu 9:00 — 45 commitsThu 10:00 — 36 commitsThu 11:00 — 43 commitsThu 12:00 — 11 commitsThu 13:00 — 18 commitsThu 14:00 — 29 commitsThu 15:00 — 12 commitsThu 16:00 — 17 commitsThu 17:00 — 21 commitsThu 18:00 — 23 commitsThu 19:00 — 13 commitsThu 20:00 — 20 commitsThu 21:00 — 16 commitsThu 22:00 — 9 commitsThu 23:00 — 6 commitsFri 0:00 — 1 commitsFri 1:00 — 0 commitsFri 2:00 — 1 commitsFri 3:00 — 0 commitsFri 4:00 — 2 commitsFri 5:00 — 1 commitsFri 6:00 — 4 commitsFri 7:00 — 19 commitsFri 8:00 — 51 commitsFri 9:00 — 57 commitsFri 10:00 — 33 commitsFri 11:00 — 27 commitsFri 12:00 — 24 commitsFri 13:00 — 14 commitsFri 14:00 — 14 commitsFri 15:00 — 43 commitsFri 16:00 — 27 commitsFri 17:00 — 28 commitsFri 18:00 — 12 commitsFri 19:00 — 9 commitsFri 20:00 — 16 commitsFri 21:00 — 16 commitsFri 22:00 — 14 commitsFri 23:00 — 8 commitsSat 0:00 — 1 commitsSat 1:00 — 3 commitsSat 2:00 — 2 commitsSat 3:00 — 2 commitsSat 4:00 — 1 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 12 commitsSat 8:00 — 35 commitsSat 9:00 — 89 commitsSat 10:00 — 64 commitsSat 11:00 — 45 commitsSat 12:00 — 29 commitsSat 13:00 — 23 commitsSat 14:00 — 28 commitsSat 15:00 — 19 commitsSat 16:00 — 12 commitsSat 17:00 — 17 commitsSat 18:00 — 17 commitsSat 19:00 — 13 commitsSat 20:00 — 22 commitsSat 21:00 — 8 commitsSat 22:00 — 11 commitsSat 23:00 — 8 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Feb 3, 2026daily#17+146
  • ultraworkers/claw-code

    An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.

    195.2K stars · Rust

  • farion1231/cc-switch

    A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

    140K stars · Rust

  • openai/codex

    Lightweight coding agent that runs in your terminal

    127.8K stars · Rust

  • denoland/deno

    A modern runtime for JavaScript and TypeScript.

    108.6K stars · Rust

  • ruvnet/RuView

    π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.

    96.4K stars · Rust

  • oven-sh/bun

    Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one

    96.1K stars · Rust