config-file-versioning

Auto-version local config files in per-domain git repositories with throttled commits.

1|Updated Apr 28, 2026
One-click install
npx skills add https://github.com/dragon-fish/config-file-versioning --skill config-file-versioning
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: config-file-versioning
Source: https://github.com/dragon-fish/config-file-versioning/tree/main
Command: npx skills add https://github.com/dragon-fish/config-file-versioning --skill config-file-versioning

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill automates the versioning of small local config files to protect against silent overwrites by tools, installers, or other processes, enabling fast rollback.

Core Features & Use Cases

  • Per-domain isolated repos: each protected config domain gets its own git repository with a separate git-dir, ensuring clean histories and independent enablement.
  • OS-level watchers + throttling: uses macOS launchd or Linux systemd to trigger commits after changes with a safety throttle.
  • Whitelist-based ignore: a whitelist .gitignore ensures temporary/run-time files are not committed, keeping history focused on the actual config files.
  • Auto-commit workflow: automatically stages changes and commits only when detected content changes (ignoring mere mtime updates).

Quick Start

Follow the steps to configure a per-domain watch on your files and enable the throttled auto-commit workflow.

Frequently Asked Questions about config-file-versioning

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automatically version local config files to prevent silent overwrites?

This skill auto-versions local config files by setting up a per-domain git repository with a separate gitdir pointer, an OS-level watcher, and an auto-commit workflow that stages and records changes only when file content actually changes.

How do I set up automatic git commits for dotfiles on macOS or Linux?

Automatic git commits for dotfiles can be set up using OS-level watchers like macOS launchd or Linux systemd. The workflow includes a safety throttle to prevent excessive commits and only triggers when actual content changes are detected.

What is the best way to track dotfile changes without committing temporary runtime files?

Tracking dotfile changes without committing temporary runtime files is best achieved using a whitelist-based .gitignore. This ensures that only the actual config files are versioned, keeping the git history focused and clean.

Can I isolate git histories for different sets of local config files?

Yes, git histories can be isolated by enforcing a per-domain separate git repository for each protected config domain. This approach uses a separate git-dir pointer to ensure clean, independent histories and isolated enablement.

Why does my config file watcher trigger commits when only the modification time changes?

A proper config file watcher should ignore mere mtime updates and only record commits when detected content actually changes. This prevents cluttering the version history with empty or irrelevant commits during silent overwrites.

Do I need to manually manage git repositories to rollback local config changes?

No, manual git repository management is not needed to rollback local config changes. The auto-commit workflow handles staging and committing automatically, allowing you to instantly rollback to previous configurations when tools or installers overwrite files.