.PHONY: ci fmt clippy doc build test deny check install setup clean help
ci: fmt clippy doc build test deny
@echo "✓ All CI checks passed"
fmt:
cargo fmt --all -- --check
clippy:
cargo clippy --all-targets -- -D warnings
doc:
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps
build:
cargo build --release
test:
cargo nextest run --release
deny:
cargo deny check
check: fmt clippy deny
@echo "✓ Quick checks passed"
test-unit:
cargo test --lib
install: build
cp ./target/release/lessence ~/.cargo/bin/lessence
@lessence --version
setup:
@echo "Installing development tools..."
cargo install cargo-deny
curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ~/.cargo/bin
rustup component add clippy rustfmt
@echo ""
@echo "✓ Tools installed:"
@cargo deny --version
@cargo nextest --version
@cargo clippy --version
@cargo fmt --version
clean:
cargo clean
help:
@echo "lessence Development Commands"
@echo ""
@echo " make ci — Run full CI pipeline (same as GitHub Actions)"
@echo " make check — Quick pre-push validation (fmt + clippy + deny)"
@echo " make setup — Install required dev tools"
@echo " make install — Build and install to PATH"
@echo ""
@sed -n 's/^##//p' $(MAKEFILE_LIST) | column -t -s ':' | sed 's/^/ /'