| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A tool to snapshot and reproduce development environments across machines.
go-dev-snapshot is a CLI tool that inspects your system and captures information about installed development tools, versions, environment variables, and configuration files. It supports exporting snapshots in both YAML and JSON formats and includes adapters for common development ecosystems (Go, Node.js, Python, Docker).
git clone https://github.com/BaseMax/go-dev-snapshot.git
cd go-dev-snapshot
go build -o go-dev-snapshotgo install github.com/BaseMax/go-dev-snapshot@latestCapture the current development environment:
# Create a YAML snapshot (default)
./go-dev-snapshot snapshot --output my-env.yaml
# Create a JSON snapshot
./go-dev-snapshot snapshot --output my-env.json --format jsonCompare two snapshots to see what changed:
# Compare and print to stdout
./go-dev-snapshot compare --old old-env.yaml --new new-env.yaml
# Save comparison to file
./go-dev-snapshot compare --old old-env.yaml --new new-env.yaml --output diff.yamlGet instructions for restoring a development environment:
# Show restoration guide
./go-dev-snapshot restore --input my-env.yaml
# Attempt automatic restoration (experimental)
./go-dev-snapshot restore --input my-env.yaml --auto --dry-run=falseA snapshot includes:
timestamp: 2025-12-19T17:30:05Z
hostname: dev-machine
os: linux
arch: amd64
tools:
- name: go
version: go version go1.21.0 linux/amd64
path: /usr/bin/go
- name: node
version: v20.0.0
path: /usr/local/bin/node
environment:
PATH: /usr/local/bin:/usr/bin:/bin
GOPATH: /home/user/go
HOME: /home/user
ecosystems:
go:
version: go version go1.21.0 linux/amd64
metadata:
GOPATH: /home/user/go
GOROOT: /usr/lib/go
nodejs:
version: v20.0.0
metadata:
npm_version: 10.0.0Create a snapshot of the current development environment.
Options:
Compare two snapshots and show differences.
Options:
Show instructions to restore a snapshot or attempt automatic restoration.
Options:
Show version information.
Show help message.
Create a snapshot on your current machine:
./go-dev-snapshot snapshot --output dev-env.yamlTransfer the snapshot to the new machine
Generate restoration instructions:
./go-dev-snapshot restore --input dev-env.yamlCreate a baseline snapshot:
./go-dev-snapshot snapshot --output baseline.yamlMake changes to your environment (install tools, update versions, etc.)
Create a new snapshot:
./go-dev-snapshot snapshot --output current.yamlCompare to see what changed:
./go-dev-snapshot compare --old baseline.yaml --new current.yamlShare a team snapshot file via version control
Team members can compare their local environment:
./go-dev-snapshot snapshot --output my-env.yaml
./go-dev-snapshot compare --old team-standard.yaml --new my-env.yamlUse restore to align environment:
./go-dev-snapshot restore --input team-standard.yamlThe tool is built with a modular architecture:
Contributions are welcome! To add support for a new ecosystem:
This project is licensed under the MIT License - see the LICENSE file for details.
Created by BaseMax
| Back | FazBrowse Home | New Git URL |