# Turing Machine Simulator - Build Commands
# Default recipe
default:
@just --list
# Development commands
dev:
cargo watch -x check -x test
# Web development with hot reload
dev-web:
cd platforms/web && trunk serve --open
check:
cargo check --all-targets
cargo clippy --all-targets -- -D warnings
cargo fmt --check
test:
cargo test --workspace
# Build all platforms
build-all: build-cli build-tui build-web
# Build CLI platform
build-cli:
cargo build --release --package tur-cli
# Build TUI platform
build-tui:
cargo build --release --package tur-tui
# Build web platform using trunk
build-web:
cd platforms/web && trunk build --release
# Run platforms
run-cli *ARGS:
cargo run --package tur-cli -- {{ARGS}}
run-tui *ARGS:
cargo run --package tur-tui -- {{ARGS}}
# Serve web platform locally with hot reload
serve-web:
cd platforms/web && trunk serve
# Build and serve web platform (production)
serve-web-prod: build-web
cd platforms/web && python3 -m http.server 8000 --directory dist
# Nix build commands
nix-build-cli:
nix build .#cli
nix-build-tui:
nix build .#tui
nix-build-web:
nix build .#web
nix-build-all:
nix build .#cli .#tui .#web
# Clean build artifacts
clean:
cargo clean
rm -rf platforms/web/dist
rm -rf result*
# Format code
fmt:
cargo fmt
nixpkgs-fmt flake.nix
# Update dependencies
update:
cargo update
nix flake update