Skip to content

Commit cfafb77

Browse files
Jonathan D.A. Jewellclaude
andcommitted
chore: rename justfile to Justfile for consistency
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent e7b943e commit cfafb77

2 files changed

Lines changed: 49 additions & 200 deletions

File tree

Justfile

Lines changed: 49 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -1,151 +1,65 @@
1-
# Justfile for ECHIDNA
2-
# PRIMARY build system (not Make)
1+
# echidna - Rust Development Tasks
2+
set shell := ["bash", "-uc"]
3+
set dotenv-load := true
34

4-
# Default recipe
5+
project := "echidna"
6+
7+
# Show all recipes
58
default:
6-
@just --list
9+
@just --list --unsorted
710

8-
# Build all components
9-
build: build-rust build-julia build-ui
10-
@echo "✓ ECHIDNA build complete"
11+
# Build debug
12+
build:
13+
cargo build
1114

12-
# Build Rust core
13-
build-rust:
14-
@echo "Building Rust core..."
15+
# Build release
16+
build-release:
1517
cargo build --release
1618

17-
# Build Julia components
18-
build-julia:
19-
@echo "Building Julia components..."
20-
julia --project=src/julia -e 'using Pkg; Pkg.instantiate()'
21-
22-
# Build ReScript UI
23-
build-ui:
24-
@echo "Building ReScript UI..."
25-
cd src/rescript && npm install && npm run res:build
26-
27-
# Run all tests
28-
test: test-rust test-julia test-proofs
29-
@echo "✓ All tests passed"
30-
31-
# Test Rust components
32-
test-rust:
33-
@echo "Testing Rust..."
34-
cargo test --all-features
35-
36-
# Test Julia ML components
37-
test-julia:
38-
@echo "Testing Julia..."
39-
julia --project=src/julia test/runtests.jl
40-
41-
# Test proof examples
42-
test-proofs:
43-
@echo "Testing proof validation..."
44-
./scripts/test-proofs.sh
45-
46-
# Run all quality checkers
47-
check: check-licenses check-security check-format check-julia
48-
@echo "✓ All quality checks passed"
49-
50-
# Check license compliance (REUSE)
51-
check-licenses:
52-
@echo "Checking license compliance..."
53-
reuse lint
54-
55-
# Security scanning (Trivy)
56-
check-security:
57-
@echo "Scanning for security issues..."
58-
trivy fs --severity HIGH,CRITICAL .
59-
60-
# Check code formatting
61-
check-format:
62-
@echo "Checking Rust formatting..."
63-
cargo fmt -- --check
64-
cargo clippy -- -D warnings
19+
# Run tests
20+
test:
21+
cargo test
6522

66-
# Check Julia code quality
67-
check-julia:
68-
@echo "Checking Julia code..."
69-
julia --project=src/julia -e 'using Aqua, JET; ...'
23+
# Run tests verbose
24+
test-verbose:
25+
cargo test -- --nocapture
7026

7127
# Format code
7228
fmt:
73-
@echo "Formatting code..."
7429
cargo fmt
7530

31+
# Check formatting
32+
fmt-check:
33+
cargo fmt -- --check
34+
35+
# Run clippy lints
36+
lint:
37+
cargo clippy -- -D warnings
38+
39+
# Check without building
40+
check:
41+
cargo check
42+
7643
# Clean build artifacts
7744
clean:
78-
@echo "Cleaning build artifacts..."
7945
cargo clean
80-
rm -rf target/
81-
rm -rf src/julia/Manifest.toml
82-
cd src/rescript && npm run res:clean
83-
rm -rf src/rescript/node_modules
84-
85-
# Build container (Podman)
86-
container-build:
87-
@echo "Building container with Podman..."
88-
podman build -f Containerfile -t echidna:latest .
89-
90-
# Run container
91-
container-run:
92-
@echo "Running ECHIDNA container..."
93-
podman run -it echidna:latest
94-
95-
# Deploy templates to Quill repo
96-
deploy-templates:
97-
@echo "Deploying RSR/CCCP templates..."
98-
./scripts/deploy-templates.sh
99-
100-
# Initialize project
101-
setup:
102-
@echo "Setting up ECHIDNA project..."
103-
./scripts/setup.sh
104-
105-
# Customize placeholders
106-
customize:
107-
@echo "Customizing template placeholders..."
108-
./scripts/customize.sh
109-
110-
# Run proof examples for all provers
111-
proof-examples PROVER="all":
112-
@echo "Running proof examples for {{PROVER}}..."
113-
./scripts/run-proofs.sh {{PROVER}}
114-
115-
# Benchmark neural solver
116-
bench:
117-
@echo "Running benchmarks..."
118-
cargo bench
119-
120-
# Generate documentation
121-
docs:
122-
@echo "Generating documentation..."
46+
47+
# Run the project
48+
run *ARGS:
49+
cargo run -- {{ARGS}}
50+
51+
# Generate docs
52+
doc:
12353
cargo doc --no-deps --open
124-
julia --project=src/julia -e 'using Documenter; ...'
125-
126-
# Development server
127-
dev:
128-
@echo "Starting development server..."
129-
cargo watch -x 'run --bin echidna'
130-
131-
# Development server for UI
132-
dev-ui:
133-
@echo "Starting ReScript UI development server..."
134-
cd src/rescript && npm run dev
135-
136-
# Build and serve UI
137-
serve-ui:
138-
@echo "Serving ReScript UI..."
139-
cd src/rescript && npm run serve
140-
141-
# Watch ReScript compilation
142-
watch-ui:
143-
@echo "Watching ReScript files..."
144-
cd src/rescript && npm run res:dev
145-
146-
# Install development dependencies
147-
install-dev-deps:
148-
@echo "Installing development dependencies..."
149-
cargo install cargo-watch
150-
cargo install wasm-pack
151-
julia --project=src/julia -e 'using Pkg; Pkg.add(["Aqua", "JET", "Coverage"])'
54+
55+
# Update dependencies
56+
update:
57+
cargo update
58+
59+
# Audit dependencies
60+
audit:
61+
cargo audit
62+
63+
# All checks before commit
64+
pre-commit: fmt-check lint test
65+
@echo "All checks passed!"

justfile

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)