Mutagen is a new kind of remote development tool that enables your existing local tools to work with code in remote environments like cloud servers and containers. It does this by providing high-performance real-time file synchronization and flexible network forwarding. It supports synchronization and forwarding between local systems, SSH-accessible locations, and Docker containers, as well as most other infrastructure (such as Kubernetes clusters) using its tunnel transport.
The Mutagen Community Slack Workspace is the place to go for discussion, questions, and ideas.
For updates about the project and its releases, you can follow Mutagen on Twitter.
Mutagen is built and tested on Windows, macOS, and Linux, and it's available for many more platforms.
If you'd like to contribute to Mutagen, please see the contribution documentation.
Users have built a number of cool projects to extend and integrate Mutagen into their workflows:
- Mutagen Helper is a tool that makes the orchestration of synchronization sessions even easier by letting you define sessions with configuration files that live inside your codebase. Thanks to @Toilal!
- docker-magento-mutagen (from Mage2click) is a Docker-based development environment for Magento that uses Mutagen for file synchronization. Thanks to @u-maxx and @shkoliar!
- MutagenMon is a Python-based GUI for monitoring Mutagen sessions. Thanks to @rualark!
Mutagen takes security very seriously. If you believe you have found a security issue with Mutagen, please practice responsible disclosure practices and send an email directly to firstname.lastname@example.org instead of opening a GitHub issue. For more information, please see the security documentation.
Versioning and support
Mutagen uses semantic versioning for tracking releases. Before Mutagen reaches version 1.0, each minor release series will be supported for one month after the first release in the next minor release series (e.g. v0.10.x will be supported until one month after the release of v0.11.0).
The builds for each minor release series are pinned to the same Go minor release and dependency versions used for developing that series (though patch releases will be incorporated if they contain security fixes).
We reserve the right to break or bend these rules if necessary for the sake of security, e.g. discontinuing support for a minor release to which a security fix cannot be backported or upgrading Go minor versions for a release series to incorporate important security fixes. Features marked as experimental may also see breakage when necessary, though we will endeavor to keep this to a minimum.
Please see the build instructions.
Please note that this project is unrelated to the Mutagen Python module used for handling audio metadata.