kogral/justfiles/dev.just

124 lines
3.8 KiB
Plaintext
Raw Normal View History

2026-01-23 16:12:50 +00:00
# ╔══════════════════════════════════════════════════════════════════════╗
# ║ DEVELOPMENT UTILITIES ║
# ║ Watch, format, lint, docs ║
# ╚══════════════════════════════════════════════════════════════════════╝
# Help for dev module
help:
@echo "DEVELOPMENT MODULE"
@echo ""
@echo "Code quality:"
@echo " just dev::fmt Format code (Rust + TOML + Nickel)"
@echo " just dev::fmt-check Check format (no changes)"
@echo " just dev::lint Run clippy linter"
@echo " just dev::lint-all Lint Rust + Nickel + NuShell"
@echo " just dev::audit Audit dependencies"
@echo ""
@echo "Documentation:"
@echo " just dev::docs Generate and open docs"
@echo " just dev::docs-gen Generate docs only"
@echo ""
@echo "Common tasks:"
@echo " just dev::build Build default features"
@echo " just dev::watch Watch and rebuild on changes"
@echo " just dev::check Check + fmt + lint"
@echo ""
@echo "Inspect:"
@echo " just dev::info Show workspace info"
@echo " just dev::tree Show dependency tree"
# === CODE FORMATTING ===
# Format all code (Rust + TOML + Nickel)
[doc("Format Rust, TOML, and Nickel code")]
fmt:
@echo "=== Formatting code ==="
cargo fmt --all
@echo "✓ Rust code formatted"
# Check code formatting without modifying
[doc("Check code format (no changes)")]
fmt-check:
@echo "=== Checking code format ==="
cargo fmt --all -- --check
@echo "✓ Code format check passed"
# === LINTING ===
# Run clippy linter on Rust code
[doc("Run clippy linter")]
lint:
@echo "=== Running clippy ==="
cargo clippy --workspace --all-features -- -D warnings
@echo "✓ Clippy check passed"
# Lint all languages (Rust + Nickel + NuShell)
[doc("Lint Rust, Nickel, and NuShell code")]
lint-all:
@echo "=== Linting all code ==="
@just dev::lint
@just nickel::lint
@echo "✓ All linting passed"
# Audit dependencies for security vulnerabilities
[doc("Audit dependencies")]
audit:
@echo "=== Auditing dependencies ==="
cargo audit
@echo "✓ Dependency audit passed"
# === DOCUMENTATION ===
# Generate and open documentation
[doc("Generate and open Rust docs")]
docs:
@echo "=== Generating documentation ==="
cargo doc --workspace --all-features --no-deps --open
# Generate documentation only (no open)
[doc("Generate Rust docs only")]
docs-gen:
@echo "=== Generating documentation ==="
cargo doc --workspace --all-features --no-deps
# === COMMON TASKS ===
# Build default features
[doc("Build workspace with default features")]
build:
@cargo build --workspace
# Watch and rebuild on changes
[doc("Watch for changes and rebuild")]
watch:
@echo "=== Watching for changes ==="
cargo watch -x "build --workspace"
# Check + format + lint
[doc("Run check + fmt + lint")]
check:
@just dev::fmt-check
@just dev::lint
@cargo check --workspace --all-features
@echo "✓ All checks passed"
# === INSPECT ===
# Show workspace information
[doc("Show workspace information")]
info:
@echo "=== Workspace Information ==="
@cargo tree --workspace --depth 1
@echo ""
@echo "=== Crates ==="
@ls -1 crates/
@echo ""
@echo "=== Features (kogral-core) ==="
@cargo tree --package kogral-core --features full --depth 0
# Show dependency tree
[doc("Show complete dependency tree")]
tree:
@echo "=== Dependency Tree ==="
cargo tree --workspace