/mutagen-io-mutagen

Fast file synchronization and network forwarding for remote development

Primary LanguageGoOtherNOASSERTION

Mutagen

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.

Getting started

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.

Installation

You can find installation instructions in the Mutagen documentation.

Community

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.

Status

Mutagen is built and tested on Windows, macOS, and Linux, and it's available for many more platforms.

Tests Report card
Tests Report card

License

For license information, please see the LICENSE file.

Contributing

If you'd like to contribute to Mutagen, please see the contribution documentation.

Security

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 security@mutagen.io 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.

Building

Please see the build instructions.

External projects

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!
  • mutagenmon is an alternative (Go-based) native GUI for Mac, for monitoring Mutagen sessions, provides apple notarized builds.

Unrelated projects

Please note that this project is unrelated to the Mutagen Python module used for handling audio metadata.