/ 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