dot-agent
Profile-based configuration manager for AI agents (Claude Code, etc.)
Overview
dot-agent manages reusable configuration profiles for AI coding assistants. Create profiles with skills, commands, rules, and instructions, then install them to any project.
Installation
# CLI only
# With GUI
Quick Start
# Create a new profile
# List profiles
# Install to a project
# Check status
# Upgrade to latest
# Show differences
# Remove from project
Profile Structure
~/.dot-agent/profiles/my-profile/
├── CLAUDE.md # Main instructions
├── skills/ # Skill definitions
├── commands/ # Custom commands
├── rules/ # Project rules
└── agents/ # Agent configurations
Commands
| Command | Description |
|---|---|
profile add <name> |
Create a new profile |
profile list |
List all profiles |
profile remove <name> |
Delete a profile |
profile import <source> |
Import from directory or git URL |
profile snapshot <action> |
Manage profile snapshots |
install -p <profile> [target] |
Install profile to target |
upgrade -p <profile> [target] |
Update installed files |
diff -p <profile> [target] |
Show differences |
remove -p <profile> [target] |
Remove installed files |
status [target] |
Show installation status |
switch -p <profile> [target] |
Switch to a different profile (prompts on conflict) |
snapshot <action> |
Manage target snapshots |
completions <shell> |
Generate shell completions |
Switching Profiles
switch replaces one installed profile with another while preserving your local modifications.
# Switch to a different profile (interactive conflict resolution)
# Switch and overwrite all conflicts without prompting
When local files differ from the profile, switch displays each conflict and prompts:
CONFLICT: rules/my-profile-testing.md
[k] keep local [o] overwrite with profile [a] abort
k— keep your local version (file is not overwritten)o— overwrite with the incoming profile versiona— abort the entire switch operation
With --force, all conflicts are automatically overwritten without prompting.
A snapshot is saved automatically before the switch so you can restore if needed.
Options
--global/-g: Use~/.claudeas target--force/-f: Overwrite conflicts without prompting (used withinstall,upgrade,switch)--dry-run/-d: Preview without changes--no-prefix: Don't add profile prefix to filenames--gui: Launch GUI (requiresguifeature)
Import from Git
# Import entire repository
# Import subdirectory
# Import specific branch
File Prefixing
By default, installed files are prefixed with the profile name to avoid conflicts:
rules/testing.md→rules/my-profile-testing.mdskills/tdd/SKILL.md→skills/my-profile-tdd/SKILL.md
Use --no-prefix to disable this behavior.
Snapshots
Snapshots allow you to save and restore states of both profiles (source) and installed targets.
Profile Snapshots
Save/restore profile source directories:
# Save current state
# List snapshots
# Show changes since snapshot
# Restore to previous state
# Delete old snapshots, keep recent 5
Target Snapshots
Save/restore installed configurations:
# Save current installation state
# List snapshots
# Show changes since snapshot
# Restore to previous state
# Prune old snapshots
Snapshots are automatically created before switch operations.
Crates
dot-agent-cli: CLI binary and optional GUIdot-agent-core: Core library for profile management
License
MIT