default: just -l run mode="quiet": #! /bin/bash case "{{ mode }}" in quiet) RUSTFLAGS="-A warnings" cargo run --quiet ;; *) cargo run ;; esac build: cargo build --release install: build #! /bin/bash # Build release binary echo "Building release binary..." # Create local bin directory if it doesn't exist mkdir -p ~/.local/bin # Copy binary to local bin (rename from carto to carto) cp target/release/carto ~/.local/bin/carto chmod +x ~/.local/bin/carto echo "Installed 'carto' to ~/.local/bin/carto" echo "" echo "Make sure ~/.local/bin is in your PATH:" echo " echo 'export PATH=\"\$HOME/.local/bin:\$PATH\"' >> ~/.zshrc" echo " source ~/.zshrc" echo "" echo "Usage examples:" echo " carto packages --source flatpak" echo " carto tree --package bash" echo " carto file /usr/bin/bash" uninstall: #! /bin/bash if [ -f ~/.local/bin/carto ]; then rm ~/.local/bin/carto echo "Uninstalled 'carto' from ~/.local/bin" else echo "'carto' not found in ~/.local/bin" fi # Clean up old names if they exist if [ -f ~/.local/bin/where ]; then rm ~/.local/bin/where echo "Also removed old 'where' binary" fi system-install: build #! /bin/bash # System-wide installation (requires sudo) echo "Installing system-wide (requires sudo)..." sudo cp target/release/carto /usr/local/bin/carto sudo chmod +x /usr/local/bin/carto echo "Installed 'carto' to /usr/local/bin/carto" system-uninstall: #! /bin/bash if [ -f /usr/local/bin/carto ]; then sudo rm /usr/local/bin/carto echo "Uninstalled 'carto' from /usr/local/bin" else echo "'carto' not found in /usr/local/bin" fi clean: cargo clean