Scripts2026年5月27日·1 分钟阅读

Gource — Animated Software Version Control Visualization

An open-source tool that renders animated visualizations of version control repository history, showing files, directories, and contributors as a real-time tree that grows and evolves over time.

Agent 就绪

Agent 可直接安装

这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
Gource
直接安装命令
npx -y tokrepo@latest install c6a700aa-59a5-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run 确认安装计划,再运行此命令。

Introduction

Gource creates animated visualizations of version control repositories. It reads commit history from Git, Mercurial, SVN, or custom log formats and renders a real-time tree where files orbit around directory nodes and contributors appear as avatars making changes. The result is a compelling visual timeline of how a codebase evolved, useful for presentations, retrospectives, and project documentation.

What Gource Does

  • Renders an animated tree visualization of repository file structure over time
  • Shows contributors as named avatars interacting with files they modified
  • Supports Git, Mercurial, SVN, Bazaar, and custom log formats
  • Exports frames to a video pipeline for recording MP4, WebM, or GIF output
  • Handles repositories with thousands of files and years of history

Architecture Overview

Gource reads the VCS log (or a custom-format log file) and sorts events chronologically. It uses OpenGL to render a force-directed graph where directories are nodes and files are leaf elements connected by branches. Each commit event triggers an animation: the committer's avatar moves to the affected file, the file pulses, and new files bloom into the tree. A camera system automatically zooms and pans to follow activity. The renderer outputs to screen or emits raw PPM frames that can be piped to ffmpeg for video encoding.

Self-Hosting & Configuration

  • Install via package manager: apt install gource, brew install gource, or choco install gource
  • Run gource inside any Git repository for an instant visualization
  • Set resolution and framerate: gource -1920x1080 --seconds-per-day 0.5
  • Customize user avatars by placing images in a directory and using --user-image-dir
  • Use --hide flags to toggle visibility of filenames, dirnames, users, or the progress bar

Key Features

  • Real-time OpenGL rendering with smooth animations and a force-directed layout
  • Multi-repository support by merging logs from separate projects into one visualization
  • Customizable speed, colors, bloom effects, date range, and file filtering
  • Avatar support for showing contributor photos alongside their names
  • Caption and title overlay support for annotating the timeline with milestones

Comparison with Similar Tools

  • git log --graph — text-based branch graph; Gource produces a full animated spatial visualization
  • GitHub contribution graph — shows commit frequency per day; Gource shows file-level changes and contributors spatially
  • GitStats — generates static HTML reports with charts; Gource creates an animated video
  • Codeflower — static circular visualization of a codebase; Gource adds the time dimension with animation
  • Hercules (src-d) — analyzes code ownership statistically; Gource focuses on visual storytelling

FAQ

Q: Can Gource handle very large repositories? A: Yes, though repositories with millions of files may need filtering. Use --file-filter and --max-files to limit scope.

Q: How do I export a video? A: Pipe Gource output to ffmpeg: gource -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 output.mp4.

Q: Does it support monorepos with multiple projects? A: Yes. You can use --path filters or merge custom logs from separate directories to show multiple projects in one view.

Q: Can I customize which files or users appear? A: Yes. Use --file-filter, --user-filter, and --hide to control visibility.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产