Package Exports
- readymate
- readymate/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (readymate) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
ReadyMate
A command-line tool for checking and installing software dependencies with customizable installers and cross-platform support.
Features
- Check if specific software is installed on your system
- Install missing dependencies using various package managers
- Support multiple operating systems (macOS, Windows, Linux)
- Customizable installation commands per operating system
- Root privilege support for Linux installations
- Interactive installation confirmation with auto-approve option
- JSON configuration file support for installation settings
Installation
Install globally using npm:
npm install -g readymateConfiguration File
ReadyMate uses a JSON configuration file (ready_mate_config.json) to define installation settings. You can specify different installation commands for different operating systems.
Example configuration:
{
"clang-tidy": {
"macos": {
"support": true,
"installer": "brew",
"cmd": "install llvm"
},
"windows": {
"support": true,
"installer": "choco",
"cmd": "install llvm"
},
"linux": {
"support": true,
"installer": "apt-get",
"cmd": "install clang-tidy"
"root": true
}
}
}Configuration file structure:
- Each software package is defined by a top-level key
- Each package can have OS-specific configurations (
macos,windows,linux) - OS-specific configuration options:
support: Boolean indicating if the software is supported on this OS (default: true)installer: The package manager to usecmd: The installation command (including the package name)root: (Linux only) Boolean indicating if sudo is required
Usage
Command Line Interface
readymate [options]Options:
-c, --config-file <path>: Path to configuration file (defaults to ready_mate_config.json in current directory)-y, --yes: Skip confirmation steps-v, --version: Output version number-h, --help: Display help information
Examples:
# Use default config file in current directory
readymate
# Use custom config file
readymate -c /path/to/config.json
# Auto-approve all installations
readymate -yAPI Usage
const { check } = require("readymate");
// Check and install software using config file
await check(
"/path/to/config.json", // config file path (optional)
true // auto-approve all (optional)
);Operating System Support
- macOS (darwin)
- Windows (win32)
- Linux
- Other platforms (will use default installation commands)
Requirements
- Node.js >= 14
- npm >= 6
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.