ammaarreshi/Generals-Mac-iOS-iPadPublic

Command & Conquer Generals: Zero Hour running natively on macOS, iPhone & iPad — real engine (EA GPL v3 source, via GeneralsX), DXVK/MoltenVK renderer, RTS touch controls. No game assets included.

AI summary: A native source port of Command & Conquer Generals: Zero Hour for Apple Silicon Macs, iOS, and iPadOS.

Stars
1.5K
+1 today
Forks
135
Watchers
8
Open issues
9
Open PRs
6
Contributors
~62
Commits
2K
Branches
2

C++OtherCreated Jul 4, 2026Last push 1mo ago+12 stars this week+23 this month

Star history

since Jun 28, 2026
05001K1.5KJun 2026Jul 2026Jul 2026Aug 2026
1.5K stars as of Aug 7, 2026, tracked back to Jun 28, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

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

Signals and awards

derived from tracked data
  • Outside contributions

    98% of recent commits from the community

What Generals-Mac-iOS-iPad does

This repository provides a native ARM64 port of the classic 2003 RTS engine for 'Command & Conquer Generals: Zero Hour', bringing it to modern Apple hardware including macOS, iOS, and iPadOS. It translates DirectX 8 calls through DXVK and MoltenVK to Metal, allowing the game to run flawlessly without emulation. Crucially, the iOS/iPadOS port features custom RTS touch controls (drag-box, pinch zoom, long-press) and fundamental engine changes to survive Apple's strict read-only bundles and strict process backgrounding limits. The project was notably engineered via a human-AI collaboration using Claude Code.

This project is for retro gaming enthusiasts who want to play C&C Generals on Apple devices, as well as developers interested in game porting, touch control adaptation, and human-AI collaborative coding.

  • Feature: Runs the original 2003 C&C Generals engine natively on ARM64 Apple Silicon
  • Feature: Translates DirectX 8 graphics to Metal via DXVK and MoltenVK
  • Feature: Full iOS and iPadOS support with native RTS touch controls (tap, drag-box, pinch)
  • Feature: Modifies original engine to handle iOS strict process backgrounding and read-only bundles
  • Feature: Fixes various legacy 2003 engine bugs (black minimap, audio channel ghosting)
  • Feature: Requires original game assets (e.g., via Steam) to play legally

Where teams use it

Retro Gaming on Modern Hardware

RTS fans can play classic Command & Conquer campaigns smoothly on their modern iPads or M-series Macs without needing a Windows emulator.

Touch-First RTS Adaptation

Developers can study the custom SDL3 touch-layer implementation to understand how to map dense 2003 mouse/keyboard controls to modern touchscreens.

Cross-Platform Graphics Translation

Engineers can reference the DXVK + MoltenVK stack integration to port other legacy DirectX 8 titles to iOS and Metal.

Getting started: Clone the repo and run the macOS build scripts, or follow the guide to cross-compile for iOS. You will need your own legally purchased game assets.

README

main branch

Command & Conquer Generals: Zero Hour — macOS, iOS & iPadOS

IMG_3457_500

Zero Hour running natively on Apple Silicon Macs, iPhone, and iPad — campaign, skirmish, and Generals Challenge, with touch controls built for RTS (tap-select, drag-box, long-press deselect, two-finger scroll, pinch zoom). No emulation: this is the real 2003 engine compiled for ARM64, rendering DirectX 8 → DXVK → Vulkan → MoltenVK → Metal.

Built on EA's GPL v3 source release, standing on a chain of community work — TheSuperHackers, Fighter19's original Unix port, and fbraz3/GeneralsX — this fork adds the iOS/iPadOS port and a set of engine fixes. See Lineage & credits for who built what. The original GeneralsX README lives on the upstream-main branch.

No game assets are included or distributed. You need your own copy (Steam, ~$5 on sale).

What this port actually involved

"Porting" undersells how weird this journey was, so here's the honest shape of it. The lineage below built the foundation: EA's source release, the community's modernization, Fighter19's original Unix port, GeneralsX's macOS/Linux work. What did not exist was any of this on iOS — and iOS is a hostile place for a 2003 Windows RTS:

  • The engine assumes a writable filesystem wherever it lives. iOS apps live in a read-only, code-signed bundle. Every config write, cache, and save path had to be rerouted — and the working directory bootstrapped from the bundle itself.
  • The renderer speaks DirectX 8. The iPad speaks Metal. In between: DXVK translating D3D8→Vulkan, MoltenVK translating Vulkan→Metal — and DXVK had never been built for iPhoneOS. That took a Meson cross-build and a patch to its Vulkan loader, because iOS confines dlopen to the app bundle (Patches/dxvk-ios.patch).
  • iOS owns your process. Open the app switcher and the OS seizes the Metal drawable without backgrounding you — draw one more frame and you're dead on resume. The whole render/sim loop learned to hold its breath.
  • An RTS needs a mouse. SDL3 (from the lineage below) delivers raw touch events; the RTS semantics on top are new. Taps defer until the 2003 GUI has processed hover (or menu buttons never highlight), a drag has to decide "selection box or camera pan," long-press became right-click, and a cancelled touch must never ghost-click a rally point.
  • And then the bug hunts — the best part. The minimap that rendered black because a 2003 texture-format fallback silently dropped the alpha channel. The EVA voice that went randomly mute because one zombie audio stream held a global "don't talk over speech" flag while chirping forever. Every one chased to root cause on a real device, fixed, and offered upstream.

→ The war stories: Porting Playbook §8 — the bug archaeology → The complete engineering log: docs/port/PORTING_PLAYBOOK.md → How to do this to another game: docs/port/PORTING_PATTERNS.md

Worth saying plainly: this was a human + AI collaboration. The engineering — the C++, the cross-builds, the device debugging — was done by Claude Code (Anthropic's Claude, Fable model), directed and playtested by a human who described symptoms like "the minimap is black" and "I hear chirping" and owned every decision. Neither half ships this alone: one of us can't write C++, and the other can't hear the chirping.

Quick start — macOS

Prerequisites (one time):

# Toolchain
xcode-select --install
brew install cmake ninja meson pkgconf
brew install --cask steamcmd

# vcpkg (full clone — a shallow clone breaks manifest baselines)
git clone https://github.com/microsoft/vcpkg ~/vcpkg && ~/vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=~/vcpkg          # add to your shell profile

# LunarG Vulkan SDK (NOT the Homebrew cask) — https://vulkan.lunarg.com/sdk/home
export VULKAN_SDK=$HOME/VulkanSDK/<version>/macOS   # add to your shell profile

Clone, build, get assets, play:

git clone https://github.com/ammaarreshi/Generals-Mac-iOS-iPad.git GeneralsX
cd GeneralsX
./scripts/build/macos/build-macos-zh.sh     # checks deps, configures, builds
./scripts/build/macos/deploy-macos-zh.sh    # creates ~/GeneralsX/GeneralsZH + run.sh
./scripts/get-assets.sh <your_steam_username>   # fetches game data you own
cd ~/GeneralsX/GeneralsZH && ./run.sh -win

Quick start — iPhone / iPad

On top of the macOS prerequisites: full Xcode (signed into your Apple ID), brew install xcodegen, and a (free or paid) Apple Developer team.

cd GeneralsX
git submodule update --init references/fbraz3-dxvk   # iOS DXVK is built from this + Patches/dxvk-ios.patch
./scripts/build/ios/fetch-moltenvk.sh                # pinned MoltenVK.framework (checksummed)
./scripts/build/ios/stage-fonts.sh                   # Liberation fonts, renamed as the game expects
cmake --preset ios-vulkan
cmake --build build/ios-vulkan --target z_generals
GX_TEAM_ID=<your-team-id> GX_BUNDLE_ID=com.you.generalszh \
    ./scripts/build/ios/package-ios-zh.sh --install  # assembles, signs, installs

Find your team id in Xcode → Settings → Accounts. Assets ship inside the app bundle (self-contained install); --dev skips the ~2.7 GB copy for fast code iteration.

Where things are

Path What it is
docs/port/PORTING_PLAYBOOK.md The complete engineering log of this port: every failure mode, root cause, fix — start with §8, the bug archaeology: the black minimap, the silent EVA lines, and the chirp
docs/port/PORTING_PATTERNS.md Generalized methodology for porting classic Windows games to Apple platforms
docs/port/RELEASE_CHECKLIST.md Gate for public release
scripts/get-assets.sh Steam asset fetcher (your own copy; app 2732960)
scripts/build/macos/, scripts/build/ios/ Build, deploy, packaging pipelines
ios/ XcodeGen signing-stub project + ios/config/ (staged Options.ini, dxvk.conf)
Patches/dxvk-ios.patch DXVK changes the iOS d3d8/d3d9 dylibs are built from (applied via the local-fork build)

Known issues

  • Long sessions on iPad can be killed by iOS for memory (~3 GB+ resident); the app exits to the home screen with no dialog. Session logs (current + previous) are in the Files app under the game's folder. Under investigation.
  • Backgrounding mid-game can occasionally crash on iOS — the lifecycle pause covers the common paths; a rare race remains. Save often.

What's next: Renegade 👀

Generals had a chain of giants to stand on. Command & Conquer: Renegade — EA's 2002 FPS from the same GPL source release — has far less: no native macOS or iOS build of the W3D engine has ever shipped (Mac players today go through Wine-based compatibility layers). The OpenW3D community project has real cross-platform groundwork — a DXVK wrapper scaffold and SDL3 build plumbing — with Mac/Linux on its roadmap, and that groundwork is exactly what we built on.

Same methodology as this repo, much deeper water: OpenW3D's Win32 compat scaffold expanded by ~3,000 lines (the engine calls raw Windows APIs for file finding, keyboard state, COM), a case-sensitivity strategy for twenty thousand asset paths, the DXVK/MoltenVK renderer bring-up, the audio/video stack, and FPS touch controls. It's playable today — campaign, cinematics, mission scripts — on a Mac and an iPhone. For scale: this Generals port added ~2,200 lines on top of GeneralsX; Renegade needed ~6,700 on top of the Windows-only source.

Repo drops soon, with the OpenW3D lineage credited the way this repo credits its chain. Same rules: GPL v3, bring your own copy, full engineering log.

Lineage & credits

This port is the newest link in a long chain, and the earlier links did foundational work that this repo inherits everywhere:

  • Westwood / EA Pacific — the game; EA — the GPL v3 source release
  • TheSuperHackers/GeneralsGameCode — the community mainline: build modernization, VC6→modern toolchain, and much of the cross-platform groundwork, including the FFmpeg video backend authored by feliwir (of OpenSAGE), who also authored the OpenAL audio device work this port's audio stack builds on
  • Fighter19/CnC_Generals_Zero_Hour — the original Unix/64-bit port: SDL3 platform management, C++17 filesystem/threading, Freetype/Fontconfig text rendering, and the DXVK approach this renderer path descends from
  • fbraz3/GeneralsX — the macOS/Linux port this fork builds on directly, integrating and extending the above
  • This fork — the iOS/iPadOS port (arm64-ios cross-build, DXVK-on-iOS, touch controls, app lifecycle, packaging) and engine fixes, offered upstream
  • DXVK, MoltenVK, SDL, OpenAL Soft, FFmpeg, Liberation Fonts — the load-bearing walls

Engine code GPL v3 (EA's source release → the chain above → this fork). Game assets: not included, not licensed here.

View on GitHub

Recent activity

commits and pull requests

Code frequency

additions and deletions
+83.8K-83.8KWeek of 2025-08-03: +81,590 linesWeek of 2025-08-03: -81,891 linesWeek of 2025-08-10: +8,625 linesWeek of 2025-08-10: -12,211 linesWeek of 2025-08-17: +263 linesWeek of 2025-08-17: -195 linesWeek of 2025-08-24: +247 linesWeek of 2025-08-24: -253 linesWeek of 2025-08-31: +1,418 linesWeek of 2025-08-31: -656 linesWeek of 2025-09-07: +20,651 linesWeek of 2025-09-07: -21,452 linesWeek of 2025-09-14: +3,192 linesWeek of 2025-09-14: -1,715 linesWeek of 2025-09-21: +1,270 linesWeek of 2025-09-21: -1,753 linesWeek of 2025-09-28: +1,228 linesWeek of 2025-09-28: -660 linesWeek of 2025-10-05: +1,234 linesWeek of 2025-10-05: -1,065 linesWeek of 2025-10-12: +2,278 linesWeek of 2025-10-12: -1,921 linesWeek of 2025-10-19: +2,955 linesWeek of 2025-10-19: -14,475 linesWeek of 2025-10-26: +20,983 linesWeek of 2025-10-26: -19,748 linesWeek of 2025-11-02: +3,187 linesWeek of 2025-11-02: -3,197 linesWeek of 2025-11-09: +42,855 linesWeek of 2025-11-09: -83,782 linesWeek of 2025-11-16: +836 linesWeek of 2025-11-16: -718 linesWeek of 2025-11-23: +15,646 linesWeek of 2025-11-23: -26,453 linesWeek of 2025-11-30: +2,437 linesWeek of 2025-11-30: -3,238 linesWeek of 2025-12-07: +9,492 linesWeek of 2025-12-07: -3,913 linesWeek of 2025-12-14: +42,729 linesWeek of 2025-12-14: -70,976 linesWeek of 2025-12-21: +689 linesWeek of 2025-12-21: -758 linesWeek of 2025-12-28: +1,172 linesWeek of 2025-12-28: -879 linesWeek of 2026-01-04: +2,496 linesWeek of 2026-01-04: -1,279 linesWeek of 2026-01-11: +40,619 linesWeek of 2026-01-11: -40,219 linesWeek of 2026-01-18: +4,880 linesWeek of 2026-01-18: -3,708 linesWeek of 2026-01-25: +28,200 linesWeek of 2026-01-25: -53,536 linesWeek of 2026-02-01: +1,427 linesWeek of 2026-02-01: -1,269 linesWeek of 2026-02-08: +50,008 linesWeek of 2026-02-08: -7,288 linesWeek of 2026-02-15: +44,967 linesWeek of 2026-02-15: -55,515 linesWeek of 2026-02-22: +27,815 linesWeek of 2026-02-22: -25,233 linesWeek of 2026-03-01: +4,109 linesWeek of 2026-03-01: -1,753 linesWeek of 2026-03-08: +32,988 linesWeek of 2026-03-08: -36,673 linesWeek of 2026-03-15: +7,290 linesWeek of 2026-03-15: -5,250 linesWeek of 2026-03-22: +3,639 linesWeek of 2026-03-22: -3,228 linesWeek of 2026-03-29: +8,720 linesWeek of 2026-03-29: -6,109 linesWeek of 2026-04-05: +4,988 linesWeek of 2026-04-05: -3,270 linesWeek of 2026-04-12: +14,248 linesWeek of 2026-04-12: -21,237 linesWeek of 2026-04-19: +9,243 linesWeek of 2026-04-19: -9,092 linesWeek of 2026-04-26: +18,274 linesWeek of 2026-04-26: -31,364 linesWeek of 2026-05-03: +2,681 linesWeek of 2026-05-03: -1,183 linesWeek of 2026-05-10: +13,012 linesWeek of 2026-05-10: -17,901 linesWeek of 2026-05-17: +2,650 linesWeek of 2026-05-17: -2,062 linesWeek of 2026-05-24: +16,594 linesWeek of 2026-05-24: -16,087 linesWeek of 2026-05-31: +2,120 linesWeek of 2026-05-31: -3,118 linesWeek of 2026-06-07: +4,731 linesWeek of 2026-06-07: -1,875 linesWeek of 2026-06-14: +0 linesWeek of 2026-06-14: -0 linesWeek of 2026-06-21: +0 linesWeek of 2026-06-21: -0 linesWeek of 2026-06-28: +2,266 linesWeek of 2026-06-28: -239 linesWeek of 2026-07-05: +90 linesWeek of 2026-07-05: -15 linesWeek of 2026-07-12: +0 linesWeek of 2026-07-12: -0 linesWeek of 2026-07-19: +0 linesWeek of 2026-07-19: -0 linesWeek of 2026-07-26: +0 linesWeek of 2026-07-26: -0 linesAug 3, 2025Jul 26, 2026
+613K lines added, -700.4K removed over the last year.

Commits per week

last 52 weeks
840Week of 2025-08-10: 24 commitsWeek of 2025-08-17: 8 commitsWeek of 2025-08-24: 9 commitsWeek of 2025-08-31: 22 commitsWeek of 2025-09-07: 39 commitsWeek of 2025-09-14: 32 commitsWeek of 2025-09-21: 25 commitsWeek of 2025-09-28: 17 commitsWeek of 2025-10-05: 10 commitsWeek of 2025-10-12: 24 commitsWeek of 2025-10-19: 18 commitsWeek of 2025-10-26: 16 commitsWeek of 2025-11-02: 23 commitsWeek of 2025-11-09: 13 commitsWeek of 2025-11-16: 19 commitsWeek of 2025-11-23: 15 commitsWeek of 2025-11-30: 13 commitsWeek of 2025-12-07: 16 commitsWeek of 2025-12-14: 12 commitsWeek of 2025-12-21: 8 commitsWeek of 2025-12-28: 11 commitsWeek of 2026-01-04: 35 commitsWeek of 2026-01-11: 27 commitsWeek of 2026-01-18: 38 commitsWeek of 2026-01-25: 37 commitsWeek of 2026-02-01: 22 commitsWeek of 2026-02-08: 84 commitsWeek of 2026-02-15: 60 commitsWeek of 2026-02-22: 68 commitsWeek of 2026-03-01: 60 commitsWeek of 2026-03-08: 45 commitsWeek of 2026-03-15: 37 commitsWeek of 2026-03-22: 21 commitsWeek of 2026-03-29: 39 commitsWeek of 2026-04-05: 32 commitsWeek of 2026-04-12: 45 commitsWeek of 2026-04-19: 40 commitsWeek of 2026-04-26: 30 commitsWeek of 2026-05-03: 20 commitsWeek of 2026-05-10: 14 commitsWeek of 2026-05-17: 25 commitsWeek of 2026-05-24: 7 commitsWeek of 2026-05-31: 12 commitsWeek of 2026-06-07: 25 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 20 commitsWeek of 2026-07-05: 2 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 0 commitsWeek of 2026-08-02: 0 commitsAug 10, 2025Aug 2, 2026
1.2K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 7 commitsSun 1:00 — 9 commitsSun 2:00 — 0 commitsSun 3:00 — 4 commitsSun 4:00 — 3 commitsSun 5:00 — 1 commitsSun 6:00 — 2 commitsSun 7:00 — 8 commitsSun 8:00 — 23 commitsSun 9:00 — 13 commitsSun 10:00 — 21 commitsSun 11:00 — 28 commitsSun 12:00 — 25 commitsSun 13:00 — 15 commitsSun 14:00 — 4 commitsSun 15:00 — 22 commitsSun 16:00 — 23 commitsSun 17:00 — 21 commitsSun 18:00 — 13 commitsSun 19:00 — 14 commitsSun 20:00 — 19 commitsSun 21:00 — 19 commitsSun 22:00 — 18 commitsSun 23:00 — 19 commitsMon 0:00 — 15 commitsMon 1:00 — 7 commitsMon 2:00 — 9 commitsMon 3:00 — 1 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 1 commitsMon 7:00 — 1 commitsMon 8:00 — 1 commitsMon 9:00 — 2 commitsMon 10:00 — 4 commitsMon 11:00 — 6 commitsMon 12:00 — 4 commitsMon 13:00 — 4 commitsMon 14:00 — 11 commitsMon 15:00 — 6 commitsMon 16:00 — 3 commitsMon 17:00 — 14 commitsMon 18:00 — 19 commitsMon 19:00 — 30 commitsMon 20:00 — 31 commitsMon 21:00 — 32 commitsMon 22:00 — 25 commitsMon 23:00 — 34 commitsTue 0:00 — 10 commitsTue 1:00 — 3 commitsTue 2:00 — 1 commitsTue 3:00 — 2 commitsTue 4:00 — 2 commitsTue 5:00 — 3 commitsTue 6:00 — 0 commitsTue 7:00 — 6 commitsTue 8:00 — 2 commitsTue 9:00 — 4 commitsTue 10:00 — 6 commitsTue 11:00 — 8 commitsTue 12:00 — 5 commitsTue 13:00 — 8 commitsTue 14:00 — 8 commitsTue 15:00 — 6 commitsTue 16:00 — 11 commitsTue 17:00 — 6 commitsTue 18:00 — 37 commitsTue 19:00 — 39 commitsTue 20:00 — 29 commitsTue 21:00 — 36 commitsTue 22:00 — 40 commitsTue 23:00 — 15 commitsWed 0:00 — 18 commitsWed 1:00 — 3 commitsWed 2:00 — 2 commitsWed 3:00 — 4 commitsWed 4:00 — 4 commitsWed 5:00 — 2 commitsWed 6:00 — 4 commitsWed 7:00 — 3 commitsWed 8:00 — 4 commitsWed 9:00 — 3 commitsWed 10:00 — 3 commitsWed 11:00 — 9 commitsWed 12:00 — 9 commitsWed 13:00 — 9 commitsWed 14:00 — 9 commitsWed 15:00 — 2 commitsWed 16:00 — 12 commitsWed 17:00 — 9 commitsWed 18:00 — 22 commitsWed 19:00 — 28 commitsWed 20:00 — 14 commitsWed 21:00 — 27 commitsWed 22:00 — 24 commitsWed 23:00 — 9 commitsThu 0:00 — 6 commitsThu 1:00 — 0 commitsThu 2:00 — 3 commitsThu 3:00 — 3 commitsThu 4:00 — 2 commitsThu 5:00 — 7 commitsThu 6:00 — 1 commitsThu 7:00 — 3 commitsThu 8:00 — 2 commitsThu 9:00 — 3 commitsThu 10:00 — 2 commitsThu 11:00 — 4 commitsThu 12:00 — 1 commitsThu 13:00 — 5 commitsThu 14:00 — 3 commitsThu 15:00 — 2 commitsThu 16:00 — 6 commitsThu 17:00 — 18 commitsThu 18:00 — 19 commitsThu 19:00 — 14 commitsThu 20:00 — 19 commitsThu 21:00 — 19 commitsThu 22:00 — 24 commitsThu 23:00 — 30 commitsFri 0:00 — 15 commitsFri 1:00 — 1 commitsFri 2:00 — 2 commitsFri 3:00 — 2 commitsFri 4:00 — 2 commitsFri 5:00 — 4 commitsFri 6:00 — 3 commitsFri 7:00 — 5 commitsFri 8:00 — 7 commitsFri 9:00 — 11 commitsFri 10:00 — 19 commitsFri 11:00 — 6 commitsFri 12:00 — 18 commitsFri 13:00 — 5 commitsFri 14:00 — 6 commitsFri 15:00 — 3 commitsFri 16:00 — 13 commitsFri 17:00 — 10 commitsFri 18:00 — 12 commitsFri 19:00 — 18 commitsFri 20:00 — 15 commitsFri 21:00 — 25 commitsFri 22:00 — 26 commitsFri 23:00 — 16 commitsSat 0:00 — 7 commitsSat 1:00 — 4 commitsSat 2:00 — 2 commitsSat 3:00 — 2 commitsSat 4:00 — 0 commitsSat 5:00 — 8 commitsSat 6:00 — 4 commitsSat 7:00 — 3 commitsSat 8:00 — 5 commitsSat 9:00 — 6 commitsSat 10:00 — 12 commitsSat 11:00 — 41 commitsSat 12:00 — 45 commitsSat 13:00 — 24 commitsSat 14:00 — 32 commitsSat 15:00 — 38 commitsSat 16:00 — 20 commitsSat 17:00 — 6 commitsSat 18:00 — 14 commitsSat 19:00 — 19 commitsSat 20:00 — 23 commitsSat 21:00 — 14 commitsSat 22:00 — 26 commitsSat 23:00 — 18 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits22 (2%)
Community commits1,288 (98%)

1,310 commits in total over the last year.

DateListRankStars gained
Jul 5, 2026daily#15+24
Jul 4, 2026daily#20+22
  • ggml-org/llama.cpp

    LLM inference in C/C++

    123K stars · C++

  • jaywcjlove/awesome-mac

     This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

    109.3K stars · Swift

  • ocornut/imgui

    Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

    75.6K stars · C++

  • LadybirdBrowser/ladybird

    Truly independent web browser

    64.8K stars · C++

  • warpdotdev/warp

    Warp is an agentic development environment, born out of the terminal.

    64K stars · Rust

  • tw93/Mole

    🐹 Clean, uninstall, analyze, optimize, and monitor your Mac from the terminal.

    62.2K stars · Shell