# mutagen-io/mutagen

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mutagen-io-mutagen).**

3,883 stars · 172 forks · Go · other

## Links

- GitHub: https://github.com/mutagen-io/mutagen
- Homepage: https://mutagen.io
- awesome-repositories: https://awesome-repositories.com/repository/mutagen-io-mutagen.md

## Description

Mutagen is a cross-platform file synchronization engine and development environment orchestrator. It provides real-time bidirectional file synchronization between local machines, remote servers, and Docker containers, often utilizing SSH for transport.

The tool functions as a high-performance alternative to Docker bind mounts by mirroring files between a local host and a running container. It also operates as a network port forwarding utility, routing TCP traffic and Unix domain sockets between local and remote environments via SSH.

Its capability surface includes filesystem event monitoring, permission mapping between POSIX and Windows, and the orchestration of multiple synchronization and forwarding sessions through configuration files. It supports custom lifecycle hooks and the ability to embed the synchronization engine into other applications.

## Tags

### Development Tools & Productivity

- [Local File Syncing](https://awesome-repositories.com/f/development-tools-productivity/local-file-syncing.md) — Synchronizes filesystem paths between local machines, remote servers, or containers to enable real-time updates. ([source](https://mutagen.io/documentation/transports/))
- [Development Environment Orchestrators](https://awesome-repositories.com/f/development-tools-productivity/development-environment-orchestrators.md) — Manages multiple synchronization and forwarding sessions through a configuration file to create reproducible environments. ([source](https://mutagen.io/documentation/orchestration/projects/))
- [Filesystem Event Tracking](https://awesome-repositories.com/f/development-tools-productivity/filesystem-event-tracking.md) — Monitors filesystems using native OS events or polling to trigger immediate data propagation.
- [Real-Time Synchronization](https://awesome-repositories.com/f/development-tools-productivity/local-file-syncing/real-time-synchronization.md) — Streams files between local and remote environments using low-latency watching to enable immediate testing. ([source](https://cdn.jsdelivr.net/gh/mutagen-io/mutagen@master/README.md))
- [SSH Directory Syncs](https://awesome-repositories.com/f/development-tools-productivity/local-file-syncing/ssh-directory-syncs.md) — Synchronizes directories between local and remote systems over SSH using differential transfers. ([source](https://mutagen.io/documentation/introduction/getting-started))
- [Remote File Synchronization](https://awesome-repositories.com/f/development-tools-productivity/remote-file-synchronization.md) — Enables real-time bidirectional file synchronization between local machines, remote servers, and containers using SSH.
- [Differential Transfer Engines](https://awesome-repositories.com/f/development-tools-productivity/remote-file-transfers/differential-transfer-engines.md) — Uses a differential transfer engine to stream only modified blocks of files, optimizing synchronization performance.
- [Sync and Forwarding Orchestration](https://awesome-repositories.com/f/development-tools-productivity/sync-and-forwarding-orchestration.md) — Automates synchronization and network forwarding based on rules defined in configuration files. ([source](https://mutagen.io/documentation/orchestration/compose/))
- [Sync Session Controllers](https://awesome-repositories.com/f/development-tools-productivity/sync-session-controllers.md) — Creates, monitors, pauses, and terminates synchronization sessions to manage data flow between endpoints. ([source](https://mutagen.io/documentation/synchronization))
- [Embeddable Sync Engines](https://awesome-repositories.com/f/development-tools-productivity/embeddable-sync-engines.md) — Integrates background processes and session management into other applications using isolated data directories. ([source](https://mutagen.io/documentation/introduction/daemon/))
- [File Exclusion Patterns](https://awesome-repositories.com/f/development-tools-productivity/file-exclusion-patterns.md) — Prevents specific files or directories from being scanned or propagated using pattern-based exclusion syntax. ([source](https://mutagen.io/documentation/synchronization/ignores/))
- [Session Default Configurations](https://awesome-repositories.com/f/development-tools-productivity/session-default-configurations.md) — Provides repo-scoped configuration to define session behavior and defaults via global settings and command line flags. ([source](https://mutagen.io/documentation/introduction/configuration/))
- [Named Pipe Forwarding](https://awesome-repositories.com/f/development-tools-productivity/stream-piping-utilities/named-pipe-streaming/named-pipe-forwarding.md) — Transports data streams using Windows UNC paths for secure communication between local and remote environments. ([source](https://mutagen.io/documentation/forwarding/windows-named-pipes/))
- [Cross-Platform Symlink Synchronization](https://awesome-repositories.com/f/development-tools-productivity/symbolic-link-managers/cross-platform-symlink-synchronization.md) — Propagates symbolic links between POSIX and Windows systems using configurable modes for cross-platform compatibility. ([source](https://mutagen.io/documentation/synchronization/symbolic-links/))
- [Sync Exclusion Rules](https://awesome-repositories.com/f/development-tools-productivity/sync-exclusion-rules.md) — Prevents specific files or folders from synchronizing to avoid conflicts and performance degradation. ([source](https://mutagen.io/documentation/synchronization/version-control-systems/))
- [Terminal Session Lifecycle Management](https://awesome-repositories.com/f/development-tools-productivity/terminal-session-lifecycle-management.md) — Offers CLI-driven control over the session lifecycle, allowing users to pause, resume, and terminate connections. ([source](https://mutagen.io/documentation/introduction/getting-started))
- [Command Sequence Shortcuts](https://awesome-repositories.com/f/development-tools-productivity/workflow-streamlining-tools/command-sequence-shortcuts.md) — Provides named shortcuts for frequently used command sequences to streamline project operational routines. ([source](https://mutagen.io/documentation/orchestration/projects/))

### Networking & Communication

- [Cross-Platform File Synchronization](https://awesome-repositories.com/f/networking-communication/cross-platform-file-synchronization.md) — Synchronizes files between different operating systems while ensuring correct mirroring and permission mapping.
- [Network Port Forwarding](https://awesome-repositories.com/f/networking-communication/network-port-forwarding.md) — Maps local ports or sockets to remote listeners using TCP, Unix sockets, or Windows named pipes. ([source](https://cdn.jsdelivr.net/gh/mutagen-io/mutagen@master/README.md))
- [Socket Forwarding](https://awesome-repositories.com/f/networking-communication/socket-forwarding.md) — Maps local network ports and Unix domain sockets to remote listeners to route traffic between environments.
- [TCP and UDP Forwarders](https://awesome-repositories.com/f/networking-communication/traffic-routing/tcp-and-udp-forwarders.md) — Routes network streams between endpoints using TCP sockets with configurable interface binding. ([source](https://mutagen.io/documentation/forwarding/tcp-sockets/))
- [Local Network Traffic Forwarders](https://awesome-repositories.com/f/networking-communication/ip-forwarding/local-network-traffic-forwarders.md) — Routes network traffic between local endpoints using raw network addresses or Unix domain sockets. ([source](https://mutagen.io/documentation/transports/local/))
- [Network Routing and Traffic Management](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management.md) — Routes network traffic between local endpoints using raw network addresses and Unix domain sockets. ([source](https://mutagen.io/documentation/transports/local))
- [Container Traffic Forwarding](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management/network-traffic-management/container-traffic-forwarding.md) — Routes network traffic to running containers via TCP, IPv6, or Unix domain sockets. ([source](https://mutagen.io/documentation/transports/docker/))
- [SSH](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/tunneling/ssh.md) — Securely redirects network traffic between local and remote environments using SSH protocols. ([source](https://mutagen.io/documentation/transports/ssh/))
- [Session Lifecycle Management](https://awesome-repositories.com/f/networking-communication/network-reliability-diagnostics/connection-session-management/connection-management/connection-lifecycle-managers/session-lifecycle-management.md) — Manages the lifecycle of synchronization processes through commands to create, monitor, and terminate connections. ([source](https://mutagen.io/documentation/synchronization/))
- [Forwarding Session Management](https://awesome-repositories.com/f/networking-communication/packet-engines/forwarding-session-management.md) — Creates, monitors, pauses, and terminates active network tunnels to control traffic flow between environments. ([source](https://mutagen.io/documentation/forwarding))
- [Port Forwarding Tools](https://awesome-repositories.com/f/networking-communication/port-forwarding-tools.md) — Maps remote network ports and Unix domain sockets to local machine ports to enable direct service access via SSH.
- [Synchronization Session State](https://awesome-repositories.com/f/networking-communication/session-state-management/synchronization-session-state.md) — Maintains isolated data directories and lifecycle states to manage multiple independent synchronization and forwarding processes.
- [SSH Tunneling Forwarders](https://awesome-repositories.com/f/networking-communication/unix-domain-socket-support/tunneled-unix-socket-forwarding/ssh-tunneling-forwarders.md) — Tunnels TCP or Unix domain socket traffic through an SSH connection to a remote host. ([source](https://mutagen.io/documentation/transports/ssh))

### Data & Databases

- [Filesystem Synchronization Conflicts](https://awesome-repositories.com/f/data-databases/conflict-resolution/filesystem-synchronization-conflicts.md) — Provides bidirectional conflict resolution to handle data collisions when files are modified on both endpoints.
- [Synchronization Propagation Modes](https://awesome-repositories.com/f/data-databases/data-synchronization-configurations/sync-endpoint-configurations/unidirectional-sync-configurations/bidirectional-sync-implementations/synchronization-propagation-modes.md) — Defines how changes flow between endpoints and how conflicts resolve using unidirectional or bidirectional synchronization. ([source](https://mutagen.io/documentation/synchronization/))
- [Bidirectional File Synchronization](https://awesome-repositories.com/f/data-databases/real-time-data-synchronization/bidirectional-file-synchronization.md) — Streams file changes between environments using bidirectional watching and differential transfers for low-latency updates. ([source](https://mutagen.io/documentation))
- [Filesystem Root Snapshotting](https://awesome-repositories.com/f/data-databases/snapshot-synchronization/filesystem-root-snapshotting.md) — Generates a representation of files in a root using scans or watching to identify changes. ([source](https://mutagen.io/documentation/synchronization/probing-and-scanning/))
- [Temporary File Staging](https://awesome-repositories.com/f/data-databases/temporary-file-staging.md) — Stages files in temporary directories to enable atomic relocation and minimize copy operations across filesystems. ([source](https://mutagen.io/documentation/synchronization/staging/))

### DevOps & Infrastructure

- [Bind Mount Optimizers](https://awesome-repositories.com/f/devops-infrastructure/bind-mounts/bind-mount-optimizers.md) — Creates synchronized caches of host files inside virtual machines to replace slow bind mounts. ([source](https://mutagen.io/documentation/orchestration/))
- [Container Filesystem Synchronization](https://awesome-repositories.com/f/devops-infrastructure/container-filesystem-synchronization.md) — Mirrors files between a local host and a running container to avoid the performance overhead of traditional bind mounts.
- [Live Container Syncing](https://awesome-repositories.com/f/devops-infrastructure/live-container-syncing.md) — Synchronizes files between a local machine and a running container as a high-performance alternative to bind mounts. ([source](https://mutagen.io/documentation/transports/docker/))
- [Synchronization Propagation Modes](https://awesome-repositories.com/f/devops-infrastructure/synchronization-propagation-modes.md) — Configures synchronization as unidirectional or bidirectional and defines conflict resolution to prevent data loss. ([source](https://mutagen.io/documentation/synchronization))
- [Container Sync Orchestration](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/cicd-pipeline-management/automation-workflows/container-lifecycle-automation/container-sync-orchestration.md) — Uses configuration attributes in compose files to manage synchronization and network forwarding for containerized workloads. ([source](https://mutagen.io/documentation/orchestration/))
- [Synchronization Safety Guards](https://awesome-repositories.com/f/devops-infrastructure/synchronization-safety-guards.md) — Halts synchronization sessions when irregular conditions are detected to prevent unintentional mass deletion of content. ([source](https://mutagen.io/documentation/synchronization/safety-mechanisms/))

### Operating Systems & Systems Programming

- [File Change Detection](https://awesome-repositories.com/f/operating-systems-systems-programming/system-administration-maintenance/file-system-management/file-systems/file-change-detection.md) — Identifies file modifications using native filesystem watchers or periodic scanning to trigger synchronization. ([source](https://mutagen.io/documentation/synchronization/watching/))
- [Filesystem Behavior Analysis](https://awesome-repositories.com/f/operating-systems-systems-programming/cross-platform-filesystem-interoperability/filesystem-behavior-analysis.md) — Analyzes if a filesystem preserves executable bits and handles Unicode decomposition for correct cross-platform synchronization. ([source](https://mutagen.io/documentation/synchronization/probing-and-scanning/))
- [Identity Mapping](https://awesome-repositories.com/f/operating-systems-systems-programming/identity-mapping.md) — Assigns specific user and group identities to synchronized files using POSIX IDs, Windows SIDs, or names. ([source](https://mutagen.io/documentation/synchronization/permissions/))

### Security & Cryptography

- [SSH Tunneling](https://awesome-repositories.com/f/security-cryptography/network-infrastructure-security/web-network-security/network-security/network-routing-access-control/ssh-tunneling.md) — Uses SSH tunneling as the secure communication layer for both file synchronization and network traffic forwarding.
- [POSIX-to-Windows Permission Translators](https://awesome-repositories.com/f/security-cryptography/permission-mapping-systems/posix-to-windows-permission-translators.md) — Translates file ownership and executable bits between POSIX and Windows systems to preserve access control.
- [Synchronized Permission Bits](https://awesome-repositories.com/f/security-cryptography/security/policies/host-resource-access/file-system-access-controls/user-mode-access-controls/synchronized-permission-bits.md) — Sets octal permission bits for newly created files and directories to control read and write access. ([source](https://mutagen.io/documentation/synchronization/permissions/))

### Software Engineering & Architecture

- [Remote Development Environments](https://awesome-repositories.com/f/software-engineering-architecture/client-server-architectures/remote-development-environments.md) — Synchronizes source code between a local machine and a remote server or container for real-time editing and testing.
- [Atomic File Writes](https://awesome-repositories.com/f/software-engineering-architecture/atomic-file-writes.md) — Implements atomic file writes by staging data in temporary directories to prevent partial file corruption during synchronization.
- [Session Lifecycle Hooks](https://awesome-repositories.com/f/software-engineering-architecture/lifecycle-event-hooks/command-lifecycle-hooks/session-lifecycle-hooks.md) — Executes custom shell commands before and after session creation or termination to handle infrastructure setup. ([source](https://mutagen.io/documentation/orchestration/projects/))
- [Session Management Identifiers](https://awesome-repositories.com/f/software-engineering-architecture/network-identifiers/session-management-identifiers.md) — Assigns names and unique identifiers to sessions to easily list, filter, and target management commands. ([source](https://mutagen.io/documentation/introduction/names-labels-identifiers/))

### Content Management & Publishing

- [Permission Emulation](https://awesome-repositories.com/f/content-management-publishing/directory-archiving/permission-preserving-archives/filesystem-attribute-preservation/permission-emulation.md) — Maintains POSIX executability bits during synchronization by emulating permissions for filesystems that lack native support. ([source](https://mutagen.io/documentation/synchronization/permissions/))

### System Administration & Monitoring

- [Session Health Monitors](https://awesome-repositories.com/f/system-administration-monitoring/session-tracking/session-health-monitors.md) — Tracks real-time health and change propagation for active synchronization or forwarding sessions. ([source](https://mutagen.io/documentation/introduction/getting-started/))
