RemoteJuggler¶
Backend-agnostic git identity management with MCP/ACP agent protocol support.
RemoteJuggler enables seamless switching between multiple git identities across GitLab, GitHub, and Bitbucket. Built in Chapel for high performance, it integrates with AI coding assistants via Model Context Protocol (MCP) and Agent Communication Protocol (ACP).
Architecture Overview¶
flowchart TB
subgraph Clients["Agent Clients"]
CC[Claude Code]
JB[JetBrains IDEs]
VS[VS Code/Cursor]
end
subgraph RemoteJuggler["RemoteJuggler"]
CLI[CLI Interface]
MCP[MCP Server]
ACP[ACP Server]
Core[Core Engine]
end
subgraph Backends["Provider Backends"]
GL[GitLab]
GH[GitHub]
BB[Bitbucket]
end
subgraph Storage["Local Storage"]
KC[Darwin Keychain]
KDBX[KeePassXC Store]
SSH[SSH Config]
GIT[Git Config]
CFG[Config JSON]
end
subgraph Hardware["Hardware Security"]
TPM[TPM / Secure Enclave]
YK[YubiKey]
end
CC -->|MCP Protocol| MCP
JB -->|ACP Protocol| ACP
VS -->|MCP Protocol| MCP
CLI --> Core
MCP --> Core
ACP --> Core
Core --> KC
Core --> KDBX
Core --> SSH
Core --> GIT
Core --> CFG
Core --> TPM
Core --> YK
Core -->|glab/gh CLI| GL
Core -->|gh CLI| GH
Core -->|SSH| BB
Key Features¶
- Multi-Provider Support: GitLab (including self-hosted), GitHub, Bitbucket
- SSH Alias Management: Automatic SSH config host alias handling
- Credential Security: macOS Keychain integration, KeePassXC credential authority
- Hardware Security: TPM/Secure Enclave + YubiKey support, trusted workstation mode
- GPG Signing: Per-identity GPG key configuration
- Agent Protocols: MCP server (36 tools) for Claude Code/Cursor/VS Code, ACP for JetBrains
- Zero Dependencies: Single static binary, no runtime requirements
Quick Start¶
# Install via script
curl -sSL https://raw.githubusercontent.com/tinyland-inc/remote-juggler/main/install.sh | bash
# Import existing SSH config
remote-juggler config import
# List detected identities
remote-juggler list
# Switch identity
remote-juggler switch gitlab-work
Integration with AI Assistants¶
RemoteJuggler exposes identity management through standardized protocols:
Source Code¶
The implementation consists of 20 Chapel modules in src/remote_juggler/:
| Module | Purpose |
|---|---|
Core.chpl |
Type definitions, version, enums |
Config.chpl |
Configuration management |
GlobalConfig.chpl |
Schema versioning |
State.chpl |
State persistence |
Identity.chpl |
Identity switching |
Remote.chpl |
Remote URL management |
Keychain.chpl |
macOS Keychain integration |
GPG.chpl |
GPG signing |
ProviderCLI.chpl |
Provider CLI wrappers (glab/gh) |
Protocol.chpl |
JSON-RPC protocol |
MCP.chpl |
MCP server |
ACP.chpl |
ACP server |
Tools.chpl |
MCP/ACP tool definitions (36 tools) |
HSM.chpl |
TPM/Secure Enclave integration |
YubiKey.chpl |
YubiKey management |
TrustedWorkstation.chpl |
Auto-unlock mode |
TokenHealth.chpl |
Token expiry detection |
Setup.chpl |
Interactive setup wizard |
KeePassXC.chpl |
Credential authority |
See Architecture for detailed module documentation.
License¶
zlib License. See LICENSE for details.