earendil-works/piPublic

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

AI summary: An extensible AI agent harness and runtime for building autonomous, multi-provider coding agents.

Stars
85.2K
+476 today
Forks
10.6K
Watchers
279
Open issues
68
Open PRs
15
Contributors
~264
Commits
5.4K
Branches
47

TypeScriptMITCreated Aug 9, 2025Last push todayLatest release v0.83.0+3.7K stars this week+6.3K this month

Star history

since May 3, 2026
025K50K75KMay 2026Jun 2026Jul 2026Aug 2026
85.2K stars as of Aug 7, 2026, tracked back to May 3, 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: 9 commits2025-08-11: 14 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 2 commits2025-08-17: 2 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: 4 commits2025-08-25: 8 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 4 commits2025-08-30: 14 commits2025-08-31: 16 commits2025-09-01: 11 commits2025-09-02: 8 commits2025-09-03: 4 commits2025-09-04: 4 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 2 commits2025-09-08: 0 commits2025-09-09: 6 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 4 commits2025-09-16: 7 commits2025-09-17: 0 commits2025-09-18: 3 commits2025-09-19: 4 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: 7 commits2025-10-02: 4 commits2025-10-03: 4 commits2025-10-04: 6 commits2025-10-05: 7 commits2025-10-06: 22 commits2025-10-07: 1 commit2025-10-08: 16 commits2025-10-09: 20 commits2025-10-10: 7 commits2025-10-11: 8 commits2025-10-12: 5 commits2025-10-13: 2 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 2 commits2025-10-18: 3 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 3 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 5 commits2025-10-27: 0 commits2025-10-28: 1 commit2025-10-29: 4 commits2025-10-30: 2 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: 4 commits2025-11-11: 44 commits2025-11-12: 61 commits2025-11-13: 30 commits2025-11-14: 6 commits2025-11-15: 1 commit2025-11-16: 11 commits2025-11-17: 3 commits2025-11-18: 6 commits2025-11-19: 7 commits2025-11-20: 25 commits2025-11-21: 14 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 6 commits2025-11-25: 2 commits2025-11-26: 19 commits2025-11-27: 18 commits2025-11-28: 2 commits2025-11-29: 7 commits2025-11-30: 0 commits2025-12-01: 8 commits2025-12-02: 33 commits2025-12-03: 15 commits2025-12-04: 28 commits2025-12-05: 29 commits2025-12-06: 12 commits2025-12-07: 7 commits2025-12-08: 14 commits2025-12-09: 60 commits2025-12-10: 23 commits2025-12-11: 15 commits2025-12-12: 30 commits2025-12-13: 28 commits2025-12-14: 5 commits2025-12-15: 17 commits2025-12-16: 11 commits2025-12-17: 28 commits2025-12-18: 21 commits2025-12-19: 45 commits2025-12-20: 25 commits2025-12-21: 16 commits2025-12-22: 37 commits2025-12-23: 7 commits2025-12-24: 46 commits2025-12-25: 31 commits2025-12-26: 31 commits2025-12-27: 33 commits2025-12-28: 47 commits2025-12-29: 56 commits2025-12-30: 28 commits2025-12-31: 48 commits2026-01-01: 39 commits2026-01-02: 36 commits2026-01-03: 120 commits2026-01-04: 43 commits2026-01-05: 47 commits2026-01-06: 54 commits2026-01-07: 27 commits2026-01-08: 47 commits2026-01-09: 45 commits2026-01-10: 23 commits2026-01-11: 38 commits2026-01-12: 39 commits2026-01-13: 67 commits2026-01-14: 24 commits2026-01-15: 18 commits2026-01-16: 53 commits2026-01-17: 26 commits2026-01-18: 23 commits2026-01-19: 31 commits2026-01-20: 7 commits2026-01-21: 26 commits2026-01-22: 36 commits2026-01-23: 20 commits2026-01-24: 31 commits2026-01-25: 65 commits2026-01-26: 51 commits2026-01-27: 7 commits2026-01-28: 14 commits2026-01-29: 29 commits2026-01-30: 37 commits2026-01-31: 11 commits2026-02-01: 47 commits2026-02-02: 21 commits2026-02-03: 36 commits2026-02-04: 28 commits2026-02-05: 41 commits2026-02-06: 43 commits2026-02-07: 15 commits2026-02-08: 20 commits2026-02-09: 10 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 19 commits2026-02-13: 5 commits2026-02-14: 1 commit2026-02-15: 0 commits2026-02-16: 1 commit2026-02-17: 8 commits2026-02-18: 1 commit2026-02-19: 4 commits2026-02-20: 3 commits2026-02-21: 0 commits2026-02-22: 9 commits2026-02-23: 6 commits2026-02-24: 3 commits2026-02-25: 6 commits2026-02-26: 10 commits2026-02-27: 14 commits2026-02-28: 1 commit2026-03-01: 0 commits2026-03-02: 20 commits2026-03-03: 14 commits2026-03-04: 28 commits2026-03-05: 23 commits2026-03-06: 23 commits2026-03-07: 14 commits2026-03-08: 13 commits2026-03-09: 8 commits2026-03-10: 2 commits2026-03-11: 0 commits2026-03-12: 3 commits2026-03-13: 13 commits2026-03-14: 42 commits2026-03-15: 11 commits2026-03-16: 5 commits2026-03-17: 24 commits2026-03-18: 22 commits2026-03-19: 14 commits2026-03-20: 21 commits2026-03-21: 10 commits2026-03-22: 8 commits2026-03-23: 11 commits2026-03-24: 10 commits2026-03-25: 7 commits2026-03-26: 7 commits2026-03-27: 20 commits2026-03-28: 2 commits2026-03-29: 22 commits2026-03-30: 7 commits2026-03-31: 5 commits2026-04-01: 5 commits2026-04-02: 6 commits2026-04-03: 5 commits2026-04-04: 5 commits2026-04-05: 7 commits2026-04-06: 10 commits2026-04-07: 0 commits2026-04-08: 11 commits2026-04-09: 9 commits2026-04-10: 0 commits2026-04-11: 3 commits2026-04-12: 0 commits2026-04-13: 10 commits2026-04-14: 25 commits2026-04-15: 29 commits2026-04-16: 43 commits2026-04-17: 25 commits2026-04-18: 8 commits2026-04-19: 6 commits2026-04-20: 36 commits2026-04-21: 12 commits2026-04-22: 31 commits2026-04-23: 32 commits2026-04-24: 39 commits2026-04-25: 7 commits2026-04-26: 1 commit2026-04-27: 30 commits2026-04-28: 14 commits2026-04-29: 20 commits2026-04-30: 30 commits2026-05-01: 14 commits2026-05-02: 15 commits2026-05-03: 20 commits2026-05-04: 24 commits2026-05-05: 10 commits2026-05-06: 10 commits2026-05-07: 25 commits2026-05-08: 12 commits2026-05-09: 5 commits2026-05-10: 14 commits2026-05-11: 6 commits2026-05-12: 4 commits2026-05-13: 11 commits2026-05-14: 5 commits2026-05-15: 6 commits2026-05-16: 13 commits2026-05-17: 21 commits2026-05-18: 35 commits2026-05-19: 11 commits2026-05-20: 28 commits2026-05-21: 8 commits2026-05-22: 13 commits2026-05-23: 17 commits2026-05-24: 3 commits2026-05-25: 3 commits2026-05-26: 6 commits2026-05-27: 18 commits2026-05-28: 29 commits2026-05-29: 23 commits2026-05-30: 13 commits2026-05-31: 2 commits2026-06-01: 5 commits2026-06-02: 18 commits2026-06-03: 7 commits2026-06-04: 8 commits2026-06-05: 2 commits2026-06-06: 1 commit2026-06-07: 9 commits2026-06-08: 15 commits2026-06-09: 31 commits2026-06-10: 21 commits2026-06-11: 3 commits2026-06-12: 13 commits2026-06-13: 13 commits2026-06-14: 9 commits2026-06-15: 17 commits2026-06-16: 23 commits2026-06-17: 5 commits2026-06-18: 44 commits2026-06-19: 14 commits2026-06-20: 11 commits2026-06-21: 3 commits2026-06-22: 24 commits2026-06-23: 36 commits2026-06-24: 5 commits2026-06-25: 20 commits2026-06-26: 7 commits2026-06-27: 2 commits2026-06-28: 2 commits2026-06-29: 4 commits2026-06-30: 14 commits2026-07-01: 12 commits2026-07-02: 7 commits2026-07-03: 6 commits2026-07-04: 2 commits2026-07-05: 5 commits2026-07-06: 17 commits2026-07-07: 4 commits2026-07-08: 8 commits2026-07-09: 30 commits2026-07-10: 13 commits2026-07-11: 6 commits2026-07-12: 0 commits2026-07-13: 9 commits2026-07-14: 10 commits2026-07-15: 4 commits2026-07-16: 26 commits2026-07-17: 18 commits2026-07-18: 0 commits2026-07-19: 4 commits2026-07-20: 25 commits2026-07-21: 27 commits2026-07-22: 16 commits2026-07-23: 12 commits2026-07-24: 16 commits2026-07-25: 17 commits2026-07-26: 2 commits2026-07-27: 23 commits2026-07-28: 17 commits2026-07-29: 22 commits2026-07-30: 39 commits2026-07-31: 61 commits2026-08-01: 28 commits2026-08-02: 12 commits2026-08-03: 28 commits2026-08-04: 42 commits2026-08-05: 14 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits
5,101 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    85,206 stars

  • Very active

    5,101 commits in 52 weeks

  • Community-driven

    ~264 contributors

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

  • Repeat trending

    16 trending appearances

  • Top 10% tracked

    Rank 78 of 1058

What pi does

Pi is a comprehensive toolkit for building and running autonomous AI agents, with a strong focus on coding and terminal interactions. It provides a unified API to interface with various LLM providers (OpenAI, Anthropic, Google) and includes a specialized agent runtime (`pi-agent-core`) that handles state management and tool calling. The project ships with `pi-coding-agent`, a powerful CLI tool that acts as an interactive coding assistant, and features a bespoke Terminal UI (`pi-tui`) with differential rendering for real-time agent feedback. It serves as a foundational harness for developers building custom, autonomous AI workflows.

Software engineers and AI developers looking for a robust, terminal-native framework to build and run extensible coding agents.

  • Unified LLM API: Abstracts multiple AI providers into a single, standardized interface.
  • Agent runtime: Manages long-running agent state, context windows, and complex tool execution loops.
  • Coding assistant CLI: Provides a ready-to-use, interactive coding agent for terminal environments.
  • Terminal UI library: Includes a specialized TUI with differential rendering for fluid terminal output.
  • Extensible harness: Designed to be self-extensible, allowing developers to easily add new tools and capabilities.

Where teams use it

Autonomous code generation

Developers use the CLI agent to write, refactor, and test code autonomously directly from the terminal.

Custom agent development

Engineers build specialized AI workflows using the `pi-agent-core` and unified LLM API.

Terminal-based AI interaction

Power users leverage the bespoke TUI to interact with LLMs without leaving their development environment.

Multi-provider AI testing

Researchers easily swap between OpenAI and Anthropic models within the same workflow to compare performance.

Getting started: Install the CLI via npm: `npm install -g @earendil-works/pi-coding-agent`.

README

main branch

pi logo

Discord npm

New issues and PRs from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. See CONTRIBUTING.md.

Pi Agent Harness

This is the home of the Pi agent harness project including our self extensible coding agent.

To learn more about Pi:

All Packages

Package Description
@earendil-works/pi-ai Unified multi-provider LLM API (OpenAI, Anthropic, Google, etc.)
@earendil-works/pi-agent-core Agent runtime with tool calling and state management
@earendil-works/pi-coding-agent Interactive coding agent CLI
@earendil-works/pi-tui Terminal UI library with differential rendering

For Slack/chat automation and workflows see earendil-works/pi-chat.

Permissions & Containerization

Pi does not include a built-in permission system for restricting filesystem, process, network, or credential access. By default, it runs with the permissions of the user and process that launched it.

If you need stronger boundaries, containerize or sandbox Pi. See packages/coding-agent/docs/containerization.md for three patterns:

  • Gondolin extension: keep pi and provider auth on the host while routing built-in tools and ! commands into a local Linux micro-VM.
  • Plain Docker: run the whole pi process in a local container for simple isolation.
  • OpenShell: run the whole pi process in a policy-controlled sandbox.

Contributing

See CONTRIBUTING.md for contribution guidelines and AGENTS.md for project-specific rules (for both humans and agents). Longer term plans for Pi can also be found in RFCs.

Development

npm install --ignore-scripts  # Install all dependencies without running lifecycle scripts
npm run build         # Refresh model data, then build all packages
npm run build:offline # Rebuild using existing model data without network access
npm run check         # Lint, format, and type check
./test.sh            # Run tests (skips LLM-dependent tests without API keys)
./pi-test.sh         # Run pi from sources (can be run from any directory)

Building standalone binaries from release source

GitHub releases include a versioned source archive covered by the release's SHA256SUMS file. Extract it and run the same build script used for the official standalone binaries:

VERSION="<release-version>"
tar -xzf "pi-${VERSION}-source.tar.gz"
cd "pi-${VERSION}"
./scripts/build-binaries.sh --offline-model-data --platform linux-x64 --out "$PWD/out"

The source archive includes the generated provider model data used for the release. --offline-model-data builds with that snapshot instead of refreshing it from live provider catalogs. The script still installs dependencies, builds the monorepo, compiles the Bun executable, and stages its runtime assets. Package maintainers who provide dependencies separately can pass --skip-install --skip-deps.

Supply-chain hardening

We treat npm dependency changes as reviewed code changes.

  • Direct external dependencies are pinned to exact versions. Internal workspace packages remain version-ranged.
  • .npmrc sets save-exact=true and min-release-age=2 to avoid same-day dependency releases during npm resolution.
  • package-lock.json is the dependency ground truth. Pre-commit blocks accidental lockfile commits unless PI_ALLOW_LOCKFILE_CHANGE=1 is set.
  • npm run check verifies pinned direct deps, native TypeScript import compatibility, and the generated coding-agent shrinkwrap.
  • The published CLI package includes packages/coding-agent/npm-shrinkwrap.json, generated from the root lockfile, to pin transitive deps for npm users.
  • Release smoke tests use npm run release:local to build, pack, and create isolated npm and Bun installs outside the repo before tagging a release.
  • Local release installs, documented npm installs, and pi update --self use --ignore-scripts where supported.
  • CI installs with npm ci --ignore-scripts, and a scheduled GitHub workflow runs npm audit --omit=dev plus npm audit signatures --omit=dev.
  • Shrinkwrap generation has an explicit allowlist for dependency lifecycle scripts; new lifecycle-script deps fail checks until reviewed.

Share your OSS coding agent sessions

If you use Pi or other coding agents for open source work, please share your sessions.

Public OSS session data helps improve coding agents with real-world tasks, tool use, failures, and fixes instead of toy benchmarks.

For the full explanation, see this post on X.

To publish sessions, use badlogic/pi-share-hf. Read its README.md for setup instructions. All you need is a Hugging Face account, the Hugging Face CLI, and pi-share-hf.

You can also watch this video, where I show how I publish my pi-mono sessions.

I regularly publish my own pi-mono work sessions here:

License

MIT

pi.dev domain graciously donated by

Exy mascot
exe.dev

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

252 total
  1. v0.83.0v0.83.0Jul 29, 202612.4K downloads

    ### New Features - **Credential export for external clients** — `pi auth print-api-key` and `pi auth print-bearer-token` export configured credentials with automatic OAuth refresh and minimum-validity enforcement. - **Headless OpenRouter sign-in** — Complete `/login` over SSH by pasting the redirect URL or authorization code when the loopback callback is unavailable. See [OpenRouter](https://github.com/earendil-works/pi/blob/v0.83.0/packages/coding-agent/docs/providers.md#openrouter). - **Claude Opus 5 on GitHub Copilot** — Use Claude Opus 5 through GitHub Copilot with adaptive thinking and a 1M context window. See [GitHub Copilot](https://github.com/earendil-works/pi/blob/v0.83.0/packages/coding-agent/docs/providers.md#github-copilot). ### Breaking Changes - Upgraded bundled TypeBox aliases to 1.3.7, removing deprecated APIs including `Type.Base`, `Type.Awaited`, `Type.Promise`, `Type.AsyncIterator`, `Type.Iterator`, `Type.Options`, and `Value.Mutate`, while fixing compiled validation of nullable array tool arguments. Extensions using removed APIs must migrate to supported TypeBox APIs. See [Package Dependencies](https://github.com/earendil-works/pi/blob/v0.83.0/packages/coding

  2. v0.82.1v0.82.1Jul 25, 20267.9K downloads

    ### New Features - **Claude Opus 5** — Available on Anthropic and Amazon Bedrock with adaptive thinking (including `xhigh`), inference profiles, and prompt caching. See [Providers](https://github.com/earendil-works/pi/blob/v0.82.1/packages/coding-agent/docs/providers.md#api-keys). - **Anthropic gateway bearer auth** — `ANTHROPIC_AUTH_TOKEN` authenticates against Anthropic-compatible gateways that require `Authorization: Bearer`, including compaction and branch summaries. See [Environment Variables or Auth File](https://github.com/earendil-works/pi/blob/v0.82.1/packages/coding-agent/docs/providers.md#environment-variables-or-auth-file). - **Faster, more resilient model catalogs** — pi.dev catalogs revalidate with `If-None-Match` so unchanged providers answer with an empty `304`, and llama.cpp models stay listed across restarts. See [llama.cpp](https://github.com/earendil-works/pi/blob/v0.82.1/packages/coding-agent/docs/llama-cpp.md). ### Added - Exposed the `outputPad` setting to custom message renderers. See [Extensions](https://github.com/earendil-works/pi/blob/v0.82.1/packages/coding-agent/docs/extensions.md) ([#7045](https://github.com/earendil-works/pi/pull/7045) by [@xl0](h

  3. v0.82.0v0.82.0Jul 24, 20263.7K downloads

    ### New Features - **Constrained tool sampling** — Tools can prefer or require strict JSON Schema sampling or use OpenAI Lark/regex grammars, with model capability metadata preventing unsupported requests. See [Constrained Sampling for Tools](https://github.com/earendil-works/pi/blob/v0.82.0/packages/ai/README.md#constrained-sampling-for-tools). - **OpenRouter and Kimi Code sign-in** — Use `/login` to authorize OpenRouter or a Kimi Code subscription without manually configuring API keys. See [OpenRouter](https://github.com/earendil-works/pi/blob/v0.82.0/packages/coding-agent/docs/providers.md#openrouter). - **Session-aware, streaming bash integrations** — Bash tools receive current session/model metadata, while direct RPC bash commands stream correlated output. See [Bash Tool Session Environment](https://github.com/earendil-works/pi/blob/v0.82.0/packages/coding-agent/docs/environment-variables.md#bash-tool-session-environment) and [RPC bash events](https://github.com/earendil-works/pi/blob/v0.82.0/packages/coding-agent/docs/rpc.md#bash_execution_update). ### Added - Added inherited `Tool.constrainedSampling` with strict JSON Schema (`prefer`/`require`) and OpenAI Lark/regex gram

  4. v0.81.1v0.81.1Jul 21, 20266.6K downloads

    ### New Features - **Verifiable release source archives** — GitHub releases now include deterministic, checksummed source archives with instructions for rebuilding standalone binaries. See [Building standalone binaries from release source](https://github.com/earendil-works/pi/blob/v0.81.1/README.md#building-standalone-binaries-from-release-source). - **Resilient compaction and branch summaries** — Transient provider failures now follow the configured retry policy, with retry lifecycle events available to interactive, JSON, RPC, and SDK consumers. See [Compaction & Branch Summarization](https://github.com/earendil-works/pi/blob/v0.81.1/packages/coding-agent/docs/compaction.md) and [RPC retry events](https://github.com/earendil-works/pi/blob/v0.81.1/packages/coding-agent/docs/rpc.md#summarization_retry_scheduled--summarization_retry_attempt_start--summarization_retry_finished). ### Added - Added deterministic, checksummed source archives to GitHub releases with documented standalone binary rebuild instructions ([#6913](https://github.com/earendil-works/pi/pull/6913) by [@christianklotz](https://github.com/christianklotz)). ### Fixed - Fixed compaction and branch summarization to

  5. v0.81.0v0.81.0Jul 21, 2026729 downloads

    ### New Features - **Local llama.cpp model management** — Connect to a llama.cpp router, search and download Hugging Face models, and explicitly load or unload models with live progress. See [llama.cpp](https://github.com/earendil-works/pi/blob/v0.81.0/packages/coding-agent/docs/llama-cpp.md). - **Full provider extensions** — Extensions can register complete pi-ai providers with authentication, model refresh, filtering, and custom streaming. See [Register New Provider](https://github.com/earendil-works/pi/blob/v0.81.0/packages/coding-agent/docs/custom-provider.md#register-new-provider). - **Qwen Token Plan providers** — Use the built-in international and China subscription providers with regional endpoints and API-key authentication. See [API Keys](https://github.com/earendil-works/pi/blob/v0.81.0/packages/coding-agent/docs/providers.md#api-keys). - **Expanded usage accounting** — Tool, compaction, and branch-summary usage is persisted and included in session totals. See [Compaction & Branch Summarization](https://github.com/earendil-works/pi/blob/v0.81.0/packages/coding-agent/docs/compaction.md). ### Added - Added Qwen Token Plan and Qwen Token Plan China to built-in provider s

Code frequency

additions and deletions
+56.3K-56.3KWeek of 2025-08-03: +15,463 linesWeek of 2025-08-03: -549 linesWeek of 2025-08-10: +9,027 linesWeek of 2025-08-10: -6,140 linesWeek of 2025-08-17: +8,034 linesWeek of 2025-08-17: -22 linesWeek of 2025-08-24: +25,144 linesWeek of 2025-08-24: -17,603 linesWeek of 2025-08-31: +12,151 linesWeek of 2025-08-31: -16,685 linesWeek of 2025-09-07: +2,431 linesWeek of 2025-09-07: -966 linesWeek of 2025-09-14: +2,933 linesWeek of 2025-09-14: -1,859 linesWeek of 2025-09-21: +0 linesWeek of 2025-09-21: -0 linesWeek of 2025-09-28: +21,753 linesWeek of 2025-09-28: -6,797 linesWeek of 2025-10-05: +21,970 linesWeek of 2025-10-05: -21,524 linesWeek of 2025-10-12: +12,449 linesWeek of 2025-10-12: -6,039 linesWeek of 2025-10-19: +876 linesWeek of 2025-10-19: -933 linesWeek of 2025-10-26: +2,399 linesWeek of 2025-10-26: -673 linesWeek of 2025-11-02: +0 linesWeek of 2025-11-02: -0 linesWeek of 2025-11-09: +22,454 linesWeek of 2025-11-09: -25,739 linesWeek of 2025-11-16: +14,722 linesWeek of 2025-11-16: -9,874 linesWeek of 2025-11-23: +13,706 linesWeek of 2025-11-23: -4,921 linesWeek of 2025-11-30: +13,956 linesWeek of 2025-11-30: -7,053 linesWeek of 2025-12-07: +56,289 linesWeek of 2025-12-07: -41,862 linesWeek of 2025-12-14: +32,979 linesWeek of 2025-12-14: -20,985 linesWeek of 2025-12-21: +33,521 linesWeek of 2025-12-21: -20,679 linesWeek of 2025-12-28: +46,952 linesWeek of 2025-12-28: -34,751 linesWeek of 2026-01-04: +35,013 linesWeek of 2026-01-04: -22,065 linesWeek of 2026-01-11: +40,467 linesWeek of 2026-01-11: -22,273 linesWeek of 2026-01-18: +21,598 linesWeek of 2026-01-18: -12,292 linesWeek of 2026-01-25: +19,158 linesWeek of 2026-01-25: -10,583 linesWeek of 2026-02-01: +16,325 linesWeek of 2026-02-01: -5,825 linesWeek of 2026-02-08: +3,101 linesWeek of 2026-02-08: -1,570 linesWeek of 2026-02-15: +2,452 linesWeek of 2026-02-15: -1,278 linesWeek of 2026-02-22: +4,453 linesWeek of 2026-02-22: -3,095 linesWeek of 2026-03-01: +8,957 linesWeek of 2026-03-01: -2,508 linesWeek of 2026-03-08: +7,746 linesWeek of 2026-03-08: -2,720 linesWeek of 2026-03-15: +9,645 linesWeek of 2026-03-15: -3,805 linesWeek of 2026-03-22: +9,343 linesWeek of 2026-03-22: -4,113 linesWeek of 2026-03-29: +11,958 linesWeek of 2026-03-29: -5,168 linesWeek of 2026-04-05: +2,043 linesWeek of 2026-04-05: -1,069 linesWeek of 2026-04-12: +11,314 linesWeek of 2026-04-12: -5,606 linesWeek of 2026-04-19: +16,282 linesWeek of 2026-04-19: -4,908 linesWeek of 2026-04-26: +16,494 linesWeek of 2026-04-26: -26,521 linesWeek of 2026-05-03: +23,054 linesWeek of 2026-05-03: -8,387 linesWeek of 2026-05-10: +9,623 linesWeek of 2026-05-10: -3,931 linesWeek of 2026-05-17: +16,195 linesWeek of 2026-05-17: -28,732 linesWeek of 2026-05-24: +10,334 linesWeek of 2026-05-24: -2,535 linesWeek of 2026-05-31: +5,115 linesWeek of 2026-05-31: -1,064 linesWeek of 2026-06-07: +39,682 linesWeek of 2026-06-07: -31,394 linesWeek of 2026-06-14: +11,633 linesWeek of 2026-06-14: -4,388 linesWeek of 2026-06-21: +10,957 linesWeek of 2026-06-21: -4,307 linesWeek of 2026-06-28: +3,087 linesWeek of 2026-06-28: -1,198 linesWeek of 2026-07-05: +7,773 linesWeek of 2026-07-05: -2,005 linesWeek of 2026-07-12: +19,909 linesWeek of 2026-07-12: -26,878 linesWeek of 2026-07-19: +20,618 linesWeek of 2026-07-19: -10,704 linesWeek of 2026-07-26: +1 linesWeek of 2026-07-26: -1 linesAug 3, 2025Jul 26, 2026
+783.5K lines added, -506.6K removed over the last year.

Commits per week

last 52 weeks
3740Week of 2025-08-10: 25 commitsWeek of 2025-08-17: 2 commitsWeek of 2025-08-24: 30 commitsWeek of 2025-08-31: 43 commitsWeek of 2025-09-07: 8 commitsWeek of 2025-09-14: 18 commitsWeek of 2025-09-21: 0 commitsWeek of 2025-09-28: 21 commitsWeek of 2025-10-05: 81 commitsWeek of 2025-10-12: 12 commitsWeek of 2025-10-19: 3 commitsWeek of 2025-10-26: 12 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 146 commitsWeek of 2025-11-16: 66 commitsWeek of 2025-11-23: 54 commitsWeek of 2025-11-30: 125 commitsWeek of 2025-12-07: 177 commitsWeek of 2025-12-14: 152 commitsWeek of 2025-12-21: 201 commitsWeek of 2025-12-28: 374 commitsWeek of 2026-01-04: 286 commitsWeek of 2026-01-11: 265 commitsWeek of 2026-01-18: 174 commitsWeek of 2026-01-25: 214 commitsWeek of 2026-02-01: 231 commitsWeek of 2026-02-08: 55 commitsWeek of 2026-02-15: 17 commitsWeek of 2026-02-22: 49 commitsWeek of 2026-03-01: 122 commitsWeek of 2026-03-08: 81 commitsWeek of 2026-03-15: 107 commitsWeek of 2026-03-22: 65 commitsWeek of 2026-03-29: 55 commitsWeek of 2026-04-05: 40 commitsWeek of 2026-04-12: 140 commitsWeek of 2026-04-19: 163 commitsWeek of 2026-04-26: 124 commitsWeek of 2026-05-03: 106 commitsWeek of 2026-05-10: 59 commitsWeek of 2026-05-17: 133 commitsWeek of 2026-05-24: 95 commitsWeek of 2026-05-31: 43 commitsWeek of 2026-06-07: 105 commitsWeek of 2026-06-14: 123 commitsWeek of 2026-06-21: 97 commitsWeek of 2026-06-28: 47 commitsWeek of 2026-07-05: 83 commitsWeek of 2026-07-12: 67 commitsWeek of 2026-07-19: 117 commitsWeek of 2026-07-26: 192 commitsWeek of 2026-08-02: 96 commitsAug 10, 2025Aug 2, 2026
5.1K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 45 commitsSun 1:00 — 25 commitsSun 2:00 — 24 commitsSun 3:00 — 11 commitsSun 4:00 — 6 commitsSun 5:00 — 1 commitsSun 6:00 — 1 commitsSun 7:00 — 1 commitsSun 8:00 — 4 commitsSun 9:00 — 14 commitsSun 10:00 — 10 commitsSun 11:00 — 29 commitsSun 12:00 — 18 commitsSun 13:00 — 26 commitsSun 14:00 — 22 commitsSun 15:00 — 10 commitsSun 16:00 — 19 commitsSun 17:00 — 30 commitsSun 18:00 — 34 commitsSun 19:00 — 30 commitsSun 20:00 — 48 commitsSun 21:00 — 51 commitsSun 22:00 — 44 commitsSun 23:00 — 52 commitsMon 0:00 — 83 commitsMon 1:00 — 42 commitsMon 2:00 — 38 commitsMon 3:00 — 15 commitsMon 4:00 — 2 commitsMon 5:00 — 1 commitsMon 6:00 — 5 commitsMon 7:00 — 6 commitsMon 8:00 — 19 commitsMon 9:00 — 15 commitsMon 10:00 — 24 commitsMon 11:00 — 25 commitsMon 12:00 — 31 commitsMon 13:00 — 28 commitsMon 14:00 — 32 commitsMon 15:00 — 47 commitsMon 16:00 — 55 commitsMon 17:00 — 47 commitsMon 18:00 — 41 commitsMon 19:00 — 37 commitsMon 20:00 — 43 commitsMon 21:00 — 47 commitsMon 22:00 — 51 commitsMon 23:00 — 50 commitsTue 0:00 — 79 commitsTue 1:00 — 44 commitsTue 2:00 — 18 commitsTue 3:00 — 13 commitsTue 4:00 — 8 commitsTue 5:00 — 2 commitsTue 6:00 — 6 commitsTue 7:00 — 8 commitsTue 8:00 — 6 commitsTue 9:00 — 21 commitsTue 10:00 — 15 commitsTue 11:00 — 21 commitsTue 12:00 — 47 commitsTue 13:00 — 50 commitsTue 14:00 — 43 commitsTue 15:00 — 46 commitsTue 16:00 — 22 commitsTue 17:00 — 34 commitsTue 18:00 — 32 commitsTue 19:00 — 24 commitsTue 20:00 — 41 commitsTue 21:00 — 45 commitsTue 22:00 — 40 commitsTue 23:00 — 90 commitsWed 0:00 — 51 commitsWed 1:00 — 41 commitsWed 2:00 — 36 commitsWed 3:00 — 9 commitsWed 4:00 — 7 commitsWed 5:00 — 2 commitsWed 6:00 — 3 commitsWed 7:00 — 5 commitsWed 8:00 — 7 commitsWed 9:00 — 25 commitsWed 10:00 — 22 commitsWed 11:00 — 18 commitsWed 12:00 — 53 commitsWed 13:00 — 52 commitsWed 14:00 — 49 commitsWed 15:00 — 27 commitsWed 16:00 — 48 commitsWed 17:00 — 20 commitsWed 18:00 — 44 commitsWed 19:00 — 10 commitsWed 20:00 — 41 commitsWed 21:00 — 42 commitsWed 22:00 — 56 commitsWed 23:00 — 73 commitsThu 0:00 — 37 commitsThu 1:00 — 41 commitsThu 2:00 — 37 commitsThu 3:00 — 28 commitsThu 4:00 — 16 commitsThu 5:00 — 14 commitsThu 6:00 — 3 commitsThu 7:00 — 9 commitsThu 8:00 — 4 commitsThu 9:00 — 11 commitsThu 10:00 — 33 commitsThu 11:00 — 32 commitsThu 12:00 — 47 commitsThu 13:00 — 40 commitsThu 14:00 — 21 commitsThu 15:00 — 35 commitsThu 16:00 — 28 commitsThu 17:00 — 33 commitsThu 18:00 — 37 commitsThu 19:00 — 27 commitsThu 20:00 — 78 commitsThu 21:00 — 81 commitsThu 22:00 — 83 commitsThu 23:00 — 94 commitsFri 0:00 — 96 commitsFri 1:00 — 50 commitsFri 2:00 — 28 commitsFri 3:00 — 25 commitsFri 4:00 — 21 commitsFri 5:00 — 15 commitsFri 6:00 — 7 commitsFri 7:00 — 17 commitsFri 8:00 — 4 commitsFri 9:00 — 19 commitsFri 10:00 — 38 commitsFri 11:00 — 41 commitsFri 12:00 — 36 commitsFri 13:00 — 23 commitsFri 14:00 — 13 commitsFri 15:00 — 24 commitsFri 16:00 — 33 commitsFri 17:00 — 40 commitsFri 18:00 — 23 commitsFri 19:00 — 30 commitsFri 20:00 — 47 commitsFri 21:00 — 44 commitsFri 22:00 — 59 commitsFri 23:00 — 66 commitsSat 0:00 — 48 commitsSat 1:00 — 58 commitsSat 2:00 — 25 commitsSat 3:00 — 28 commitsSat 4:00 — 16 commitsSat 5:00 — 9 commitsSat 6:00 — 7 commitsSat 7:00 — 2 commitsSat 8:00 — 5 commitsSat 9:00 — 14 commitsSat 10:00 — 12 commitsSat 11:00 — 18 commitsSat 12:00 — 19 commitsSat 13:00 — 24 commitsSat 14:00 — 28 commitsSat 15:00 — 16 commitsSat 16:00 — 43 commitsSat 17:00 — 13 commitsSat 18:00 — 17 commitsSat 19:00 — 24 commitsSat 20:00 — 29 commitsSat 21:00 — 54 commitsSat 22:00 — 52 commitsSat 23:00 — 54 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Aug 2, 2026weekly#13+4,571
Aug 1, 2026weekly#13+4,571
Jul 31, 2026weekly#12+4,799
Jul 30, 2026weekly#12+4,979
Jul 29, 2026weekly#8+5,244
Jul 28, 2026weekly#7+5,751
Jul 27, 2026weekly#5+5,389
Jul 24, 2026daily#12+4
Jul 23, 2026daily#7+8
Jul 21, 2026daily#7+6
Jul 18, 2026daily#21+3
May 29, 2026daily#25+35
May 28, 2026daily#24+36
May 27, 2026daily#18+47
May 26, 2026daily#18+55
  • freeCodeCamp/freeCodeCamp

    freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.

    453.6K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    385.5K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • anomalyco/opencode

    The open source coding agent.

    194.7K stars · TypeScript