|
|
|
ChangeTrace turns Git repositories into timeline files and lets you inspect them later.
It reads repository history, branch activity, merges, and other Git events, then turns them into a timeline you can export, inspect, and replay locally. Instead of digging through raw logs or switching between tools, you get one app that combines analysis with an OpenGL visualization layer.
Important
ChangeTrace keeps repository history, timeline data, and local auth in one place.
Warning
This is an early experimental version. The core workflow exists, but the codebase is still being stabilized.
Use it when you want a repeatable way to save repository history, check important moments, or use the same timeline in different views. It is made for local use, so the exported data, auth sessions, workspace state, and visual state stay on your machine.
The usual flow is simple:
- export a repository into a portable
.gittracefile - open that file later to inspect the timeline
- keep auth and workspace data local instead of depending on a remote service
ChangeTrace is currently in State 1.
This phase is about making the core code stable, keeping export and inspection smooth, and making sure the current behavior stays predictable.
See Project State for the full breakdown of the current phase and the next step. For artifact provenance and verification, see Publish Attested.
ChangeTrace analyzes repository history and produces a structured timeline that can be used for:
- commit and branch analysis
- timeline inspection
- debug and playback views
- workspace and organization management around traced repositories
ChangeTrace exposes a small set of entry points that cover export, inspection, authentication, and workspace management.
The main entry points are export, show, auth, org, and workspace.
Typical usage:
./changetrace export https://github.com/user/repo -o timeline.gittrace
./changetrace show timeline.gittrace
./changetrace auth login github
./changetrace auth list
./changetrace auth logout github
./changetrace org list --provider github
./changetrace workspace list --org acmeFor local development, replace ./changetrace with dotnet run --.
The repository is split into a few clear layers:
src/Corecontains the event model, rules, and shared processingsrc/Configurationcontains app settings, converters, and service discovery helperssrc/GItreads repositories, builds timelines, and enriches datasrc/CredentialTracehandles auth, sessions, and local storagesrc/Renderingbuilds the timeline scene and statesrc/Graphicsowns the rendering runtime, shaders, and GPU helperssrc/Playerhandles timeline playback flow and speed controlsrc/Cliwires commands to handlersToolscontains repository utilities and asset maintenance scripts
ChangeTrace stores local auth data under the user profile:
- On Unix like systems the data lives under
~/.changetrace/. - On Windows it uses the equivalent user profile directory.
auth.jsoncontains session metadata and encrypted tokens.auth.keycontains the local key used by the token store.
This protects against accidental plaintext exposure in auth.json, but it is not a full operating-system keychain. A process running as the same user can still read both files.
This project is licensed under the MIT License. See LICENSE.
Please read and follow the Code of Conduct.
For vulnerability reporting, see Security Policy.
ChangeTrace is built for local repository analysis and repeatable timeline workflows.