Share team configs,
keep secrets personal
Sync shared team configurations across your organization with automatic symlink management. Team configs seamlessly integrate with tools like Claude Code, while personal dotfiles stay encrypted.
Perfect for growing teams
One tool, two sync repositories
Team Repository
Shared, read-only configurations for everyone
# Company aliases
alias deploy='./scripts/deploy.sh'
alias logs='kubectl logs -f' Personal Repository
Private, encrypted, always takes priority
# Source team configs first
source ~/.tether/team-sync/team.zshrc
# Personal settings override How team sync works
Three roles, automatic detection
Team Admin Creates Repo
# Admin creates team repo
$ mkdir team-configs && cd team-configs
# Add team dotfiles
$ cat > team.zshrc << 'EOF'
$ alias deploy='./deploy.sh'
$ alias logs='kubectl logs -f'
$ EOF
$ git init && git push
$ Admin pushes shared configs to private team repository
Members Add Team Sync
# Add team repository
$ tether team add git@github.com:co/configs
# Tether detects permissions
✓ Read-only access detected
✓ Team sync configured
# Auto-injects source line
$ Added to ~/.zshrc:
$ source ~/.tether/team-sync/team.zshrc
$ Tether auto-detects Git permissions and configures accordingly
Syncs Automatically
# Regular sync pulls both repos
$ tether sync
ℹ Pulling latest changes...
✓ Personal configs synced
ℹ Pulling team configs...
✓ Team configs updated
✓ Sync complete!
$ Team configs update automatically across all members
Automatic symlink management
Team configs seamlessly integrate with your tools
How Symlinks Work
Team configs are cloned to ~/.tether/team-sync/ and Tether automatically creates symlinks for individual files and subdirectories into the locations your tools expect. Your existing directories like ~/.claude/ are NOT replaced—team items are symlinked alongside your personal files.
Team Repository Structure
$ team-configs/
├── dotfiles/team.zshrc
└── .claude/skills/
├── code-review/
└── team-testing/
$ After Team Sync
~/.claude/skills/
├── my-skill/ # Personal
├── code-review → # Team symlink
└── team-testing → # Team symlink
$ Perfect for Team Tools
Use symlinks to share configurations for development tools across your team:
Claude Code Skills
Share custom AI workflows
~/.claude/ VS Code Settings
Team editor configurations
~/.vscode/ Tool Configs
Any config directory
~/.config/ Individual Item Symlinks
Tether symlinks individual files and subdirectories from the team repository into your existing directories. This means your personal items and team items coexist in the same parent directory.
Existing Directories Preserved
Your ~/.claude/ directory already exists and remains unchanged
Team Items Added Inside
Team repository has .claude/skills/code-review/, so Tether symlinks just that subdirectory into ~/.claude/skills/
Personal & Team Coexist
Your ~/.claude/skills/ now contains both your personal skills AND the symlinked team skills
Key Point: Tether never replaces entire directories like ~/.claude/. It only adds symlinks for individual items from the team repository into your existing directory structure.
Example: Sharing Claude Code Skills
Before Team Sync (Personal Setup)
# User already has personal skills
~/.claude/
└── skills/
└── personal-skill/
└── my-workflow.md
$ Team Admin Creates Repository
# Create team repository
$ mkdir team-configs
$ cd team-configs
# Add Claude Code skills
$ mkdir -p config-dirs/.claude/skills/code-review
$ mkdir -p config-dirs/.claude/skills/team-testing
# Create team skills
$ cat > config-dirs/.claude/skills/code-review/deploy.md << 'EOF'
# Deploy Command
$ Run the deployment script for production
$ EOF
$ cat > config-dirs/.claude/skills/team-testing/test.md << 'EOF'
# Test Command
$ Run the test suite
$ EOF
# Push to team repository
$ git init && git add . && git commit -m "Add team skills"
$ git push
$ Team Member Adds Team Sync
# Add team repository
$ tether team add git@github.com:company/team-configs.git
ℹ Syncing team configs...
✓ Team configs cloned to ~/.tether/team-sync/
✓ Created symlink: ~/.claude/skills/code-review → ~/.tether/team-sync/.claude/skills/code-review/
✓ Created symlink: ~/.claude/skills/team-testing → ~/.tether/team-sync/.claude/skills/team-testing/
✓ Team sync complete!
$ After Team Sync (Personal + Team)
# User now has both personal AND team skills
~/.claude/
└── skills/
├── personal-skill/ # Personal (unchanged)
│ └── my-workflow.md
├── code-review → ~/.tether/team-sync/.claude/skills/code-review/ # Team symlink
└── team-testing → ~/.tether/team-sync/.claude/skills/team-testing/ # Team symlink
# Claude Code sees all skills
$ claude --list-skills
$ Available skills:
- personal-skill (personal)
- code-review (team)
- team-testing (team)
$ Smart access control
Automatic permission detection based on Git repository access
Regular Team Members
Read-Only ModeAutomatically configured when you have read-only Git access:
Access Mode: Read-only
Team Admins
Read-Write ModeAutomatically detected when you have write Git access:
Access Mode: Read-write (Admin)
Automatic Permission Detection
Tether automatically detects your Git repository permissions during setup. No manual configuration needed—just add the team repo URL and Tether configures the correct access mode.
Team repos are not encrypted
By design, team repositories contain only non-sensitive shared configurations. They're protected by Git access controls, not encryption. This avoids complex key distribution while maintaining security.
Safe for Team Repos
- • Editor configurations
- • Shared shell aliases
- • Git aliases & settings
- • Tool configurations
Use Secrets Manager
- • API keys & tokens
- • Database credentials
- • SSH private keys
- • Service URLs (if sensitive)
Simple commands
Manage team sync with ease
tether team add <url>
Add team repository and configure sync
$ tether team add git@github.com:company/team-configs.git
$ tether team status
View team sync configuration and files
$ tether team status
┌──────────────┬────────────────────┐
│ Team Sync │ │
├──────────────┼────────────────────┤
│ Status │ ● Enabled │
│ Repository │ git@github.com:... │
│ Access Mode │ Read-only │
│ Team files │ 3 files │
└──────────────┴────────────────────┘
$ tether team enable
Enable team sync (toggle on)
tether team disable
Disable team sync (toggle off)
tether team remove
Remove team sync configuration
Start syncing your team today
One setup command. Automatic sync. Perfect for teams of any size.