From 2b7bdb56283d020833f223287dcde762e218348f Mon Sep 17 00:00:00 2001 From: Stephen Waits Date: Tue, 7 Apr 2026 14:40:03 -0600 Subject: [PATCH] chore: add consistent mise.toml, justfile, and tooling config --- deny.toml | 34 ++++++++++++++++++++++++++++++++++ justfile | 43 +++++++++++++++++++++++++++++++++++++------ mise.toml | 3 +++ rustfmt.toml | 3 +++ 4 files changed, 77 insertions(+), 6 deletions(-) create mode 100644 deny.toml create mode 100644 mise.toml create mode 100644 rustfmt.toml diff --git a/deny.toml b/deny.toml new file mode 100644 index 0000000..dcfcdcd --- /dev/null +++ b/deny.toml @@ -0,0 +1,34 @@ +# cargo-deny configuration (v0.19+) +# Run with: cargo deny check + +[licenses] +version = 2 + +# Permissive licenses only. No copyleft. +allow = [ + "MIT", + "MIT-0", + "Apache-2.0", + "BSD-1-Clause", + "BSD-2-Clause", + "BSD-3-Clause", + "BSL-1.0", + "ISC", + "Zlib", + "Unlicense", + "CC0-1.0", + "CDLA-Permissive-2.0", + "Unicode-3.0", + "MPL-2.0", +] + +[advisories] + +[bans] +multiple-versions = "warn" +wildcards = "warn" + +[sources] +unknown-registry = "deny" +unknown-git = "warn" +allow-git = [] diff --git a/justfile b/justfile index bfd0025..2d12f88 100644 --- a/justfile +++ b/justfile @@ -2,18 +2,49 @@ set shell := ["bash", "-c"] default: run +[private] +_ensure_tools: + @mise trust --yes . 2>/dev/null; mise install --quiet + # Run the mux daemon -run *args: +run *args: _ensure_tools cargo run -- {{args}} # Run with verbose logging -verbose *args: +verbose *args: _ensure_tools cargo run -- --verbose {{args}} -# Run clippy and tests -check: - cargo clippy -- -D warnings && cargo test +# Run all checks (fmt, clippy, test, audit) +check: fmt-check clippy test audit + +# Format code +fmt: _ensure_tools + cargo fmt + +# Check formatting without changing files +fmt-check: _ensure_tools + cargo fmt --check + +# Lint with clippy +clippy: _ensure_tools + cargo clippy --all-targets -- -D warnings + +# Run tests +test: _ensure_tools + cargo test + +# Security + license audit +audit: _ensure_tools + cargo deny check # Build release -build: +build: _ensure_tools cargo build --release + +# Check for outdated dependencies +outdated: _ensure_tools + cargo outdated + +# Clean build artifacts +clean: + cargo clean diff --git a/mise.toml b/mise.toml new file mode 100644 index 0000000..35d983c --- /dev/null +++ b/mise.toml @@ -0,0 +1,3 @@ +[tools] +rust = "1.94" +just = "latest" diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000..3139ac8 --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1,3 @@ +edition = "2024" +max_width = 120 +use_small_heuristics = "Max"