Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsMay 27, 2026·3 min de lecture

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.

Prêt pour agents

Installation agent prête

Cet actif peut être installé après choix du runtime, vérification du plan et exécution de la commande adaptée.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
Gource
Commande d'installation directe
npx -y tokrepo@latest install c6a700aa-59a5-11f1-9bc6-00163e2b0d79 --target codex

À exécuter après confirmation du plan en 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

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires