Use when user asks about version controlling ~/.claude directory or syncing Claude Code settings across machines...
Use this skill when users want to version control their ~/.claude directory to sync settings across machines.
The ~/.claude directory contains both portable settings and machine-specific data. Not everything should be version controlled.
CLAUDE.md - Global instructionssettings.json - User preferences (only contains enabled plugin names)plugins/installed_plugins.json - Contains absolute paths and timestampsplugins/known_marketplaces.json - Contains absolute paths and timestampsplugins/config.json - Machine-specific configurationplugins/marketplaces/ and plugins/repos/ - Downloaded plugin datadebug/, file-history/, history.jsonl - Logs and session data (may contain sensitive info)projects/, session-env/, shell-snapshots/, todos/ - Session-specific cachestatsig/ - Analytics cacheThe plugin metadata files contain:
/Users/username/...)These files are automatically regenerated by Claude Code when plugins are installed. You don't need to preserve them.
# Session data and logs
debug/
file-history/
history.jsonl
session-env/
shell-snapshots/
todos/
# Project-specific cache
projects/
# Analytics and telemetry
statsig/
# Plugin metadata (machine-specific paths and timestamps)
plugins/installed_plugins.json
plugins/known_marketplaces.json
plugins/config.json
plugins/marketplaces/
plugins/repos/
# Any log files
*.log
# Temporary files
*.tmp
*.swp
*~
# OS-specific files
.DS_Store
Thumbs.db
~/.claude directory to understand what's there.gitignore with the template abovePLUGINS.md to document which plugins to install:# Installed Plugins
## Marketplaces
- **marketplace-name**: `https://github.com/user/repo`
## Plugins
From `marketplace-name`:
- `plugin-name` - Brief description
## Installation on New Machine
1. Clone/install marketplaces listed above
2. Use Claude Code to install plugins
3. Copy `settings.json` and `CLAUDE.md` from this repo
README.md explaining what the repo contains and setup processgit initgit status - should only show safe filesOn a new machine:
~/.claudePLUGINS.mdAfter creating .gitignore:
git status to see what will be tracked.gitignore, CLAUDE.md, settings.json, and any docs you createdIf plugin metadata appears in git status, the .gitignore is incorrect.
plugins/ directoryhistory.jsonl (contains conversation history, potentially sensitive)Trigger this skill when users:
~/.claude