DanMcInerney/architect-loopPublic

Super optimized /goal loop. Massive token savings and higher quality. Smart model designs and reviews, cheaper model builds..

AI summary: Autonomous software factory orchestrating multi-agent system design.

Stars
619
+-1 today
Forks
54
Watchers
0
Open issues
1
Open PRs
1
Contributors
~2
Commits
584
Branches
6

PythonMITCreated Jun 12, 2026Last push 29d ago+1 stars this week+1 this month

Star history

since Jun 7, 2026
0200400600Jun 2026Jun 2026Jul 2026Aug 2026
619 stars as of Aug 6, 2026, tracked back to Jun 7, 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: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 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: 9 commits2026-06-12: 14 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: 4 commits2026-07-02: 90 commits2026-07-03: 48 commits2026-07-04: 76 commits2026-07-05: 75 commits2026-07-06: 88 commits2026-07-07: 18 commits2026-07-08: 3 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 commits
425 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Outside contributions

    90% of recent commits from the community

  • Permissive license

    MIT

What architect-loop does

Architect Loop is an autonomous framework that orchestrates multi-agent workflows for software design and architecture. It uses a combination of strategist, builder, and critic agents working through deterministic gates to independently research topics, design architectures, and ship code without requiring continuous human approval. Distinctively, it relies on strict stage-skill libraries (like adversarial-review and frozen-checks) and writes its outputs to a local markdown issue tracker or single shipping PR.

Senior engineers, architects, and AI researchers experimenting with fully autonomous, multi-agent development pipelines. Requires advanced familiarity with CLI tools and LLMs.

  • Multi-Agent Orchestration: Coordinates distinct strategist, builder, and adversarial review agents in a single loop.
  • Deterministic Gates: Progresses through stages (to-spec, tdd, integrate) using strict criteria rather than probabilistic guessing.
  • Local Issue Tracking: Manages task state entirely via local markdown files in a `docs/issues/` directory without needing GitHub.
  • Watchdog Process: Detects stalled agents, repeated commands, or blocked tool calls to prevent runaway loops.
  • Universal Installer: Shares the same skill tree across both Anthropic Claude and OpenAI Codex setups.

Where teams use it

Automated System Design

Developers use `/architect` to outline a high-level feature request and let the agents build the specification over several hours.

Adversarial Code Review

Teams utilize the internal `adversarial-review` stage to rigorously test generated logic against edge cases before integration.

Fast Feature Shipping

Engineers run `/architect-fast` to push a small, well-defined bug fix through a streamlined autonomous lane.

Research Brief Generation

Product managers use `/architect-research` to have the agent network explore a new technical topic and write an answer-first report.

Getting started: git clone https://github.com/DanMcInerney/architect-loop && ./install.sh

README

main branch

architect-loop

An autonomous software factory for Codex and Claude: one orchestrator, fresh-context strategist and builder agents, deterministic gates, and a single shipping PR or local finish record — no approval gates, timed rulings all the way down.

Usage

/architect-research <topic>
/architect <hours+ feature/product request>
/architect-fast <small change>
  • /architect-research explores a topic and writes an answer-first report.
  • /architect-fast ships a small, bounded change through the light lane.
  • /architect runs the full multi-hour factory. State the goal, then let it work.

Installation

git clone https://github.com/DanMcInerney/architect-loop
cd architect-loop && ./install.sh        # Windows: .\install.ps1
npm i -g @openai/codex@latest            # optional builder backend

The installer copies the same skills/ tree to Claude and Codex skill locations. Use ./install.sh --project or .\install.ps1 -Project to install into the current repo instead of your user profile.

What Changed Recently

  • The loop is now a small stage-skill library: codebase-design, to-spec, adversarial-review, to-issues, frozen-checks, tdd, final-review, and integrate.
  • Run identity is pinned by docs/runs/<run>/manifest.md; status commands take a run slug and no longer discover "the current run" by scanning issues.
  • GitHub and markdown tracker modes share the same state machine. Markdown issues live in docs/issues/<run>/ and need no GitHub remote.
  • The closing final-review is read-only. It returns REVIEW: GREEN or a review spec plus fix issues; fix issues build through the same builder wave.
  • CLI jobs now run through run-job.ps1|.sh, which owns heartbeat, exit truth, stdout events, stderr logs, sandbox temp/cache redirects, and kill scope.
  • The watchdog is typed evidence only. It detects stalls, repeated commands, blocked tool calls, orphaned wrappers, failed exits, and legacy unwrapped jobs; the orchestrator still decides.
  • kill-job.ps1|.sh is the explicit reaping action for stuck wrapped jobs.
  • The check-runner preserves head, tail, and pytest summaries, and can emit progress events for killed or interrupted RUN items.
  • Postflight can defer locked worktree cleanup; sweep-deferred.ps1|.sh <run> clears run-scoped debris before final close.

Design

The current session is the orchestrator. It grounds the repo, dispatches fresh agents, rules on typed evidence, owns commits, and posts the digest. A configurable strategist subagent handles full-lane design and review work; fresh builders implement exactly one issue each in isolated worktrees and report raw evidence only. See DESIGN.md for the evidence trail and CONTEXT.md for the vocabulary.

/architect

architect flow

  • Intake feeds the goal straight to a fresh strategist that drafts the spec; open questions become timed rulings that auto-default into recorded assumptions. There is no human approval gate anywhere — the human steers by editing the spec, commenting rulings, or docs/STOP.
  • One fresh harden strategist attacks the draft, folds surviving findings into a revised spec, decomposes it into file-disjoint vertical-slice issues, drafts frozen checks, and stress-tests its own decomposition.
  • The orchestrator publishes the spec and issues to the tracker and owns the freeze commit. Checks freeze in git before any builder exists.
  • The run manifest pins the tracking issue, tracker mode, factory branch, and spec path; every issue carries a run marker.
  • Builders run in fresh worktrees. They must state execution conflicts before coding, must not commit, and must end with one raw STATUS: line.
  • Wrapped CLI jobs write job.meta.json, job.heartbeat, job.exit.json, events.jsonl, and stderr.log; exit truth outranks terminal-looking report text. Postflight refuses to merge CLI job work without that wrapper exit truth — unwrapped work cannot merge.
  • The OS sandbox is deliberately weak (danger-full-access): builders may use the network and the wider filesystem. The real boundaries are the postflight touch-set audit, the never-commit ban, and read-only frozen checks.
  • The watchdog reports typed evidence only. It never kills, nudges, or grades. Stuck jobs are reaped with kill-job.ps1|.sh and respawned from durable issue context.
  • The check-runner grades frozen RUN items with fixed expectations. Postflight audits touched files, merges green jobs, and records deferred cleanup if a worktree cannot be removed immediately.
  • At finish the orchestrator runs the closing test pass — builder-built suites plus every frozen RUN item — and feeds the raw output into the final review: one fresh, read-only strategist pass over the whole run. Findings become fix issues and draft checks for a fix wave; zero findings short-circuit to integrate.
  • integrate is a builder-model stage whose first step is the docs pass. It consumes the change-context digest, updates product docs, verifies the closing state, sweeps deferred cleanup, and prepares the PR or markdown finish record.

/architect-fast

architect-fast flow

  • Same front door and tracker semantics as /architect, but capped at at most three builder issues and roughly 400 changed lines.
  • No strategist subagents, no adversarial review, no frozen checks, no per-issue check-runner, and no watchdog script. Issue-body acceptance criteria, builder-run tests, and the closing builder review carry the gate.
  • Each job records its dispatch-head SHA; that SHA is the postflight diff base in place of a freeze SHA.
  • One per-wave timed fallback wake replaces watchdog monitoring.
  • After all issues merge, the orchestrator runs the full test suite and hands the output to one fresh builder subagent that reviews code, cohesion, and tests, records its findings as one fix issue, and fixes them in its worktree; the orchestrator merges, records the verdict and diffstat, then dispatches integrate.
  • If the work exceeds the size ceiling, the lane stops and recommends /architect.

/architect-research

research flow

  • A scout maps brainstorm-scale topics before lanes are designed; quick fact-finds skip the scout.
  • The orchestrator designs research lanes along the topic's real fault lines.
  • Researchers gather in parallel under hard budgets and return compact findings tied to numbered sources.
  • The draft is marked SUPPORTED / THIN / EMPTY. Thin or empty sections trigger up to two targeted gap rounds.
  • Verification checks load-bearing claims against raw sources, including falsification searches, before one author writes the report.

Config

Optional config lives at .architect/config or ~/.architect/config (repo wins; unknown keys warn and do not fail).

strategist = claude/best       # Fable-class design/review subagents
builders = codex/best          # GPT-5.5 xhigh builders; Fast pins when available
tracker = markdown             # local issue files; omit for GitHub mode
when broad ambiguous refactor -> codex/best:xhigh  # optional builder route

Role strings are <cli>/<model-spec>[:<effort>], with <cli> claude or codex. best and tier-down resolve per family. The orchestrator is always the session you opened, never a config key.

Default full-lane routing uses claude/best for strategist stages and codex/best for builders. If a configured CLI is missing, the loop records the substitution on the tracker instead of silently changing behavior. Codex builders under ChatGPT auth use Fast-mode pins when available; API-key auth drops those pins with a recorded substitution.

Tracker Modes

tracker = github needs a GitHub remote, authenticated gh >= 2.94.0, and push access. Sub-issues use native parent and blocked-by edges.

tracker = markdown needs only a git repo. Issues are git-tracked markdown files in docs/issues/<run>/, with the same parent/blocker semantics, comments, states, and status tree. The run finishes with a ready factory branch and merge instructions instead of an auto-opened PR unless the in-session human directs otherwise.

Run Artifacts

Versioned run inputs live under docs/spec/, docs/checks/<run>/, and, in markdown mode, docs/issues/<run>/.

Local run bookkeeping is gitignored: manifests under docs/runs/<run>/, job reports and check evidence under docs/jobs/<run>/, wrapper files under .architect/jobs/<run>/, builder worktrees under .architect/wt/<run>/, and temporary sandbox/cache paths under .architect/tmp/.

Status is scripted. By default it renders the README-style workflow map with live stage glyphs and builder cards; pass --compact / -Compact for the legacy line tree:

skills/architect/status.sh <run> [--compact]
skills\architect\status.ps1 <run> [-Compact]

Stage-only progress that cannot be inferred from tracker or job artifacts can be recorded in local docs/runs/<run>/status-events.jsonl breadcrumbs.

An empty docs/STOP file halts every run at the next dispatch boundary. An empty docs/runs/<run>/STOP halts only that run.

Validation

uv run --no-project python tests/validate_skills.py

The validator checks skill trigger hygiene, sibling-file pointers, README and DESIGN links, fenced code blocks, runner contracts, wrapper/watchdog fixtures, and the shipped architectural invariants.

License

MIT

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Commits per week

last 52 weeks
2180Week 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: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 23 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 218 commitsWeek of 2026-07-05: 184 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 0 commitsAug 3, 2025Jul 26, 2026
425 commits in the last 52 weeks.

When work happens

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

Who is committing

last 52 weeks
Maintainer commits59 (10%)
Community commits525 (90%)

584 commits in total over the last year.

DateListRankStars gained
Jun 13, 2026daily#21+32