A collection of YAML-based plugins for Moonrepo Proto, a multi-language version manager.
Proto is a multi-language version manager developed by Moonrepo. It helps developers manage and install different versions of programming languages, package managers, and CLI tools across projects.
These are non-WASM plugins for Proto, defined in YAML format. Non-WASM plugins are simple configuration files that describe how a tool should be installed and invoked. They're designed for simple and common use cases, particularly CLI tools.
Each plugin defines:
- The tool's name and type
- How to resolve the tool's version
- Platform-specific configurations
- Installation instructions
This repository contains the following plugins:
- abigen - A tool from the Ethereum Go implementation for generating Go bindings from Solidity contracts
- gofumpt - A stricter formatter for Go code
- pyoxidizer - A utility for packaging Python applications
- solc - The Solidity compiler for Ethereum smart contracts
- Install Proto by following the official installation guide
- Create a
.prototoolsfile in your project root if you don't already have one - Add the tool and desired version to your
.prototoolsfile - Configure Proto to use the plugin from this repository
Example .prototools file:
solc = "0.8.20"
[plugins]
solc = "https://raw.githubusercontent.com/xurvan/proto-plugins/master/plugins/solc.yml"Contributions are welcome! If you'd like to add a new plugin or improve an existing one:
- Fork this repository
- Create a new YAML file in the
pluginsdirectory or modify an existing one - Follow the non-WASM plugin format
- Submit a pull request
This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.