osvm 0.6.4

OpenSVM CLI tool for managing SVM nodes and deployments
Documentation
# OSVM CLI Makefile
# Quick commands for building, testing, and installing

.PHONY: help build build-release test install install-dev clean clean-install uninstall

# Default target
help:
	@echo "๐Ÿš€ OSVM CLI Build & Installation Commands"
	@echo "========================================"
	@echo ""
	@echo "Build Commands:"
	@echo "  make build         - Build debug binary"
	@echo "  make build-release - Build optimized release binary"
	@echo "  make test          - Run all tests"
	@echo ""
	@echo "Installation Commands:"
	@echo "  make install       - Build release and install to /usr/bin (requires sudo)"
	@echo "  make install-dev   - Install debug binary to /usr/bin (requires sudo)"
	@echo "  make uninstall     - Remove osvm from /usr/bin (requires sudo)"
	@echo ""
	@echo "Cleanup Commands:"
	@echo "  make clean         - Clean build artifacts"
	@echo "  make clean-install - Remove installed binaries and backups"
	@echo ""
	@echo "Development Commands:"
	@echo "  make run           - Run the debug binary locally"
	@echo "  make check         - Check code without building"
	@echo "  make fmt           - Format code"
	@echo "  make clippy        - Run clippy linter"

# Build commands
build:
	@echo "๐Ÿ”จ Building debug binary..."
	cargo build

build-release:
	@echo "๐Ÿ”จ Building release binary..."
	cargo build --release

test:
	@echo "๐Ÿงช Running tests..."
	cargo test

check:
	@echo "๐Ÿ” Checking code..."
	cargo check

fmt:
	@echo "๐ŸŽจ Formatting code..."
	cargo fmt

clippy:
	@echo "๐Ÿ“Ž Running clippy..."
	cargo clippy -- -D warnings

# Installation commands
install: build-release
	@echo "๐Ÿ“ฆ Installing release binary..."
	./install-release.sh

install-dev: build
	@echo "๐Ÿ“ฆ Installing debug binary..."
	sudo cp target/debug/osvm /usr/bin/osvm
	sudo chmod +x /usr/bin/osvm
	@echo "โœ… Debug binary installed to /usr/bin/osvm"

uninstall:
	@echo "๐Ÿ—‘๏ธ  Uninstalling osvm..."
	sudo rm -f /usr/bin/osvm
	@echo "โœ… osvm removed from /usr/bin"

# Cleanup commands
clean:
	@echo "๐Ÿงน Cleaning build artifacts..."
	cargo clean

clean-install: uninstall
	@echo "๐Ÿงน Cleaning installed binaries and backups..."
	sudo rm -f /usr/bin/osvm.backup
	@echo "โœ… All installed files cleaned"

# Development commands
run:
	@echo "๐Ÿƒ Running debug binary..."
	cargo run

# Verification command
verify-install:
	@echo "๐Ÿงช Verifying installation..."
	@if command -v osvm >/dev/null 2>&1; then \
		echo "โœ… osvm is installed and accessible"; \
		echo "๐Ÿ“ Location: $$(which osvm)"; \
		echo "๐Ÿ“ฆ Version: $$(osvm --version)"; \
	else \
		echo "โŒ osvm is not installed or not in PATH"; \
		exit 1; \
	fi

# Quick development cycle
dev: clean build test
	@echo "โœ… Development build completed"

# Full release cycle
release: clean build-release test install
	@echo "โœ… Release build and installation completed"