browser-use/browser-harnessPublic

Browser Harness | Self-healing harness that enables LLMs to complete any task.

AI summary: Connects an LLM directly to a real Chrome browser via a thin, editable CDP harness for unconstrained web automation.

Stars
16.5K
+53 today
Forks
1.6K
Watchers
49
Open issues
17
Open PRs
214
Contributors
~69
Commits
481
Branches
139

PythonMITCreated Apr 17, 2026Last push 3d agoLatest release v0.1.8+193 stars this week+230 this month

Star history

since Apr 12, 2026
05K10K15KApr 2026May 2026Jun 2026Aug 2026
16.5K stars as of Aug 7, 2026, tracked back to Apr 12, 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: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 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: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 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: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-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: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 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: 0 commits2026-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: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 5 commits2026-04-17: 51 commits2026-04-18: 38 commits2026-04-19: 10 commits2026-04-20: 7 commits2026-04-21: 5 commits2026-04-22: 5 commits2026-04-23: 6 commits2026-04-24: 12 commits2026-04-25: 5 commits2026-04-26: 3 commits2026-04-27: 9 commits2026-04-28: 16 commits2026-04-29: 8 commits2026-04-30: 13 commits2026-05-01: 7 commits2026-05-02: 17 commits2026-05-03: 8 commits2026-05-04: 17 commits2026-05-05: 7 commits2026-05-06: 5 commits2026-05-07: 3 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 1 commit2026-05-11: 1 commit2026-05-12: 2 commits2026-05-13: 2 commits2026-05-14: 3 commits2026-05-15: 3 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 2 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-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: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 5 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 2 commits2026-06-20: 4 commits2026-06-21: 8 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: 2 commits2026-06-30: 0 commits2026-07-01: 4 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 7 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 2 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 2 commits2026-07-15: 9 commits2026-07-16: 6 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 5 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 3 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: 2 commits2026-08-03: 1 commit2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits
333 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    16,546 stars

  • Breakout launch

    16,546 stars in 113 days

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

  • Repeat trending

    3 trending appearances

What browser-harness does

Browser Harness establishes a direct websocket connection between an LLM agent and a Chrome browser using the Chrome DevTools Protocol (CDP). It allows agents to write and execute custom helper scripts dynamically during execution to overcome missing capabilities. This self-healing approach removes intermediary layers, giving the LLM complete freedom to interact with the DOM and browser APIs. It is designed for complex web automation tasks where predefined wrappers fall short.

AI developers, automation engineers, and researchers building autonomous web agents. It requires familiarity with Python, LLM prompts, and basic browser automation concepts.

  • Direct CDP websocket: Enables raw, unmediated communication between the agent and the browser instance.
  • Dynamic helper generation: Allows the LLM to write missing Python helper scripts on the fly during task execution.
  • Self-healing execution: The harness improves itself on every run by retaining newly generated capabilities.
  • Unrestricted browser access: Grants complete freedom to manipulate the DOM and utilize all native browser features.
  • Cloud and local support: Can be used within Browser Use Cloud or integrated locally with coding agents like Claude Code.

Where teams use it

Complex web scraping

Data engineers use this to extract information from highly dynamic, JavaScript-heavy single-page applications where standard scrapers fail.

Automated QA testing

QA teams deploy agents to autonomously navigate complex user flows and write missing test helpers on the fly.

Unconstrained browser tasks

Developers use it for bespoke web automation where intermediate wrappers limit the agent's ability to interact with specific UI elements.

Agent capability expansion

AI researchers leverage the self-healing nature of the harness to let agents build their own toolchains over time.

Getting started: Paste into Claude Code or Codex: ```text Install or upgrade browser-harness...

README

main branch

Browser Harness

Browser Harness ♞

Connect an LLM directly to your real browser with a thin, editable CDP harness. For browser tasks where you need complete freedom.

One websocket to Chrome, nothing between. The agent writes what's missing during execution. The harness improves itself every run.

Try browser-harness in Browser Use Cloud or paste the setup prompt into your coding agent.

  ● agent: wants to upload a file
  │
  ● agent-workspace/agent_helpers.py → helper missing
  │
  ● agent writes it                         agent_helpers.py
  │                                                       + custom helper
  ✓ file uploaded

You will never use the browser again.

Setup prompt

Paste into Claude Code or Codex:

Install or upgrade browser-harness to the latest stable version with uv using Python 3.12, register the skill from `browser-harness skill`, and connect it to my browser. Ask whether I want local browser recordings enabled; default to no and preserve my existing preference on upgrades. Follow https://github.com/browser-use/browser-harness/blob/main/install.md if setup or connection fails.

The agent will open chrome://inspect/#remote-debugging. Tick the checkbox so the agent can connect to your browser:

Remote debugging setup

Click Allow when the per-attach popup appears (Chrome 144+):

Allow remote debugging popup

See agent-workspace/domain-skills/ for example tasks.

Free Browser Use Cloud browsers

Stealth, sub-agents, or headless deployment.
Browser Use Cloud free tier: 3 concurrent browsers, proxies, captcha solving, and more. No card required.

Architecture (~1k lines across 4 core files)

  • install.md — first-time install and browser bootstrap
  • SKILL.md — day-to-day usage
  • src/browser_harness/ — protected core package
  • ${XDG_CONFIG_HOME:-~/.config}/browser-harness/agent-workspace/agent_helpers.py — helper code the agent edits
  • ${XDG_CONFIG_HOME:-~/.config}/browser-harness/agent-workspace/domain-skills/ — reusable site-specific skills the agent edits

Plain browser-harness helper calls attach to the running Chrome/Chromium CDP endpoint. For isolated automation, launch Chrome yourself with --remote-debugging-port and pass BU_CDP_URL, or use a Browser Use cloud browser.

Development

From a checkout, use ./browser-harness to run the current working tree without activating a virtualenv or depending on the globally installed command:

./browser-harness <<'PY'
print(page_info())
PY

Normal agent-facing docs should keep using browser-harness; the ./browser-harness launcher is only for local repo testing.

Contributing

PRs and improvements welcome. The best way to help: contribute a new domain skill under agent-workspace/domain-skills/ for a site or task you use often (LinkedIn outreach, ordering on Amazon, filing expenses, etc.). Each skill teaches the agent the selectors, flows, and edge cases it would otherwise have to rediscover.

  • Skills are written by the harness, not by you. Just run your task with the agent — when it figures something non-obvious out, it files the skill itself (see SKILL.md). Please don't hand-author skill files; agent-generated ones reflect what actually works in the browser.
  • Open a PR with the generated domain-skills/<site>/ folder copied into this repo's agent-workspace/domain-skills/ examples — small and focused is great.
  • Bug fixes, docs tweaks, and helper improvements are equally welcome.
  • Browse existing skills (github/, linkedin/, amazon/, ...) to see the shape.

If you're not sure where to start, open an issue and we'll point you somewhere useful.

Domain skills

Set BH_DOMAIN_SKILLS=1 to enable domain skills from the agent workspace. This repo's agent-workspace/domain-skills/ directory contains examples to contribute via PR.


The Bitter Lesson of Agent Harnesses · Web Agents That Actually Learn

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

9 total
  1. v0.1.8v0.1.8Jul 26, 2026

    Chrome no longer has to be open before you start. If no Chromium-family browser is running, the harness launches one for you — picking a profile that already has remote debugging enabled and skipping the profile picker. - Attaches to a reusable tab (about:blank, New Tab, or an existing `chrome://inspect` tab) instead of always opening a new one, so startup is faster and you get fewer prompts. - Only closes leftover `chrome://inspect` tabs the harness itself opened — your tabs are left alone. - Opens `chrome://inspect/#remote-debugging` at most once every 3 minutes, and guards against stale DevToolsActivePort files. - Clearer, actionable errors when setup or permissions block the connection.

  2. v0.1.7v0.1.7Jul 21, 2026

    You no longer have to click "Allow in Chrome" for every task! The harness now opens one connection and keeps it, so you accept once per Chrome session and never see the popup again until Chrome restarts.

  3. Browser Harness can now record browser tasks and turn hours of agent work into short, verifiable videos. The videos use real browser frames, clicks, cursor movement, and typing—then condense the work with concise subtitles, honest mistake-and-correction explanations, and a verified final outcome. Video creation is built directly into Browser Harness. No separate skill or installation is required. Recordings remain off by default and can be enabled globally or requested for an individual task with prompts like “record this,” “show me what you did,” or “make a demo.”

  4. v0.1.5v0.1.5Jul 11, 2026

    Stable 0.1.5 release. - Rename the packaged skill identity back to browser-harness. - More robust CLI telemetry: skip the daemon ping when telemetry is off, log browser type (remote/local). - Suggest the cloud browser when no local browser is available. - Windows reliability: UTF-8 daemon logging with real startup tracebacks, per-OS Chrome profile discovery (incl. Beta/Dev via %LOCALAPPDATA%), clearer remote-debugging connection errors, and tolerate a corrupt auth.json.

  5. v0.1.4v0.1.4Jul 1, 2026

    Stable 0.1.4 release. - Rename the packaged skill identity to Browser Use. - Add Browser Use v4 guidance to the skill. - Make the API key stdin example copy-pasteable. - Package version bumped to 0.1.4.

Code frequency

additions and deletions
+34.3K-34.3KWeek of 2026-04-12: +28,147 linesWeek of 2026-04-12: -3,207 linesWeek of 2026-04-19: +4,221 linesWeek of 2026-04-19: -413 linesWeek of 2026-04-26: +34,333 linesWeek of 2026-04-26: -30,312 linesWeek of 2026-05-03: +4,261 linesWeek of 2026-05-03: -536 linesWeek of 2026-05-10: +765 linesWeek of 2026-05-10: -352 linesWeek of 2026-05-17: +16 linesWeek of 2026-05-17: -225 linesWeek of 2026-05-24: +0 linesWeek of 2026-05-24: -0 linesWeek of 2026-05-31: +0 linesWeek of 2026-05-31: -0 linesWeek of 2026-06-07: +357 linesWeek of 2026-06-07: -208 linesWeek of 2026-06-14: +1,414 linesWeek of 2026-06-14: -464 linesWeek of 2026-06-21: +56 linesWeek of 2026-06-21: -17 linesWeek of 2026-06-28: +19 linesWeek of 2026-06-28: -15 linesWeek of 2026-07-05: +426 linesWeek of 2026-07-05: -102 linesWeek of 2026-07-12: +7,513 linesWeek of 2026-07-12: -4,745 linesWeek of 2026-07-19: +419 linesWeek of 2026-07-19: -44 linesWeek of 2026-07-26: +0 linesWeek of 2026-07-26: -0 linesWeek of 2026-08-02: +31 linesWeek of 2026-08-02: -20 linesApr 12, 2026Aug 2, 2026
+82K lines added, -40.7K removed over the last year.

Commits per week

last 52 weeks
940Week of 2025-08-10: 0 commitsWeek of 2025-08-17: 0 commitsWeek of 2025-08-24: 0 commitsWeek of 2025-08-31: 0 commitsWeek of 2025-09-07: 0 commitsWeek of 2025-09-14: 0 commitsWeek of 2025-09-21: 0 commitsWeek of 2025-09-28: 0 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 94 commitsWeek of 2026-04-19: 50 commitsWeek of 2026-04-26: 73 commitsWeek of 2026-05-03: 40 commitsWeek of 2026-05-10: 12 commitsWeek of 2026-05-17: 2 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 5 commitsWeek of 2026-06-14: 6 commitsWeek of 2026-06-21: 8 commitsWeek of 2026-06-28: 6 commitsWeek of 2026-07-05: 9 commitsWeek of 2026-07-12: 17 commitsWeek of 2026-07-19: 8 commitsWeek of 2026-07-26: 0 commitsWeek of 2026-08-02: 3 commitsAug 10, 2025Aug 2, 2026
333 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 2 commitsSun 1:00 — 1 commitsSun 2:00 — 2 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 1 commitsSun 7:00 — 5 commitsSun 8:00 — 6 commitsSun 9:00 — 0 commitsSun 10:00 — 1 commitsSun 11:00 — 4 commitsSun 12:00 — 1 commitsSun 13:00 — 2 commitsSun 14:00 — 1 commitsSun 15:00 — 1 commitsSun 16:00 — 1 commitsSun 17:00 — 2 commitsSun 18:00 — 0 commitsSun 19:00 — 2 commitsSun 20:00 — 0 commitsSun 21:00 — 0 commitsSun 22:00 — 0 commitsSun 23:00 — 0 commitsMon 0:00 — 3 commitsMon 1:00 — 2 commitsMon 2:00 — 1 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 1 commitsMon 9:00 — 0 commitsMon 10:00 — 3 commitsMon 11:00 — 1 commitsMon 12:00 — 5 commitsMon 13:00 — 0 commitsMon 14:00 — 2 commitsMon 15:00 — 3 commitsMon 16:00 — 3 commitsMon 17:00 — 5 commitsMon 18:00 — 7 commitsMon 19:00 — 0 commitsMon 20:00 — 0 commitsMon 21:00 — 0 commitsMon 22:00 — 1 commitsMon 23:00 — 0 commitsTue 0:00 — 1 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 1 commitsTue 8:00 — 1 commitsTue 9:00 — 0 commitsTue 10:00 — 2 commitsTue 11:00 — 3 commitsTue 12:00 — 3 commitsTue 13:00 — 5 commitsTue 14:00 — 6 commitsTue 15:00 — 8 commitsTue 16:00 — 4 commitsTue 17:00 — 1 commitsTue 18:00 — 0 commitsTue 19:00 — 0 commitsTue 20:00 — 2 commitsTue 21:00 — 1 commitsTue 22:00 — 7 commitsTue 23:00 — 2 commitsWed 0:00 — 0 commitsWed 1:00 — 1 commitsWed 2:00 — 0 commitsWed 3:00 — 1 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 1 commitsWed 9:00 — 1 commitsWed 10:00 — 5 commitsWed 11:00 — 5 commitsWed 12:00 — 0 commitsWed 13:00 — 4 commitsWed 14:00 — 1 commitsWed 15:00 — 1 commitsWed 16:00 — 3 commitsWed 17:00 — 1 commitsWed 18:00 — 2 commitsWed 19:00 — 3 commitsWed 20:00 — 1 commitsWed 21:00 — 0 commitsWed 22:00 — 0 commitsWed 23:00 — 3 commitsThu 0:00 — 1 commitsThu 1:00 — 1 commitsThu 2:00 — 2 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 1 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 1 commitsThu 11:00 — 0 commitsThu 12:00 — 1 commitsThu 13:00 — 2 commitsThu 14:00 — 1 commitsThu 15:00 — 1 commitsThu 16:00 — 5 commitsThu 17:00 — 2 commitsThu 18:00 — 4 commitsThu 19:00 — 4 commitsThu 20:00 — 3 commitsThu 21:00 — 2 commitsThu 22:00 — 1 commitsThu 23:00 — 4 commitsFri 0:00 — 4 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 1 commitsFri 5:00 — 1 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 3 commitsFri 11:00 — 3 commitsFri 12:00 — 1 commitsFri 13:00 — 3 commitsFri 14:00 — 1 commitsFri 15:00 — 3 commitsFri 16:00 — 7 commitsFri 17:00 — 12 commitsFri 18:00 — 7 commitsFri 19:00 — 3 commitsFri 20:00 — 7 commitsFri 21:00 — 10 commitsFri 22:00 — 6 commitsFri 23:00 — 5 commitsSat 0:00 — 2 commitsSat 1:00 — 1 commitsSat 2:00 — 0 commitsSat 3:00 — 5 commitsSat 4:00 — 4 commitsSat 5:00 — 1 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 2 commitsSat 11:00 — 7 commitsSat 12:00 — 6 commitsSat 13:00 — 2 commitsSat 14:00 — 2 commitsSat 15:00 — 12 commitsSat 16:00 — 9 commitsSat 17:00 — 4 commitsSat 18:00 — 5 commitsSat 19:00 — 2 commitsSat 20:00 — 1 commitsSat 21:00 — 1 commitsSat 22:00 — 2 commitsSat 23:00 — 4 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Apr 23, 2026daily#19+98
Apr 20, 2026daily#8+201
Apr 19, 2026daily#4+460
  • public-apis/public-apis

    A collective list of free APIs

    454.9K stars · Python

  • donnemartin/system-design-primer

    Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

    362.2K stars · Python

  • practical-tutorials/project-based-learning

    Curated list of project-based tutorials

    277.1K stars · Python

  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    238.5K stars · JavaScript

  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    234.7K stars · JavaScript

  • NousResearch/hermes-agent

    The agent that grows with you

    227K stars · Python