Show HN: Claudebase: Sync your Claude Code env across machines via GitHub
hackernews
|
|
📦 오픈소스
#infrastructure
#show hn
#sync
#ai에이전트
#개발환경
#claude
#claude code
#github
#review
#개발도구
#동기화
원문 출처: hackernews · Genesis Park에서 요약 및 분석
요약
'Claudebase'는 개발자의 Claude Code 환경(에이전트, 규칙, 메모리 등)을 개인 GitHub 리포지토리에 자동으로 동기화하여 디스크 초기화나 기기 변경 시 발생하는 설정 유실을 방지해 주는 플러그인입니다. 업무용, 개인용 등 다양한 환경을 프로필로 구분해 즉각적으로 전환할 수 있으며, API 키 유출을 막는 시크릿 스캐닝과 다중 기기 사용 시 충돌을 감지하는 안전장치를 기본적으로 제공합니다. 사용자는 복잡한 인증 토큰 없이 GitHub CLI(gh)를 통해 손쉽게 설정을 백업하고 여러 기기에서 안전하게 작업 환경을 복원할 수 있습니다.
본문
Your Claude Code setup is infrastructure. Agents, skills, rules, hooks, memory — these accumulate over weeks of work and represent real investment. Losing them to a disk wipe, or manually recreating them on a new machine, shouldn't happen. Claudebase syncs your entire Claude Code environment to a private GitHub repo. Profiles let you switch between work, personal, and team configurations instantly. Secret scanning, automatic backups, and multi-machine conflict detection keep things safe. claude plugin marketplace add rohithzr/claudebase claude plugin install claudebase@rohithzr Then restart Claude Code or run /reload-plugins . Update / Uninstall # Update claude plugin update claudebase@rohithzr # Uninstall claude plugin uninstall claudebase@rohithzr claude plugin marketplace remove rohithzr /claudebase:setup # One-time: create private GitHub repo + first push /claudebase:push # Back up current config /claudebase:pull # Restore config from GitHub /claudebase:status # Compare local vs remote /claudebase:profiles list # Manage named profiles /claudebase:config # View/change settings | Manual copy | Claudebase | | |---|---|---| | Secret scanning | No | Blocks API keys, PEM files, tokens | | Multi-machine safety | No | Detects conflicting pushes | | Profiles | No | Switch work/personal/team instantly | | Shared team layer | No | Base config + per-person overlay | | Automatic backups | No | Timestamped backup before every pull | | Dry run preview | No | See what changes before committing | Laptop: /claudebase:push # Push your config Desktop: /claudebase:pull # Pull it down Desktop: # ... tweak agents, add rules ... Desktop: /claudebase:push --force # Push from second machine Laptop: /claudebase:pull # Get desktop's changes /claudebase:profiles switch work # Load work config # ... deep coding session ... /claudebase:push # Save work state /claudebase:profiles switch personal # Load personal config /claudebase:push --dry-run # See what would be pushed /claudebase:pull --dry-run # See what would change locally /claudebase:profiles diff work personal # Compare two profiles More examples # You: push your team config to a shared profile /claudebase:profiles create team-defaults --from work /claudebase:push # Teammate: on their machine /claudebase:setup /claudebase:pull --profile team-defaults /claudebase:pull # Restores from last push # Old config saved to backups/ Laptop: /claudebase:push Desktop: /claudebase:pull && /claudebase:push --force CI Box: /claudebase:pull && /claudebase:push --force Laptop: /claudebase:pull # Gets everything | Path | Description | |---|---| .mcp.json | MCP server configurations | .claude/settings.json | Team-shared settings | .claude/agents/ | Subagent definitions | .claude/commands/ | Slash command templates | .claude/skills/ | Reusable knowledge modules | .claude/hooks/ | Lifecycle hooks | .claude/rules/ | Organization rules | .claude/agent-memory/ | Persistent agent memory | .auto-memory/ | Auto-memory files | Opt-in: Global ~/.claude/settings.json (--include-global ), Vercel skills lock (/claudebase:config set sync_agent_skills true ). Never synced: settings.local.json , conversations, sessions, shell snapshots, logs. ┌──────────────┐ Machine A │ .claude/ │──push──┐ │ .mcp.json │ │ ┌──────────────────────┐ │ .auto-memory/│ ├────>│ GitHub (private) │ └──────────────┘ │ │ profiles/default/ │ │ │ profiles/work/ │ ┌──────────────┐ │ │ shared/ │ Machine B │ .claude/ │/ overlays on top. This lets you maintain organization-wide defaults while customizing per context. Push is blocked if a different machine pushed since your last sync — pull first or use --force to override. | Protection | How it works | |---|---| | Backup before pull | Every pull creates a timestamped backup (last 10 kept) | | Confirmation prompt | Pull shows a diff and asks before overwriting (--yes to skip) | | Secret scanning | Blocks API keys, PEM keys, Bearer tokens (--force to override) | | Multi-machine detection | Blocks push if another machine pushed since your last sync | | Private repo | Created private by default | | Dry run | --dry-run on push/pull shows changes without applying | | Never-sync list | Conversations, sessions, logs excluded by design | /claudebase:config show # View all settings /claudebase:config set auto_push true # Auto-push on session end /claudebase:config set include_global true # Always sync global settings /claudebase:config set machine_id my-laptop # Custom machine identifier /claudebase:config reset auto_push # Reset to default Claudebase also registers two lifecycle hooks: - SessionStart — quiet diff check (tells you if config is out of sync) - SessionEnd — auto-pushes if auto_push is enabled GitHub CLI (gh ) | jq | git | bash Claudebase uses gh for all GitHub operations — no tokens to manage, no OAuth, no stored credentials. Platform-specific install instructions macOS brew install gh jq git gh auth login Linux (Debian/Ubuntu) # GitHub CLI (https://github.com/cli/cli/blob/trunk/docs/insta
Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.
공유