StackMatch CLI
Clone environments, not just code.
stackmatch is a command-line interface (CLI) tool designed to scan, export, and import development environment configurations. It helps teams mitigate "it works on my machine" issues by providing a snapshot of the tools, languages, and settings on a given system.
This tool is the first step toward building a robust system for managing and replicating development environments with ease.
Features
- Environment Scanning: Detects system information, programming languages, development tools, package managers, and code editors.
- JSON Export: Outputs the environment snapshot in a clean, structured JSON format.
- Cross-Platform: Works on Windows, macOS, and Linux.
- Configuration Discovery: Finds common configuration files (e.g.,
.gitconfig, .npmrc).
- Extensible: Built with a modular scanner that can be easily extended to detect more tools and configurations.
Installation
Windows (Recommended)
For Windows users, the easiest way to install StackMatch is with the official installer:
- Download the installer: Go to the GitHub Releases page and download the latest
stackmatch-cli-setup.exe file.
- Run the installer: Double-click the downloaded file and follow the on-screen instructions.
The installer will automatically add stackmatch-cli to your system's PATH, so you can run it from any command prompt (like PowerShell or CMD) after installation.
macOS & Linux (or with Go)
If you are on macOS, Linux, or prefer to use Go directly, you can install the CLI using go install:
go install github.com/MRQ67/stackmatch-cli@latest
Ensure that your Go binary path (typically $GOPATH/bin or $HOME/go/bin) is included in your system's PATH environment variable.
Usage
Here are the primary commands available in the StackMatch CLI:
scan
Scans the local system and prints the environment data as JSON to standard output.
stackmatch-cli scan
export
Scans the environment and saves the JSON output to a specified file.
stackmatch-cli export my-environment.json
import
Reads an environment JSON file and displays a summary. (Note: The MVP version does not perform any installations or system modifications).
stackmatch-cli import my-environment.json
version
Displays the current version of the StackMatch CLI.
stackmatch-cli version
Development
Contributions are welcome! To get started with development:
-
Clone the repository:
git clone https://github.com/MRQ67/stackmatch-cli.git
cd stackmatch-cli
-
Build the binary:
go build -o stackmatch-cli main.go
-
Run the tests:
go test ./...
License
This project is licensed under the MIT License. See the LICENSE file for details.