HKUDS/ViMaxPublic

"ViMax: Agentic Video Generation (Director, Screenwriter, Producer, and Video Generator All-in-One)"

AI summary: An all-in-one agentic video generation framework acting as director, screenwriter, and producer.

Stars
11.7K
+38 today
Forks
1.7K
Watchers
79
Open issues
30
Open PRs
14
Contributors
~15
Commits
392
Branches
2

PythonMITCreated Mar 30, 2025Last push 9d agoLatest release v1.2.0+145 stars this week+205 this month

Star history

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

Signals and awards

derived from tracked data
  • Widely adopted

    11,653 stars

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

What ViMax does

ViMax is a comprehensive AI system designed to automate the entire video production pipeline. Unlike standard text-to-video models that require precise prompting, ViMax uses an agentic workflow to handle high-level conceptualization. It acts as a screenwriter to develop a narrative, a director to plan shot compositions and transitions, and a producer to coordinate the actual video generation models. This multi-agent approach allows for the creation of coherent, multi-scene videos from a single, simple idea. It bridges the gap between raw generative models and actual storytelling.

AI researchers, content creators, and developers looking to build fully automated video production pipelines. Requires Python and experience with generative AI models.

  • Agentic Workflow: Utilizes distinct LLM personas (Director, Screenwriter) to plan video structure before generation.
  • Multi-Scene Coherence: Maintains narrative and visual consistency across complex, multi-shot video sequences.
  • Automated Prompt Engineering: Translates high-level story beats into the hyper-specific prompts required by video models.
  • Pipeline Orchestration: Seamlessly chains together text generation, image synthesis, and video rendering tools.
  • Dynamic Storyboarding: Generates intermediate visual plans that can be reviewed or adjusted before final rendering.
  • All-in-One Execution: Handles the entire process from a short text idea to a final mp4 output without human intervention.

Where teams use it

Automated Content Creation

Allows marketers to generate complete, narrative-driven promotional videos from a single product description.

Pre-visualization

Helps filmmakers rapidly prototype storyboards and animatics for complex scenes before shooting.

Educational Video Synthesis

Transforms dense text articles into engaging, multi-scene explainer videos.

Creative Prototyping

Enables artists to quickly test out narrative arcs and visual styles without manual prompting for every shot.

Getting started: python run_vimax.py --prompt 'A sci-fi story about a robot learning to paint'

README

main branch
ViMax Logo

ViMax: Agentic Video Generation

HKUDS%2FViMax | Trendshift HKUDS%2FViMax | Trendshift

MIT License ViMax v1.2.0


🚨 Current Video Generation Limitations:

  • Limited to Short Clips - Most AI tools generate only seconds of footage.
  • Consistency Chaos - Characters and scenes change unpredictably across frames.
  • Visual-Only Focus - Missing scripts, audio, narrative structure, and storytelling depth.

💡 ViMax Solution:

🎬 Director, Screenwriter, Producer, and Video Generator All-in-One! We're exploring a future where AI becomes a complete creative powerhouse. 💡 Simply input your concept. ViMax autonomously handles the rest. It orchestrates scriptwriting, storyboarding, character creation, and final video generation—all end-to-end. 🚀

vimax_demo.mp4

📰 News

  • 2026-07-20 🚀 ViMax v1.2.0 introduces the Web UI with named projects, Agent Loop conversations, artifact and storyboard previews, render checkpoints, file uploads, provider settings, and dark mode.
  • 2026-07-17 🎬 OpenRouter GPT Image 2 image generation and Seedance 2.0 Fast video generation support added.
  • 2026-06-28 🛠️ Agent Loop and TUI stability update: stronger LLM retries, persistent render status, landscape image guards, and Script2Video resume fixes.
  • 2026-06-09 📄 Technical report released.
  • 2026-06-08 🤖 Agents Loop + TUI workflow integrated for interactive planning, revision, rendering control, session reuse, and context compaction.
  • 2026-06-07 📖 Novel2Video workflow released.
  • 2026-06-01 🎬 Google Omni video generator support added.
  • 2026-03-23 ⚡ MiniMax chat model provider support added.

📑 Table of Contents


✨ Key Features

ViMax is an agentic video creation framework that connects narrative planning, visual consistency, image generation, video generation, and final assembly in one extensible workflow.

  • Idea2Video — turn a short concept into structured stories, characters, scripts, storyboards, shots, and a finished video.
  • Script2Video — convert an explicit screenplay into controllable multi-scene, multi-shot video while preserving its creative intent.
  • Novel2Video — adapt long-form fiction into episodic visual narratives with narrative compression, character tracking, and scene planning.
  • AutoCameo — place a person or pet from a reference photo into generated stories while maintaining a consistent appearance.
  • Agent Loop and TUI — discuss ideas, revise plans, resume sessions, review text artifacts, and control rendering from one interactive workspace.
  • Web UI — manage named projects, work with the ViMax Agent, upload source files, inspect artifacts and storyboard progress, preview renders, and configure providers from the browser.
  • Consistent production pipeline — coordinate references, first frames, camera continuity, and final assembly end to end.
  • Parallelized generation — generate compatible shots and media assets concurrently to accelerate multi-shot video production.

🔮Video Demos Generated from Scratch

f1.mp4
underwater.mp4
otter.mp4
carrier.mp4
vampire.mp4
skydiving.mp4
tree.mp4
cameo_skycastle.mp4
cameo_cat.mp4

🖥️ ViMax Web UI

ViMax Web UI workspace

The Web UI brings agent conversation, project artifacts, storyboard previews, and render progress into one visual workspace.


🎯 End-to-End Video Creation Engine

The Challenges:

  • 🌅 Reference Images: Time-consuming acquisition, organization, and alignment of reference frames that accurately capture characters, objects, positions, and environments.

  • 🫠 Consistency Check: Sometimes, the image generator may generate unusable images even if it is given the correct characters, position, environment reference image and prompts.

  • 📄 Scripts Generation: Professional and high-quality videos need to have rich information density and structured design.

  • 📝 Storyboard Design: Converting stories into visual narratives requires expertise in cinematography, scene composition, and visual storytelling that most creators lack.

  • 🎬 Shot Design: Creating coherent camera sequences with proper angles, transitions, and pacing while maintaining narrative flow across complex scenes.

  • 🎨 Development Delays: Ensuring character appearances, environments, and artistic style remain consistent across hundreds of shots in long-form content.

  • ⏱️ Production Efficiency: Traditional video creation involves multiple specialists and lengthy workflows, creating barriers for independent creators and rapid prototyping.

  • 🎥 Scaling AI Generated Video: AI-generated videos are usually only a few seconds long, high-quality long videos at the minute or even hour level require complex cross-scene continuity and multi-storyboards design and processing capabilities.

ViMAX: eliminates these production bottlenecks by automating the entire video creation pipeline from narrative input to final video output.


🔥 Why ViMax?

🧠 Effortless Production 🚀 Complete Creative Freedom 🔊 Audio and Video Binding 🎨 Professional Quality 🤩 Interactive Video
One-Prompt to Finished Video From Any Narrative to Reality Synchronized Storytelling Movie-Grade Output Make Your Own Cameo Video
Skip the technical complexity—just describe your vision and let ViMax handle script generation, storyboarding, shot design, reference management, and consistency validation No creative limits—whether it's a trailer, short story, novel chapter, or original concept, ViMax intelligently structures narratives and designs cinematography to bring any idea to life Seamlessly integrate character voice, and sound effects with visual content to create immersive experiences where audio and video work in perfect harmony Automated quality control ensures character consistency, proper scene composition, and professional visual standards across every frame of your video Interact in your own short stories by uploading your photo—ViMax intelligently integrates you as a character with consistent appearance and natural interactions throughout the entire video

ViMax now also includes an Agents Loop + TUI workflow for interactive planning, revision, rendering control, session reuse, and context compaction while preserving the original direct pipeline entrypoints.


☄️ Roadmap

  • ✅ 🖥️ Web frontend workspace with artifact, storyboard, and render previews
  • ✅ 🤖 Agent Loop + TUI interactive workflow
  • ✅ 🎬 Seedance 2.0 Fast video generator support
  • ✅ 🖼️ GPT Image 2 image generator support

🚀Quick Start

🖥️ Environment

OS: Linux, Windows

📥 Clone and Install

We use uv to manage the environment. For uv installation, please refer to the https://docs.astral.sh/uv/getting-started/installation/.

git clone https://github.com/HKUDS/ViMax.git
cd ViMax
uv sync
Agent TUI

ViMax also provides a minimal TUI for interactive agent-based video creation. Create a private local configuration from the tracked example first:

cp configs/agent.example.yaml configs/agent.local.yaml

Then configure the model and API key information in configs/agent.local.yaml, including the LLM, image generator, and video generator, as shown below.

llm:
  model_provider: openai
  model: <YOUR_LLM_MODEL>
  base_url: <YOUR_LLM_BASE_URL>
  api_key: <YOUR_API_KEY>

image:
  model: <YOUR_IMAGE_MODEL>
  base_url: <YOUR_IMAGE_BASE_URL>
  api_key: <YOUR_API_KEY>

video:
  model: <YOUR_VIDEO_MODEL>
  base_url: <YOUR_VIDEO_BASE_URL>
  api_key: <YOUR_API_KEY>

Then, start the TUI from the ViMax root directory:

vimax tui

Start a new session or resume an existing one:

vimax tui new
vimax tui resume
vimax tui resume <session_id>

You can also keep configs/agent.local.yaml empty and provide the same values through environment variables, such as VIMAX_LLM_API_KEY, VIMAX_IMAGE_API_KEY, and VIMAX_VIDEO_API_KEY.

Web UI

The Web UI uses the same ViMax agent runtime, sessions, tools, and private configs/agent.local.yaml configuration as the TUI. Node.js 18 or newer is required.

From the ViMax repository root, install the frontend dependencies once and start the local server:

cd web
npm install
npm run dev

Open http://127.0.0.1:4173 in your browser. The Web UI supports named projects, agent conversations, slash commands, artifact and render inspection, storyboard previews, file uploads, and provider settings.

The server binds to 127.0.0.1 by default. When ViMax runs on a remote machine, forward the port from your local computer:

ssh -N -L 4173:127.0.0.1:4173 <user>@<server>

Use VIMAX_WEB_PORT when another local port is required:

VIMAX_WEB_PORT=4174 npm run dev
Usage

main_idea2video.py is used to convert your ideas into videos. You need to configure the model and API key information in the configs/idea2video.yaml file, including three parts—the chat model, the image generator, and the video generator, as shown below

chat_model:
  init_args:
    model: google/gemini-2.5-flash-lite-preview-09-2025
    model_provider: openai
    api_key: <YOUR_API_KEY>
    base_url: https://openrouter.ai/api/v1

image_generator:
  class_path: tools.ImageGeneratorNanobananaGoogleAPI
  init_args:
    api_key: <YOUR_API_KEY>

video_generator:
  class_path: tools.VideoGeneratorVeoGoogleAPI
  init_args:
    api_key: <YOUR_API_KEY>

working_dir: .working_dir/idea2video

Then, provide a simple yet thoughtful idea and the corresponding creative requirements in main_idea2video.py.

idea = \
"""
If a cat and a dog are best friends, what would happen when they meet a new cat?
"""
user_requirement = \
"""
For children, do not exceed 3 scenes.
"""
style = "Cartoon"

main_script2video.py generates a video based on a specific script. You similarly need to set up the API configuration in configs/script2video.yaml file. Then, provide a scene script and the corresponding creative requirements in main_script2video.py, as shown below.

script = \
"""
EXT. SCHOOL GYM - DAY
A group of students are practicing basketball in the gym. The gym is large and open, with a basketball hoop at one end and a large crowd of spectators at the other end. John (18, male, tall, athletic) is the star player, and he is practicing his dribble and shot. Jane (17, female, short, athletic) is the assistant coach, and she is helping John with his practice. The other students are watching the practice and cheering for John.
John: (dribbling the ball) I'm going to score a basket!
Jane: (smiling) Good job, John!
John: (shooting the ball) Yes!
...
"""
user_requirement = \
"""
Fast-paced with no more than 20 shots.
"""
style = "Animate Style"
View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Releases and announcements

1 total
  1. ![ViMax Web UI](https://raw.githubusercontent.com/HKUDS/ViMax/v1.2.0/assets/vimax-web-ui.png) ## What's new ViMax v1.2.0 introduces a complete browser-based workspace on top of the existing Agent Loop, sessions, tools, and video pipelines. - Named projects with persistent Agent Loop sessions - Artifact browser with structured, non-JSON presentation - Storyboard previews and render checkpoint tracking - File uploads into the active project workspace - Provider settings for LLM, image, video, embedding, and reranker services - Light and dark themes - Existing TUI and direct Idea2Video, Script2Video, and Novel2Video entrypoints remain available ## Reliability and configuration - Improved adapter session handling and planning/render continuation - Local credentials now use the ignored `configs/agent.local.yaml`; the repository tracks only `configs/agent.example.yaml` - Removed host-specific runtime paths - Web server binds to `127.0.0.1` by default and is intended for local use or trusted SSH tunnels ## Validation - 184 Python tests passed - TUI tests and TypeScript checks passed - 32 Web UI tests passed - Production Web UI build passed - Production np

Commits per week

last 52 weeks
380Week of 2025-08-10: 7 commitsWeek of 2025-08-17: 1 commitsWeek of 2025-08-24: 11 commitsWeek of 2025-08-31: 10 commitsWeek of 2025-09-07: 0 commitsWeek of 2025-09-14: 0 commitsWeek of 2025-09-21: 9 commitsWeek of 2025-09-28: 6 commitsWeek of 2025-10-05: 3 commitsWeek of 2025-10-12: 1 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 38 commitsWeek of 2025-11-02: 8 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 2 commitsWeek of 2025-11-23: 1 commitsWeek of 2025-11-30: 1 commitsWeek of 2025-12-07: 10 commitsWeek of 2025-12-14: 2 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: 1 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 1 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: 2 commitsWeek of 2026-05-24: 2 commitsWeek of 2026-05-31: 2 commitsWeek of 2026-06-07: 11 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 1 commitsWeek of 2026-06-28: 4 commitsWeek of 2026-07-05: 1 commitsWeek of 2026-07-12: 25 commitsWeek of 2026-07-19: 1 commitsWeek of 2026-07-26: 1 commitsWeek of 2026-08-02: 0 commitsAug 10, 2025Aug 2, 2026
162 commits in the last 52 weeks.

When work happens

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