https://github.com/amedoeyes/mason
A fast and efficient command-line tool to manage external development tools like LSP servers, debuggers, linters, and formatters.
https://github.com/amedoeyes/mason
cli debug-adapter-protocol formatter language-server-protocol linter tools
Last synced: about 1 month ago
JSON representation
A fast and efficient command-line tool to manage external development tools like LSP servers, debuggers, linters, and formatters.
- Host: GitHub
- URL: https://github.com/amedoeyes/mason
- Owner: amedoeyes
- License: gpl-3.0
- Created: 2025-03-03T07:46:58.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2025-05-08T09:20:09.000Z (9 months ago)
- Last Synced: 2025-05-08T10:29:26.086Z (9 months ago)
- Topics: cli, debug-adapter-protocol, formatter, language-server-protocol, linter, tools
- Language: Go
- Homepage:
- Size: 154 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mason
A fast and efficient command-line tool to manage external development tools like LSP servers, debuggers, linters, and formatters.

## Installation
### Binary Releases
You can download binary releases from [here](https://github.com/amedoeyes/mason/releases) .
### Manual
```sh
git clone https://github.com/amedoeyes/mason.git
cd mason
go build -ldflags="-s -w -X github.com/amedoeyes/mason/cmd.version=$(git describe --tags --always)" -o mason
```
## Usage
Add `$HOME/.local/share/mason/bin` to your `PATH` if you're on Unix, or `%APPDATA%\mason\bin` if you're on Windows. This ensures installed binaries are accessible from anywhere.
```
Usage:
mason [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
install Install packages
list List installed packages
search Search packages
uninstall Uninstall packages
update Update repositories
upgrade Upgrade packages
Flags:
-h, --help help for mason
Use "mason [command] --help" for more information about a command.
```
## Environment Variables
- `MASON_DATA_DIR`: Base directory for data (defaults to `$HOME/.local/share/mason` on Unix and `%APPDATA%\mason` on Windows).
- `MASON_REGISTRIES`: Comma-separated list of registries (defaults to `github:mason-org/mason-registry`).
## Credits
This project is inspired by and named after [mason.nvim](https://github.com/williamboman/mason.nvim), the popular Neovim plugin for managing LSPs, DAPs, linters, and formatters. This project extends that philosophy to the command line, making external tooling management more accessible outside of Neovim.
## Contributing
Contributions are welcome! If you notice a bug or want to add a feature, feel free to open an issue or submit a pull request.