One-click install
npx skills add https://github.com/sethcarlton/dotfiles --skill dotfiles-sethcarlton
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotfiles
Source: https://github.com/sethcarlton/dotfiles/tree/main/.config/opencode/skills/dotfiles
Command: npx skills add https://github.com/sethcarlton/dotfiles --skill dotfiles-sethcarlton

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill solves the problem of manually tracking and syncing personal configuration files across devices by using a bare Git repository with $HOME as the working tree.

Core Features & Use Cases

  • Bare-repo management for personal dotfiles using a centralized, version-controlled home directory.
  • Seamless syncing across machines with standard Git workflows under the dot command alias.
  • Use Case: Set up a new machine and reproduce the exact environment by checking out tracked dotfiles.

Quick Start

Configure your environment by aliasing dot to git --git-dir="$HOME/.dotfiles" --work-tree="$HOME", initialize the bare repository, and checkout your dotfiles.

Frequently Asked Questions about dotfiles

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

FAQPage Schema
What is a bare Git repository and how does it manage dotfiles?

A bare Git repository manages dotfiles by using your $HOME directory as the working tree. You alias standard Git commands to a hidden .dotfiles directory, enabling version control without moving configuration files from their original locations.

How do I sync dotfiles across multiple machines using a bare repo?

Sync dotfiles across machines by pushing and pulling from your bare repository using standard Git workflows. Set up a new device by initializing the bare repo and checking out your tracked configuration files to reproduce the exact environment.

Can I use standard Git commands to track home configuration files with this approach?

You can use standard Git commands like add, commit, and checkout to track home configuration files. By aliasing the dot command to point at your bare .dotfiles repository, you manage personal configurations without learning new version-control workflows.

What's the best way to version control personal dotfiles without symlinks?

Using a bare Git repository is an effective way to version control dotfiles without symlinks. It treats your home directory as the working tree directly, eliminating the need for symlink farms or third-party management scripts.

Do I need any dependencies or external tools to set up a bare dotfiles repository?

You do not need any external tools or dependencies to set up a bare dotfiles repository. It relies entirely on standard Git commands and a shell alias, requiring only Git itself to initialize and manage your personal configuration files.

Why use a bare repository instead of a standard repo for machine synchronization?

Use a bare repository for machine synchronization to avoid cloning into your home directory. It tracks configuration files directly where they live, preventing Git from treating your entire home folder as an untracked directory inside a standard repository.