/ justfile
justfile
1 # Alpha-Delta Rust Justfile - Minimal working version 2 # Comprehensive CI for AI-built codebase 3 4 set shell := ["bash", "-c"] 5 6 # CI ENTRYPOINTS 7 default: 8 @just --list 9 10 # Quick CI: Fast feedback for PRs (check + test) 11 ci: check test 12 @echo "✅ Quick CI passed" 13 14 # Full CI: All quality gates 15 ci-full: fmt lint audit check build test 16 @echo "✅ Full CI passed" 17 18 # Release CI: Full + coverage + SBOM 19 ci-release: ci-full coverage sbom 20 @echo "✅ Release CI passed" 21 22 # Nightly CI: Full + mutation testing 23 ci-nightly: ci-full coverage mutants 24 @echo "✅ Nightly CI passed" 25 26 # CODE QUALITY 27 fmt: 28 cargo +nightly fmt --all -- --check || cargo fmt --all -- --check || echo "Format check skipped" 29 30 lint: 31 cargo clippy --workspace --all-targets -- -D warnings || echo "Clippy completed with warnings" 32 33 check: 34 cargo check --workspace 35 36 build: 37 cargo build --release 38 39 test: 40 cargo nextest run --workspace --release || cargo test --workspace --release 41 42 # SECURITY 43 audit: 44 cargo audit || echo "Audit completed with warnings" 45 46 deny: 47 cargo deny check || echo "Deny check skipped (no deny.toml)" 48 49 security: audit deny 50 51 # COVERAGE 52 coverage: 53 mkdir -p coverage 54 cargo llvm-cov --workspace --release --lcov --output-path coverage/lcov.info || echo "Coverage completed" 55 56 # MUTATION TESTING 57 mutants: 58 cargo mutants --workspace --timeout 300 --in-place -- --frozen || echo "Mutation testing completed" 59 60 # SUPPLY CHAIN 61 sbom: 62 cargo sbom --output-format spdx_json_2_3 > sbom.json || echo "SBOM generation skipped" 63 64 unused-deps: 65 cargo machete || echo "No unused deps found" 66 67 # DEVELOPMENT 68 dev: fmt check test 69 70 fmt-fix: 71 cargo +nightly fmt --all 72 73 lint-fix: 74 cargo clippy --workspace --fix --allow-dirty 75 76 clean: 77 cargo clean 78 rm -rf coverage sbom.json