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.
- Environment Scanning: Detects system information, programming languages, development tools, package managers, and code editors.
- JSON Export/Import: Outputs the environment snapshot in a clean, structured JSON format, and can import it to set up a new environment.
- Supabase Integration: Authenticate and share your environment configurations with others using a Supabase backend.
- 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.
To install the StackMatch CLI, you need to have Go installed on your system. You can then use go install to build and install the binary:
go install github.com/MRQ67/stackmatch-cli@latestThis will place the stackmatch executable in your Go binary path ($GOPATH/bin).
Here are the primary commands available in the StackMatch CLI:
stackmatch register: Create a new account.stackmatch login: Authenticate with your StackMatch account.stackmatch logout: Log out of your account.stackmatch whoami: Display the currently logged-in user.
stackmatch export [filename]: Scan the local environment and export it to a JSON file.stackmatch import [filename]: Import an environment from a local file.stackmatch import --from-supabase --id <env_id>: Import an environment from Supabase.stackmatch push: Push a local environment configuration to Supabase.stackmatch pull: Pull an environment configuration from Supabase.stackmatch clone <username>/<env-name>: Clone another user's public environment from Supabase.
stackmatch version: Display the current version of the StackMatch CLI.
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 main.go
-
Run the tests:
go test ./...
This project is licensed under the MIT License. See the LICENSE file for details.