quartermaster-cli 1.1.0

Navigate the constellations of your codebase - A repository analysis and documentation generator
Documentation
# Quartermaster CLI Makefile

.PHONY: help build install clean test run qm quartermaster

# Default target
help:
	@echo "Quartermaster CLI - Navigate the constellations of your codebase"
	@echo ""
	@echo "Available commands:"
	@echo "  make build        - Build the CLI in release mode"
	@echo "  make install      - Install the CLI globally"
	@echo "  make clean        - Clean build artifacts"
	@echo "  make test         - Run tests"
	@echo "  make run          - Run the CLI (quartermaster)"
	@echo "  make qm           - Run the CLI (qm alias)"
	@echo "  make quartermaster - Run the CLI (full name)"
	@echo "  make dev          - Build and run in development mode"
	@echo "  make docs         - Generate a local .quartermaster workspace for this repo"
	@echo ""
	@echo "Usage examples:"
	@echo "  quartermaster chart ./my-project"
	@echo "  qm analyze github.com/rust-lang/rust"
	@echo "  quartermaster chart . --no-open --non-interactive"

# Build the CLI in release mode
build:
	@echo "๐Ÿ”จ Building Quartermaster CLI..."
	cargo build --release
	@echo "โœ… Build complete! Binary available at target/release/quartermaster"

# Install the CLI globally
install: build
	@echo "๐Ÿ“ฆ Installing Quartermaster CLI..."
	cargo install --path .
	@echo "โœ… Installation complete! Run 'quartermaster' or 'qm' to use."

# Clean build artifacts
clean:
	@echo "๐Ÿงน Cleaning build artifacts..."
	cargo clean
	@echo "โœ… Clean complete!"

# Run tests
test:
	@echo "๐Ÿงช Running tests..."
	cargo test
	@echo "โœ… Tests complete!"

# Run the CLI (quartermaster)
run: quartermaster

# Run the CLI (qm alias)
qm:
	@echo "๐Ÿš€ Running Quartermaster CLI (qm)..."
	cargo run --bin qm

# Run the CLI (full name)
quartermaster:
	@echo "๐Ÿš€ Running Quartermaster CLI..."
	cargo run --bin quartermaster

# Development build and run
dev:
	@echo "๐Ÿ”ง Development mode - Building and running..."
	cargo run --bin quartermaster

# Generate documentation for this repo
docs:
	@echo "๐Ÿ“š Generating Quartermaster workspace for this repository..."
	cargo run --bin quartermaster -- chart .. --no-open --non-interactive
	@echo "โœ… Workspace generated in ../.quartermaster/"

# Build both binaries
build-all:
	@echo "๐Ÿ”จ Building both quartermaster and qm binaries..."
	cargo build --release --bins
	@echo "โœ… Build complete! Binaries available at:"
	@echo "  - target/release/quartermaster"
	@echo "  - target/release/qm"

# Quick development commands
dev-qm:
	@echo "๐Ÿš€ Quick development run (qm)..."
	cargo run --bin qm

dev-full:
	@echo "๐Ÿš€ Quick development run (quartermaster)..."
	cargo run --bin quartermaster

# Check code formatting
fmt:
	@echo "๐ŸŽจ Checking code formatting..."
	cargo fmt --check

# Format code
fmt-fix:
	@echo "๐ŸŽจ Formatting code..."
	cargo fmt

# Run linter
clippy:
	@echo "๐Ÿ” Running clippy linter..."
	cargo clippy -- -D warnings

# Full CI check
ci: fmt clippy test
	@echo "โœ… All CI checks passed!"

# Show version
version:
	@echo "๐Ÿ“‹ Quartermaster CLI version:"
	cargo run --bin quartermaster -- --version

# Show help
show-help:
	@echo "๐Ÿ“‹ Quartermaster CLI help:"
	cargo run --bin quartermaster -- --help