# Converge Tool - Development Commands
# Run `just --list` to see all available commands
# Default: show available commands
default:
@just --list
# =============================================================================
# Doctor - Environment Health Check
# =============================================================================
# Check component health
doctor:
#!/usr/bin/env bash
echo " Checking Rust environment..."
if cargo --version >/dev/null 2>&1; then
echo " ✓ cargo available"
else
echo " ✗ cargo not found"
fi
if [ -f "Cargo.toml" ]; then
echo " ✓ Cargo.toml present"
fi
# =============================================================================
# Build & Install
# =============================================================================
# Build the cz binary
build:
cargo build --bin cz
# Build release version
build-release:
cargo build --bin cz --release
# Install cz to ~/.cargo/bin
install:
cargo install --path . --bin cz
# Uninstall cz
uninstall:
cargo uninstall cz 2>/dev/null || echo "cz not installed"
# =============================================================================
# Quality Checks
# =============================================================================
# Format code
fmt:
cargo fmt
# Check formatting
fmt-check:
cargo fmt -- --check
# Run clippy
lint:
cargo clippy --all-targets -- -D warnings
# Alias for lint
clippy: lint
# Run tests
test:
cargo test
# Run all checks
check: fmt-check lint test
# Run CI checks
ci: fmt-check lint test build
# =============================================================================
# Development
# =============================================================================
# Run cz with arguments
run *ARGS:
cargo run --bin cz -- {{ARGS}}
# Watch and rebuild on changes
watch:
cargo watch -x "build --bin cz"
# Clean build artifacts
clean:
cargo clean
# =============================================================================
# Documentation
# =============================================================================
# Build documentation
doc:
cargo doc --no-deps
# Open documentation
doc-open:
cargo doc --no-deps --open