{"slug": "yard-timekeeper-stop-yard-timestamp-churn-in-checked-in-docs", "title": "yard-timekeeper: Stop YARD Timestamp Churn in Checked-In Docs", "summary": "The article announces the release of yard-timekeeper v0.1.0, a RubyGem designed to eliminate timestamp-only churn in generated YARD HTML documentation that is checked into git repositories. The tool works by comparing newly generated HTML files against their git-tracked versions, restoring the original file from git if the only change is the footer timestamp, while leaving files with actual content changes untouched. This helps reduce unnecessary diffs and noise in pull requests, making it easier to identify meaningful documentation updates.", "body_md": "🕰️ I just released yard-timekeeper\nv0.1.0, a small RubyGem for Ruby projects that check generated YARD HTML into git.\nIt solves a very specific kind of documentation noise: timestamp-only churn.\nIf your project publishes generated YARD documentation from a checked-in docs/\ndirectory, you have probably seen this:\nThat is not a documentation change. It is build noise.\nFor projects that keep generated docs under version control, this creates unnecessary diffs, noisier pull requests, and extra review work. It also makes it harder to notice when documentation actually changed.\nyard-timekeeper\nDoes\nyard-timekeeper\nruns after YARD generates HTML and checks tracked files under docs/**/*.html\n.\nIf a file's only change is the generated footer timestamp, it restores that file from git.\nIf the page has real content changes, it leaves the file alone.\nThe goal is not to hide documentation changes. The goal is to remove timestamp-only churn while preserving the signal that matters.\ngem install yard-timekeeper\nOr add it with Bundler:\nbundle add yard-timekeeper\nThe supported workflow is through rake yard\n, so the post-process hook can run after YARD finishes.\nIn your Rakefile\nor documentation task setup:\nrequire \"yard/timekeeper\"\nYard::Timekeeper.install_rake_tasks!(:yard)\nThen generate docs with:\nbin/rake yard\nNo .yardopts\nplugin entry is required for this integration. If you were experimenting with --plugin timekeeper\n, remove it for this workflow and use the rake integration instead.\nyard-timekeeper\nis intentionally conservative:\ndocs/**/*.html\n.YARD_TIMEKEEPER_DISABLE=true\n.That means new documentation pages, deleted pages, and pages with real content edits remain visible to git.\nI maintain a lot of Ruby gems, and many of them publish YARD docs from checked-in HTML. I want documentation generation to be repeatable without filling commits with timestamp changes.\nSmall tooling like this is not glamorous, but it improves the daily maintenance loop. Cleaner diffs mean easier review. Easier review means fewer mistakes.\nyard-timekeeper\nv0.1.0 is available now.\n🕰️ May your docs be fresh, and your diffs quiet.", "url": "https://wpnews.pro/news/yard-timekeeper-stop-yard-timestamp-churn-in-checked-in-docs", "canonical_source": "https://dev.to/galtzo/yard-timekeeper-stop-yard-timestamp-churn-in-checked-in-docs-369o", "published_at": "2026-05-24 00:35:28+00:00", "updated_at": "2026-05-24 01:02:39.831540+00:00", "lang": "en", "topics": ["developer-tools", "open-source"], "entities": ["yard-timekeeper", "YARD", "RubyGem", "Bundler", "Rake"], "alternates": {"html": "https://wpnews.pro/news/yard-timekeeper-stop-yard-timestamp-churn-in-checked-in-docs", "markdown": "https://wpnews.pro/news/yard-timekeeper-stop-yard-timestamp-churn-in-checked-in-docs.md", "text": "https://wpnews.pro/news/yard-timekeeper-stop-yard-timestamp-churn-in-checked-in-docs.txt", "jsonld": "https://wpnews.pro/news/yard-timekeeper-stop-yard-timestamp-churn-in-checked-in-docs.jsonld"}}