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. Support is currently implemented for synchronization and forwarding between local systems, SSH-accessible locations, and Docker containers, with more on the way!
The best way to understand Mutagen and its features is to read the Overview and Getting started guides. You can find information about all of Mutagen's features in the documentation.
You can find installation instructions in the Mutagen documentation.
Mutagen's community chat is the place to go for discussion, questions, and ideas:
For updates about the project and its releases, you can:
- Subscribe to the mutagen-announce mailing list
- Follow Mutagen on Twitter
Mutagen is built and tested on Windows, macOS, and Linux, and it's available for many more platforms.
Tests | Code coverage | Report card | License |
---|---|---|---|
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.
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 [email protected] instead of opening a GitHub issue. For more information, please see the security documentation.
Mutagen uses semantic versioning for tracking releases. Each minor release series is supported for the release cycle of the next minor release series or for 3 months, whichever is longer.
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.
Please see the build instructions.