From 118673d8d2009623d8e597668f0191ae3b1fdfc1 Mon Sep 17 00:00:00 2001 From: Vaskin Kissoyan Date: Sun, 14 Dec 2025 09:33:12 -0600 Subject: [PATCH 1/2] chore: add justfile for better DevEx --- justfile | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 justfile diff --git a/justfile b/justfile new file mode 100644 index 0000000..461b91e --- /dev/null +++ b/justfile @@ -0,0 +1,106 @@ +# ycbust justfile - Developer commands +# +# Usage: just [args...] +# Run `just` or `just help` to see all available commands + +# Default command - show help +default: + @just --list + +# ============================================================================ +# Build Commands +# ============================================================================ + +# Build the library and binary (debug) +build: + cargo build + +# Build in release mode +build-release: + cargo build --release + +# Check code without building +check: + cargo check + +# Format code +fmt: + cargo fmt + +# Run clippy linter +lint: + cargo clippy -- -D warnings + +# ============================================================================ +# Test Commands +# ============================================================================ + +# Run all tests +test: + cargo test + +# Run tests with output +test-verbose: + cargo test -- --nocapture + +# Run only library tests +test-lib: + cargo test --lib + +# ============================================================================ +# Run Commands +# ============================================================================ + +# Run the CLI tool +# Usage: just run [args...] +run +args: + cargo run -- {{args}} + +# Run the CLI help +run-help: + cargo run -- --help + +# Run the CLI to download representative subset to /tmp/ycb-test +run-demo: + cargo run -- --subset representative --output-dir /tmp/ycb-test --overwrite + +# ============================================================================ +# CI/CD Commands +# ============================================================================ + +# Run full CI check (format, lint, test) +ci: fmt lint test + +# Pre-commit check +pre-commit: fmt lint check test + +# ============================================================================ +# Development Commands +# ============================================================================ + +# Watch for changes and rebuild +watch: + cargo watch -x check + +# Generate documentation +doc: + cargo doc --open + +# Clean build artifacts +clean: + cargo clean + +# ============================================================================ +# Help +# ============================================================================ + +# Show detailed help +help: + @echo "ycbust - YCB Dataset Downloader and Extractor" + @echo "" + @echo "QUICK START:" + @echo " just build # Build the project" + @echo " just test # Run all tests" + @echo " just run-demo # Download sample data to /tmp/ycb-test" + @echo "" + @echo "Run 'just --list' to see all available commands." From b1b3df0a8ae853b3ec81752252d3c5737c725ba7 Mon Sep 17 00:00:00 2001 From: Vaskin Kissoyan Date: Sun, 14 Dec 2025 09:34:07 -0600 Subject: [PATCH 2/2] docs: add Development section to README --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index 78aa707..5636f9b 100644 --- a/README.md +++ b/README.md @@ -86,3 +86,21 @@ For each object, the tool creates a directory structure like this: ## Integration with Bevy/Three-d For rendering, point your asset loader to the `google_16k/textured.obj` file. It will automatically pick up the material and texture map if they are in the same folder. + +## Development + +This project uses `just` as a command runner. + +```bash +# List all available commands +just + +# Build the project +just build + +# Run all tests +just test + +# Download sample data (representative subset) to /tmp/ycb-test +just run-demo +```