version: "3"
tasks:
default:
desc: Show available tasks
cmds:
- task --list
setup:
desc: "Install all dependencies and initialize project. Idempotent."
cmds:
- cargo fetch
- prek install
- prek install --hook-type commit-msg
- echo "Setup complete"
build:
desc: Build the uncomment binary
cmds:
- cargo build --release
test:
desc: Run all tests
cmds:
- cargo test
test:verbose:
desc: Run tests with verbose output
cmds:
- cargo test -- --nocapture
lint:
desc: Run all linters and formatters via prek
cmds:
- prek run --all-files
format:
desc: Format code
cmds:
- cargo fmt --all
check:
desc: Run all checks (lint + test)
cmds:
- task: lint
- task: test
clean:
desc: Clean build artifacts
cmds:
- cargo clean
update:
desc: Update dependencies
cmds:
- cargo update
- prek autoupdate