histomancer

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 6, 2026 License: GPL-3.0

README

Icon

Git Activity History Fabricator

Go Report Card Latest Release FOSS GPL-3.0 License
r/bilbilak Discord Bilbilak

📖 About Histomancer

Histomancer is a single-binary CLI that fabricates Git commit history to populate the contributions calendar on GitHub, GitLab, Gitea, and any platform that visualizes Git activity. It can backfill years of history in a single git fast-import pass, run unattended in CI as a daily tick command, and render a GitHub-style heatmap so you can preview the plan before committing or audit an existing repo's cadence.

📚 Documentation

For detailed information on Histomancer installation and usage instructions, please refer to the project's Wiki. The Wiki provides comprehensive guides and resources to help you get started with Histomancer and make the most out of its features. Additionally, you can find answers to the most frequently asked questions (FAQs) in the Wiki.

👥 Support

If you need assistance or have any questions regarding Histomancer, please refer to the Support Policy for information on how to get help. We also welcome suggestions and ideas for new features or improvements.

🤝 Contributing

We encourage contributions from the community to help improve Histomancer and keep the project moving forward. If you're interested in contributing, please refer to the Contribution Guide for guidelines on how to participate in this project.

⚖️ License

Copyright © 2021–2026 Bilbilak

Histomancer is distributed under the terms of the GNU General Public License version 3. Unless it is explicitly stated otherwise, any contribution intentionally submitted for inclusion in this project shall be licensed as GPLv3, without any additional terms or conditions.

🛡️ Trademark

The name of this project, Histomancer™, and its associated logo are subject to trademark rights. Despite the open-source nature of the project, these rights apply—even if the trademark is not registered. If you wish to reference this name or employ the associated branding elements, please refer to our Brand Guidelines.

Directories

Path Synopsis
cmd
histomancer command
internal
cli
config
Package config holds the build-time identity of the binary: version, commit SHA, and build date.
Package config holds the build-time identity of the binary: version, commit SHA, and build date.
doctor
Package doctor analyses an existing repository's commit history and reports per-weekday, per-hour, and per-day distributions — so users can sanity-check that fabricated activity looks plausibly human (or so they can audit a repo's actual cadence).
Package doctor analyses an existing repository's commit history and reports per-weekday, per-hour, and per-day distributions — so users can sanity-check that fabricated activity looks plausibly human (or so they can audit a repo's actual cadence).
engine
Package engine wires the planning, sampling, and streaming layers into a single Run function that the CLI subcommands (seed, tick) both call into.
Package engine wires the planning, sampling, and streaming layers into a single Run function that the CLI subcommands (seed, tick) both call into.
fastimport
Package fastimport encodes a git fast-import stream so histomancer can pipe many fabricated commits into a single `git fast-import` subprocess instead of paying the per-commit cost of spawning `git commit` for each one.
Package fastimport encodes a git fast-import stream so histomancer can pipe many fabricated commits into a single `git fast-import` subprocess instead of paying the per-commit cost of spawning `git commit` for each one.
gitio
Package gitio wraps the git CLI for the small set of operations histomancer actually needs: opening or initialising a repo, reading the branch tip and the file at it, running a fast-import stream against the repo, and pushing.
Package gitio wraps the git CLI for the small set of operations histomancer actually needs: opening or initialising a repo, reading the branch tip and the file at it, running a fast-import stream against the repo, and pushing.
preview
Package preview renders a GitHub-style contribution heatmap for a rolled schedule.Day plan, so users can sanity-check the shape of fabricated activity before committing.
Package preview renders a GitHub-style contribution heatmap for a rolled schedule.Day plan, so users can sanity-check the shape of fabricated activity before committing.
profile
Package profile defines the distribution presets that shape histomancer's per-day commit cadence, week-level burstiness, and time-of-day weighting.
Package profile defines the distribution presets that shape histomancer's per-day commit cadence, week-level burstiness, and time-of-day weighting.
schedule
Package schedule produces a per-day commit plan over a date range, applying a two-state Markov chain at the week level so that active and quiet streaks emerge naturally instead of independent per-day rolls.
Package schedule produces a per-day commit plan over a date range, applying a two-state Markov chain at the week level so that active and quiet streaks emerge naturally instead of independent per-day rolls.
timeofday
Package timeofday samples a wall-clock time within a given day, weighted by a configurable work-hours window.
Package timeofday samples a wall-clock time within a given day, weighted by a configurable work-hours window.
wizard
Package wizard provides the interactive surface that fires when histomancer is run without a subcommand on a TTY.
Package wizard provides the interactive surface that fires when histomancer is run without a subcommand on a TTY.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL