๐ Sync your Claude Code environment across machines via GitHub
โโโโโโโโโโ โโโโโโโโโโโ โโโโโโโ โโโ โโโโโโโ
โโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโ โโโโโโโโโโโ
โโโ โโโ โโโโโโโโ โโโโโโโ โโโโโโ โโโโโโ
โโโ โโโ โโโโโโโโ โโโโโ โโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโ โโโ โโโ โโโโโ โโโโโโโ
- Features
- Installation
- Quick Start
- CLI Reference
- Interactive Mode
- MCP Server
- Architecture
- Workflows
- License
| Feature | Description |
|---|---|
| ๐ GitHub Sync | Share and sync Claude Code settings via GitHub repositories |
| ๐ฆ Multi-Repo Support | Pull from multiple repositories and manage them independently |
| ๐ค Stage & Apply | Stage settings locally, apply them anywhere |
| ๐ฏ Full Extension Support | Manage Skills, Agents, and Output Styles |
| ๐ Promote / Demote | Move settings between project and user scope |
| ๐ MCP Integration | Native Claude Code integration via MCP Server |
| Feature | Description |
|---|---|
| ๐ฅ๏ธ Interactive Mode | User-friendly menu when running clsync without arguments |
| ๐ Status Dashboard | View staging area status and pulled repositories |
| ๐ Repository Browser | Browse GitHub repositories before pulling |
| ๐ Scope Comparison | Compare user and project settings side-by-side |
| ๐ก Smart Hints | Helpful error messages with suggestions |
| ๐ Responsive UI | Adapts to terminal window size |
| Feature | Description |
|---|---|
| ๐ Create Settings | Create skills, subagents, output styles via AI |
| ๐ Read Settings | Read and list existing settings |
| ๐ Sync Operations | Pull, apply, promote, demote via MCP tools |
| ๐ Documentation Sync | Sync external documentation to Claude context |
npm install -g clsyncclsync init# Browse a repository
clsync browse owner/repo
# Pull to local cache
clsync pull owner/repo
# Apply all to your ~/.claude
clsync apply --all -s owner/repo -u# Stage your settings
clsync stage --all -u
# Export with metadata
clsync export ./my-settings -a "Your Name" -d "My Claude settings"
# Push to GitHub
cd my-settings && git init && git add . && git push| Command | Description |
|---|---|
clsync |
Start interactive mode |
clsync init |
Initialize ~/.clsync directory |
clsync status |
Show staging area status |
clsync --help |
Show help with ASCII banner |
clsync --version |
Show version |
| Command | Description |
|---|---|
clsync stage [name] |
Stage item to ~/.clsync/local |
clsync stage --all -u |
Stage all from ~/.claude |
clsync stage --all -p |
Stage all from .claude |
clsync unstage <name> |
Remove from staging |
clsync list |
List staged items |
| Command | Description |
|---|---|
clsync apply [name] |
Apply from local staging |
clsync apply [name] -s owner/repo |
Apply from pulled repo |
clsync apply --all -s owner/repo -u |
Apply all to ~/.claude |
clsync apply --all -s owner/repo -p |
Apply all to .claude |
clsync apply [name] -d /path |
Apply to custom directory |
| Command | Description |
|---|---|
clsync pull <owner/repo> |
Pull from GitHub |
clsync pull <owner/repo> -f |
Force overwrite |
clsync browse <owner/repo> |
Browse repo contents |
clsync repos |
List pulled repositories |
clsync list <owner/repo> |
List items in a repo |
| Command | Description |
|---|---|
clsync scopes |
Compare user and project settings |
clsync promote <name> |
Move: .claude โ ~/.claude |
clsync promote <name> -f |
Force overwrite |
clsync promote <name> -r <new> |
Rename to avoid conflict |
clsync demote <name> |
Move: ~/.claude โ .claude |
| Command | Description |
|---|---|
clsync export <dir> |
Export staging to directory |
clsync export <dir> -a "Author" |
With author name |
clsync export <dir> -d "Desc" |
With description |
| Command | Description |
|---|---|
clsync sync |
Sync documentation from config |
clsync sync -u |
Sync to user level |
clsync sync -f |
Force overwrite |
clsync sync -d |
Dry run (preview) |
Run clsync without arguments to enter interactive mode:
โโโโโโโโโโ โโโโโโโโโโโ โโโโโโโ โโโ โโโโโโโ
โโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโ โโโโโโโโโโโ
...
๐ฆ Local: 0 items | ๐ Repos: 2
? What would you like to do?
1) ๐ View status
2) ๐ฆ Browse pulled repositories
3) ๐ฅ Apply items from repo
4) ๐ Pull new repository
5) ๐ Compare scopes (user vs project)
6) โ Help
7) ๐ Exit
Features:
- Browse and apply items with number selection
- Multi-select items to apply
- Pull new repositories interactively
- Compare scopes visually
claude mcp add clsync --transport stdio -- npx -y clsync-mcp| Tool | Description |
|---|---|
sync_docs |
Sync documentation from configured sources |
list_docs |
List synced documentation files |
read_doc |
Read a documentation file |
| Tool | Description |
|---|---|
create_skill |
Create a new skill with SKILL.md |
create_subagent |
Create a new subagent |
create_output_style |
Create a new output style |
| Tool | Description |
|---|---|
list_skills |
List skills (user/project/both) |
read_skill |
Read skill content |
list_subagents |
List subagents |
read_subagent |
Read subagent content |
list_output_styles |
List output styles |
| Tool | Description |
|---|---|
pull_settings |
Pull from GitHub repository |
browse_repo |
Browse repository contents |
apply_setting |
Apply setting from staging |
list_staged |
List staged items |
list_repos |
List pulled repositories |
| Tool | Description |
|---|---|
promote_setting |
Move project โ user |
demote_setting |
Move user โ project |
compare_scopes |
Compare user and project settings |
~/.claude/ โโ
โโโ skills/ โ
โโโ agents/ โ stage โโโโโโโโโโโโโโโ
โโโ output-styles/ โโโโโโโโโโโโบ ~/.clsync โโโโโโบ GitHub
โ โโโ local/ Repos
.claude/ (project) โโค โโโ repos/
โโโ skills/ โ โโโ owner/repo/
โโโ ... โโโโโ apply โโโโโ
~/.clsync/
โโโ manifest.json # Metadata and repo tracking
โโโ local/ # Your staged items
โ โโโ skills/
โ โโโ agents/
โ โโโ output-styles/
โโโ repos/ # Pulled repositories
โโโ owner1/repo1/
โ โโโ clsync.json # Repo metadata
โ โโโ skills/
โ โโโ agents/
โโโ owner2/repo2/
{
"$schema": "https://clsync.dev/schema/v1.json",
"version": "0.2.0",
"name": "my-settings",
"description": "My Claude Code settings",
"author": "username",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"items": [
{ "type": "skill", "name": "commit-msg", "path": "skills/commit-msg" }
],
"stats": {
"skills": 1,
"agents": 0,
"output_styles": 0,
"total": 1
}
}Machine A (export):
clsync stage --all -u
clsync export ./my-settings -a "Me"
cd my-settings && git pushMachine B (import):
clsync pull user/my-settings
clsync apply --all -s user/my-settings -u# Team lead exports
clsync stage --all -u
clsync export ./team-settings -a "Team" -d "Shared team settings"
# Team members import
clsync pull team/settings
clsync apply --all -s team/settings -uclsync pull user1/awesome-skills
clsync pull user2/productivity-agents
clsync repos # View all
clsync apply code-reviewer -s user2/productivity-agents -u# View both scopes
clsync scopes
# Promote project setting to user (make global)
clsync promote my-skill
# Demote user setting to project (make local)
clsync demote my-agentPull requests and issues welcome!
MIT ยฉ 2026 workromancer
