strukto-ai/miragePublic

The World's First Unified Virtual Filesystem For AI Agents

AI summary: A unified virtual file system for AI agents built with TypeScript and Python.

Stars
3.4K
+5 today
Forks
249
Watchers
9
Open issues
123
Open PRs
7
Contributors
~26
Commits
1.2K
Branches
22

TypeScriptApache-2.0Created May 6, 2026Last push 1d agoLatest release v0.0.4+16 stars this week+16 this month

Star history

since May 3, 2026
01K2K3KMay 2026Jun 2026Jul 2026Aug 2026
3.4K stars as of Aug 6, 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
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-03: 0 commits2025-08-04: 0 commits2025-08-05: 0 commits2025-08-06: 0 commits2025-08-07: 0 commits2025-08-08: 0 commits2025-08-09: 0 commits2025-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: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 4 commits2026-05-07: 25 commits2026-05-08: 19 commits2026-05-09: 32 commits2026-05-10: 4 commits2026-05-11: 8 commits2026-05-12: 9 commits2026-05-13: 3 commits2026-05-14: 4 commits2026-05-15: 5 commits2026-05-16: 1 commit2026-05-17: 6 commits2026-05-18: 1 commit2026-05-19: 4 commits2026-05-20: 0 commits2026-05-21: 7 commits2026-05-22: 1 commit2026-05-23: 1 commit2026-05-24: 4 commits2026-05-25: 7 commits2026-05-26: 3 commits2026-05-27: 6 commits2026-05-28: 6 commits2026-05-29: 3 commits2026-05-30: 2 commits2026-05-31: 11 commits2026-06-01: 5 commits2026-06-02: 1 commit2026-06-03: 2 commits2026-06-04: 13 commits2026-06-05: 18 commits2026-06-06: 11 commits2026-06-07: 19 commits2026-06-08: 32 commits2026-06-09: 79 commits2026-06-10: 89 commits2026-06-11: 48 commits2026-06-12: 13 commits2026-06-13: 26 commits2026-06-14: 14 commits2026-06-15: 37 commits2026-06-16: 17 commits2026-06-17: 17 commits2026-06-18: 3 commits2026-06-19: 23 commits2026-06-20: 5 commits2026-06-21: 11 commits2026-06-22: 6 commits2026-06-23: 19 commits2026-06-24: 15 commits2026-06-25: 12 commits2026-06-26: 4 commits2026-06-27: 10 commits2026-06-28: 24 commits2026-06-29: 14 commits2026-06-30: 8 commits2026-07-01: 2 commits2026-07-02: 17 commits2026-07-03: 5 commits2026-07-04: 1 commit2026-07-05: 2 commits2026-07-06: 0 commits2026-07-07: 8 commits2026-07-08: 9 commits2026-07-09: 10 commits2026-07-10: 24 commits2026-07-11: 9 commits2026-07-12: 11 commits2026-07-13: 17 commits2026-07-14: 18 commits2026-07-15: 6 commits2026-07-16: 11 commits2026-07-17: 18 commits2026-07-18: 17 commits2026-07-19: 14 commits2026-07-20: 14 commits2026-07-21: 12 commits2026-07-22: 8 commits2026-07-23: 8 commits2026-07-24: 6 commits2026-07-25: 7 commits2026-07-26: 5 commits2026-07-27: 2 commits2026-07-28: 4 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits
1,036 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Breakout launch

    3,385 stars in 93 days

  • Very active

    1,036 commits in 52 weeks

  • Permissive license

    Apache-2.0

  • Continuous integration

    Automated checks passing

What mirage does

Mirage is a unified Virtual File System designed to connect AI agents with real-world infrastructure seamlessly. It acts as an abstraction layer where different data sources can be mounted. These sources could be local file systems, cloud storage, or external APIs. The unified layer allows AI agents to interact with all integrated storage backends via standard file system operations. It works across environments like Python, TypeScript, and bash.

AI engineers and researchers building agentic workflows who need a consistent and unified storage abstraction layer for their models. Prerequisites include familiarity with Python or TypeScript and agent frameworks.

  • Unified Interface: Provides a single virtual file system interface across diverse storage backends.
  • Multi-Language Support: Available in both TypeScript and Python, enabling integration with various agent architectures.
  • Extensibility: Connects with different backend types to pull data dynamically.
  • VFS Abstraction: Standardizes I/O operations for AI agents.
  • Agent Tooling: Acts as a generic component that can be injected into LangChain or OpenAI agents.

Where teams use it

AI Agent Prototyping

Use the VFS to quickly give Claude or OpenAI agents access to local and remote data sources during prototyping.

Standardized I/O

Ensure that different agents interact with data the same way by routing their I/O through Mirage.

Multi-Source Knowledge Access

Mount multiple disparate documentation folders or cloud buckets into a single agent filesystem.

Secure Sandboxing

Restrict agents to a specific virtual filesystem to prevent unintended changes to the host OS.

Getting started: See documentation at https://docs.mirage.strukto.ai

README

main branch

Mirage: A Unified Virtual File System for AI Agents


Python docs
TypeScript docs

README in English 简体中文 README 繁體中文 README README en Français README Tiếng Việt README 한국어

Mirage is a Unified Virtual File System for AI Agents: it mounts services and data sources like S3, Google Drive, Slack, Gmail, and Redis side-by-side as one filesystem. Any LLM that already knows bash can read, grep, and pipe across every backend out of the box, with zero new vocabulary.

const ws = new Workspace({
  '/data':  new RAMResource(),
  '/s3':    new S3Resource({ bucket: 'logs' }),
  '/slack': new SlackResource({ token: process.env.SLACK_BOT_TOKEN! }),
})

await ws.execute('grep -r alert /slack/channels/general__C04QX/ | wc -l')
await ws.execute('cp /s3/report.csv /data/local.csv')
await ws.execute('wc -l $(find /s3/data -name "*.jsonl")')

// Commands are extensible: register new commands, or override one per
// resource + filetype. Mirage ships no filetype renderers, so a format
// like Parquet renders however you register it.
ws.command('summarize', ...)
ws.command('cat', { resource: 's3', filetype: 'parquet' }, ...)

await ws.execute('summarize /data/local.csv')
await ws.execute('cat /s3/events/2026-05-06.parquet | jq .user')

About

  • One interface instead of N SDKs and M MCPs. Every service speaks the same filesystem semantics, and pipelines compose across services as naturally as on a local disk.
  • Around 50 built-in backends: RAM, Disk, Redis, S3 / R2 / OCI / Supabase / GCS, Gmail / GDrive / GDocs / GSheets / GSlides, GitHub / Linear / Notion / Trello, Slack / Discord / Email, MongoDB / GridFS / Postgres / LanceDB / Qdrant, SSH, and more, mounted side-by-side under a single root.
  • Portable workspaces: clone, snapshot, and version a workspace; agent runs move between machines without restarting or reconfiguring the system.
  • Embeddable: the Python and TypeScript SDKs run in-process inside FastAPI, Express, browser apps, or any async runtime; no separate process required.
  • Agent integrations: OpenAI Agents SDK, Vercel AI SDK, LangChain, Pydantic AI, CAMEL, and OpenHands via the SDKs; coding agents through native adapters, installable plugins, MCP, or FUSE.

Architecture

Mirage architecture: AI Agent and Application → Mirage Bash and VFS → Dispatcher & Cache → Infrastructure and Remote

Installation

  • Python ≥ 3.11 for the mirage-ai package and the mirage CLI
  • Node.js ≥ 20 for the TypeScript SDK
  • macOS or Linux (FUSE-based mounts require platform support)

Python

uv add mirage-ai    # installs the `mirage` library and the `mirage` CLI binary

TypeScript

npm install @struktoai/mirage-node      # Node.js servers and CLIs
npm install @struktoai/mirage-browser   # browser / edge runtimes
npm install @struktoai/mirage-agents    # OpenAI / Vercel AI / LangChain / Mastra adapters

Both runtime packages pull in @struktoai/mirage-core automatically.

CLI

curl -fsSL https://strukto.ai/mirage/install.sh | sh
# or
npm install -g @struktoai/mirage-cli
# or
uvx mirage-ai
# or
npx @struktoai/mirage-cli

Quickstart

Python

from mirage import Workspace
from mirage.resource.ram import RAMResource
from mirage.resource.s3 import S3Config, S3Resource

ws = Workspace({
    "/data": RAMResource(),
    "/s3":   S3Resource(S3Config(bucket="my-bucket")),
})

await ws.execute("cp /s3/report.csv /data/report.csv")
await ws.execute("grep alert /s3/data/log.jsonl | wc -l")

await ws.snapshot("demo.tar")

TypeScript

import { Workspace, RAMResource, S3Resource } from '@struktoai/mirage-node'

const ws = new Workspace({
  '/data': new RAMResource(),
  '/s3':   new S3Resource({ bucket: 'my-bucket' }),
})

await ws.execute('cp /s3/report.csv /data/report.csv')
await ws.execute('grep alert /s3/data/log.jsonl | wc -l')

await ws.snapshot('demo.tar')

CLI

mirage workspace create ws.yaml --id demo
mirage execute   --workspace_id demo --command "cp /s3/report.csv /data/report.csv"
mirage provision --workspace_id demo --command "cat /s3/data/large.jsonl"
mirage workspace snapshot demo demo.tar
mirage workspace load demo.tar --id demo-restored

Agent Frameworks

Mirage plugs into agent frameworks as a sandbox or tool layer. POSIX operations such as read can also be customized per resource and filetype, e.g. reading a PDF returns parsed pages instead of raw bytes.

Integrations
Python OpenAI Agents SDK, LangChain, Pydantic AI, CAMEL, OpenHands, Agno
TypeScript Vercel AI SDK, OpenAI Agents SDK, LangChain, Mastra
Coding agents Claude Code, Codex, Grok Build, OpenCode, Pi

Cache

Every Workspace has a two-layer cache so repeated work against remote backends hits local state instead of the network:

  • Index cache: listings and metadata. The first directory walk hits the API; later ones serve from the index until the TTL expires (default 10 minutes).
  • File cache: object bytes. The first read streams from origin; later pipelines read from cache (default 512 MB).

Both layers default to in-process RAM with zero setup. A Redis store shares cache state across workers, processes, and machines:

import { RedisFileCacheStore, S3Resource, Workspace } from '@struktoai/mirage-node'

const ws = new Workspace(
  { '/s3': new S3Resource({ bucket: 'my-bucket' }) },
  {
    cache: new RedisFileCacheStore({ url: 'redis://localhost:6379/0', cacheLimit: '8GB' }),
    index: { type: 'redis', url: 'redis://localhost:6379/0', ttl: 600 },
  },
)

See the cache docs for the full miss/hit lifecycle.

Contributors

Thanks to everyone who has contributed to Mirage.

Mirage contributors
View on GitHub

Recent activity

commits and pull requests

Releases and announcements

4 total
  1. Mirage 0.0.4v0.0.4Jul 23, 2026

    We are excited to announce the release of Mirage 0.0.4 🎉🎉🎉 Mirage 0.0.4 is an architecture and depth release. Path addressing becomes a real namespace layer with first-class symlinks and attribute overlays that survive restarts; the control plane moves onto pluggable state stores (RAM, disk, Redis, S3) with CAS-guarded writes; the shell grows GNU-grade bash semantics (arithmetic, control flow, brace expansion, `printf`, `getopts`, parameter expansion); commands can be run by pluggable runtimes that read and write workspace mounts; and eight new or rebuilt backends land. Python is mypy-clean and TypeScript is tsc-clean, both enforced as CI gates. Python and TypeScript are kept mirrored throughout. `pip install mirage-ai==0.0.4` · `npm install @struktoai/mirage-core@0.0.4` (and `-node`, `-browser`, `-server`, `-cli`, `-agents`) ## Highlights - **The namespace is a real addressing layer.** A `Namespace` facade consolidates mount resolution, symlink following, and attribute overlays behind one surface, and the Workspace routes dispatch, `apply_io`, and post-write invalidation through it instead of holding a dispatcher directly (#420, #424, #426). Symlinks are first-class namespa

  2. Mirage 0.0.3v0.0.3Jun 30, 2026

    We are excited to announce the release of Mirage 0.0.3 🎉🎉🎉 Mirage 0.0.3 is a large parity and platform release. It lands a GNU-aligned shell environment (`history`, `cwd`/env, subshell isolation), a unified command factory shared across every backend, cache read-through with warm serving, the Claude Agent SDK integration, and four new/upgraded backends (SharePoint, Qdrant, OneDrive parity, MongoDB on PyMongo Async). Python and TypeScript are kept mirrored throughout. `pip install mirage-ai==0.0.3` · `npm install @struktoai/mirage-core@0.0.3` (and `-node`, `-browser`, `-server`, `-cli`, `-agents`) ## Highlights - **GNU `history` subsystem (Python + TypeScript).** A hidden `Observer` records every top-level command as timestamp-ordered events; `/.bash_history` is a read-only view in GNU histfile format and the `history` shell builtin (`-c -d -a -n -r -w -s -p` + count) routes through the same mount, so the file and the builtin never disagree. History is captured into snapshots and restored on load. (#313) - **Claude Agent SDK integration.** `MirageServer` + `build_options` wire a Mirage workspace into the Claude Agent SDK as a tool surface, mirrored in both languages with Pyth

  3. v0.0.2v0.0.2Jun 15, 2026

    Release v0.0.2. TypeScript (npm, @struktoai/*) at 0.0.2: - mirage-core, mirage-node, mirage-browser, mirage-server, mirage-agents, mirage-cli Python (PyPI, mirage-ai) at 0.0.3a0 (alpha). Notable: the CLI now reports its real package version instead of a hardcoded 0.0.0.

  4. The first public release of **Mirage** — a unified virtual filesystem for AI agents. Mount S3, Google Drive, Slack, Gmail, GitHub, Linear, Notion, Postgres, MongoDB, SSH, and more behind one filesystem so agents read, write, and pipe across services with familiar shell commands. ## What's included - **Python SDK** — [`mirage-ai` on PyPI](https://pypi.org/project/mirage-ai/0.0.1/) - **TypeScript SDKs** — `@struktoai/mirage-{core,node,browser,agents,cli,server}` (npm publish forthcoming) - **CLI + daemon** — `uvx mirage-ai` or `uv tool install mirage-ai` - **FUSE mounts** — expose any workspace as a real filesystem (macOS / Linux) - **Agent integrations** — OpenAI Agents SDK, Vercel AI SDK, LangChain (deepagents), Pydantic AI, CAMEL, OpenHands, Mastra, Pi Coding Agent - **CLI agent integrations** — Claude Code and Codex via FUSE - **Documentation** — https://docs.mirage.strukto.ai ## Install ```bash # Python (library + CLI) uv add mirage-ai # Or run the CLI directly uvx mirage-ai ``` ## Quickstart ```python from mirage import MountMode, Workspace from mirage.resource.ram import RAMResource ws = Workspace({"/data": RAMResource()}, mode=MountMode.

Code frequency

additions and deletions
+553.7K-553.7KWeek of 2026-05-03: +553,722 linesWeek of 2026-05-03: -33,059 linesWeek of 2026-05-10: +14,522 linesWeek of 2026-05-10: -3,783 linesWeek of 2026-05-17: +58,388 linesWeek of 2026-05-17: -48,038 linesWeek of 2026-05-24: +55,631 linesWeek of 2026-05-24: -45,008 linesWeek of 2026-05-31: +26,072 linesWeek of 2026-05-31: -15,594 linesWeek of 2026-06-07: +82,832 linesWeek of 2026-06-07: -83,652 linesWeek of 2026-06-14: +27,487 linesWeek of 2026-06-14: -7,385 linesWeek of 2026-06-21: +26,078 linesWeek of 2026-06-21: -64,150 linesWeek of 2026-06-28: +29,099 linesWeek of 2026-06-28: -41,962 linesWeek of 2026-07-05: +30,374 linesWeek of 2026-07-05: -11,780 linesWeek of 2026-07-12: +130,749 linesWeek of 2026-07-12: -58,434 linesWeek of 2026-07-19: +204,864 linesWeek of 2026-07-19: -75,906 linesWeek of 2026-07-26: +43,260 linesWeek of 2026-07-26: -27,241 linesMay 3, 2026Jul 26, 2026
+1.3M lines added, -516K removed over the last year.

Commits per week

last 52 weeks
3060Week of 2025-08-03: 0 commitsWeek 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: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 80 commitsWeek of 2026-05-10: 34 commitsWeek of 2026-05-17: 20 commitsWeek of 2026-05-24: 31 commitsWeek of 2026-05-31: 61 commitsWeek of 2026-06-07: 306 commitsWeek of 2026-06-14: 116 commitsWeek of 2026-06-21: 77 commitsWeek of 2026-06-28: 71 commitsWeek of 2026-07-05: 62 commitsWeek of 2026-07-12: 98 commitsWeek of 2026-07-19: 69 commitsWeek of 2026-07-26: 11 commitsAug 3, 2025Jul 26, 2026
1K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 7 commitsSun 1:00 — 8 commitsSun 2:00 — 6 commitsSun 3:00 — 6 commitsSun 4:00 — 9 commitsSun 5:00 — 10 commitsSun 6:00 — 7 commitsSun 7:00 — 3 commitsSun 8:00 — 4 commitsSun 9:00 — 1 commitsSun 10:00 — 3 commitsSun 11:00 — 0 commitsSun 12:00 — 3 commitsSun 13:00 — 0 commitsSun 14:00 — 2 commitsSun 15:00 — 4 commitsSun 16:00 — 6 commitsSun 17:00 — 1 commitsSun 18:00 — 5 commitsSun 19:00 — 5 commitsSun 20:00 — 5 commitsSun 21:00 — 9 commitsSun 22:00 — 14 commitsSun 23:00 — 7 commitsMon 0:00 — 9 commitsMon 1:00 — 12 commitsMon 2:00 — 7 commitsMon 3:00 — 6 commitsMon 4:00 — 9 commitsMon 5:00 — 1 commitsMon 6:00 — 3 commitsMon 7:00 — 1 commitsMon 8:00 — 0 commitsMon 9:00 — 3 commitsMon 10:00 — 3 commitsMon 11:00 — 4 commitsMon 12:00 — 2 commitsMon 13:00 — 5 commitsMon 14:00 — 5 commitsMon 15:00 — 13 commitsMon 16:00 — 21 commitsMon 17:00 — 7 commitsMon 18:00 — 9 commitsMon 19:00 — 4 commitsMon 20:00 — 7 commitsMon 21:00 — 3 commitsMon 22:00 — 7 commitsMon 23:00 — 2 commitsTue 0:00 — 2 commitsTue 1:00 — 12 commitsTue 2:00 — 5 commitsTue 3:00 — 10 commitsTue 4:00 — 9 commitsTue 5:00 — 9 commitsTue 6:00 — 3 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 0 commitsTue 10:00 — 1 commitsTue 11:00 — 1 commitsTue 12:00 — 1 commitsTue 13:00 — 4 commitsTue 14:00 — 8 commitsTue 15:00 — 16 commitsTue 16:00 — 9 commitsTue 17:00 — 16 commitsTue 18:00 — 8 commitsTue 19:00 — 12 commitsTue 20:00 — 5 commitsTue 21:00 — 14 commitsTue 22:00 — 21 commitsTue 23:00 — 16 commitsWed 0:00 — 13 commitsWed 1:00 — 5 commitsWed 2:00 — 9 commitsWed 3:00 — 30 commitsWed 4:00 — 16 commitsWed 5:00 — 6 commitsWed 6:00 — 1 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 1 commitsWed 10:00 — 1 commitsWed 11:00 — 2 commitsWed 12:00 — 1 commitsWed 13:00 — 5 commitsWed 14:00 — 6 commitsWed 15:00 — 14 commitsWed 16:00 — 13 commitsWed 17:00 — 2 commitsWed 18:00 — 8 commitsWed 19:00 — 3 commitsWed 20:00 — 9 commitsWed 21:00 — 4 commitsWed 22:00 — 9 commitsWed 23:00 — 3 commitsThu 0:00 — 11 commitsThu 1:00 — 6 commitsThu 2:00 — 6 commitsThu 3:00 — 8 commitsThu 4:00 — 10 commitsThu 5:00 — 4 commitsThu 6:00 — 3 commitsThu 7:00 — 4 commitsThu 8:00 — 2 commitsThu 9:00 — 4 commitsThu 10:00 — 1 commitsThu 11:00 — 3 commitsThu 12:00 — 4 commitsThu 13:00 — 6 commitsThu 14:00 — 7 commitsThu 15:00 — 6 commitsThu 16:00 — 9 commitsThu 17:00 — 12 commitsThu 18:00 — 6 commitsThu 19:00 — 10 commitsThu 20:00 — 4 commitsThu 21:00 — 10 commitsThu 22:00 — 15 commitsThu 23:00 — 13 commitsFri 0:00 — 14 commitsFri 1:00 — 6 commitsFri 2:00 — 10 commitsFri 3:00 — 7 commitsFri 4:00 — 21 commitsFri 5:00 — 6 commitsFri 6:00 — 7 commitsFri 7:00 — 1 commitsFri 8:00 — 3 commitsFri 9:00 — 2 commitsFri 10:00 — 0 commitsFri 11:00 — 3 commitsFri 12:00 — 3 commitsFri 13:00 — 7 commitsFri 14:00 — 5 commitsFri 15:00 — 9 commitsFri 16:00 — 6 commitsFri 17:00 — 7 commitsFri 18:00 — 7 commitsFri 19:00 — 5 commitsFri 20:00 — 2 commitsFri 21:00 — 1 commitsFri 22:00 — 3 commitsFri 23:00 — 4 commitsSat 0:00 — 3 commitsSat 1:00 — 5 commitsSat 2:00 — 2 commitsSat 3:00 — 11 commitsSat 4:00 — 4 commitsSat 5:00 — 3 commitsSat 6:00 — 1 commitsSat 7:00 — 0 commitsSat 8:00 — 2 commitsSat 9:00 — 5 commitsSat 10:00 — 1 commitsSat 11:00 — 3 commitsSat 12:00 — 3 commitsSat 13:00 — 0 commitsSat 14:00 — 6 commitsSat 15:00 — 10 commitsSat 16:00 — 21 commitsSat 17:00 — 11 commitsSat 18:00 — 5 commitsSat 19:00 — 4 commitsSat 20:00 — 7 commitsSat 21:00 — 2 commitsSat 22:00 — 7 commitsSat 23:00 — 6 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
May 7, 2026daily#13+66
  • 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

  • donnemartin/system-design-primer

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

    362.2K stars · Python