$ gitm --help

magitulator

// rewrite commit history with flexible time and author strategies.
// oxidized in rust. elegant like git itself.

zsh — gitm
[INFO] Analyzing repository structure...
[INFO] Reading config from config.toml...
[INFO] Distributing 847 commits across time window...
[DONE] Created mirror branch: main-gitm ✓
scroll for the good stuff
feat:what's in the box
commit a3f7c2d — core features

time rewriting

gitm mirror

Set a deadline, set a start. We distribute your commits across the time window like you actually worked on it.

author strategies

[authors] strategy

Persist original authors or redistribute across a team. Even distribution, weighted percentages — your call.

any git reference

<base> <target>

Branch names, commit hashes, tags, HEAD~3, main@{1 month ago}. If git understands it, we do too.

topology preservation

--preserve-merges

Merges stay merges. Branch structure stays intact. We rewrite history, not restructure it.

safe rollbacks

--rollback

Changed your mind? One command to undo. Mirror first, inspect, then apply. Or just rollback.

rust-powered

cargo run

Memory safe, blazingly fast. Years of history rewritten in seconds. The algorithm stays our secret.

@@ -reality,+magitulator @@

we don't ask questions. we rewrite answers.

commit c0ff33

hackathon survivors

- 48 hours. You started 6 hours ago.
+ Spread commits across the whole event. Looks like you were grinding from day one.
commit h1r3m3

green square enthusiasts

- "Show us your GitHub activity"
+ A year of consistent commits beats an empty profile. Just saying.
commit 9t05er

time zone magicians

- Two jobs. Both want 9-to-5 commits.
+ Distribute timestamps across working hours. Each repo tells a different story.
commit t34mup

team credit distributors

- Solo project, team deliverable.
+ Author redistribution with percentage weights. Alice 70%, Bob 30%. Done.
new file:config.toml

your rules, your history. TOML keeps it simple.

config.tomlTOML
# Time window for your "work"
start_time = "2024-01-01T00:00:00Z"
deadline   = "2024-12-31T23:59:59Z"

# Author strategy: "persist" or "team"
[authors]
strategy = "team"

[[authors.members]]
name  = "Alice"
email = "alice@example.com"

[[authors.members]]
name  = "Bob"
email = "bob@example.com"

# Distribution: "even" or "percentage"
[authors.distribution]
type = "percentage"

time window

Define when your "work" happened. All commits get redistributed across this window. Start optional, deadline required.

author strategies

persist keeps original authors. team redistributes across members with even or weighted distribution.

percentage weights

Need Alice to have 70% of commits? Bob 30%? The percentage distribution handles it. Team player vibes.

extensible architecture

More strategies coming. Random distributions, time-based rotation, skill-based assignment. The system's built for it.

$ git branch -a
*main— the roadmap
ACTIVE

CLI Service

origin/cli-service

You send us your repo config. We run gitm. You get oxidized history back. The algorithm stays our commercial secret.

rust core engine
mirror / apply / rewrite
dry-run & rollback
NEXT

GitHub Extension

origin/github-ext

Native GitHub integration. Not a browser extension — works directly with your branches on GitHub. Select, configure, rewrite.

branch-level rewrites
no clone needed
PR integration
FUTURE

Magitulator Cloud

origin/cloud

Git-compatible hosting built for magitulator. Visual history editor, GUI-first experience, seamless rewrites baked in.

hosted repos
visual editor
team features
HEAD -> main:cli service is invite-only during alpha. join the waitlist.
$ git remote add waitlist you@oxidized.dev

git push origin future

Early access to the CLI service. Priority beta for the GitHub extension. Founding member status for Magitulator Cloud. No spam, just oxidized updates.

$ git shortlog -sn --waitlist
2.4kqueued
847repos oxidized
timelines rewritten