🛠️ Development Tools¶
This repository includes Task and mise for streamlined development.
Task Runner¶
Task provides convenient commands for common operations:
# List all available tasks
task --list
# Install all dependencies (mise, go-task, Python packages)
task install:all
# Run all validation checks (required before commit)
task validate:all
# Run specific validations
task validate:chezmoi # Validate Chezmoi config
task validate:shell # Validate shell scripts
task validate:fish # Validate Fish config
# Run tests
task test:all # All tests
task test:chezmoi-apply # Test Chezmoi apply
# Chezmoi operations
task chezmoi:init # Preview changes (dry-run)
task chezmoi:diff # Show differences
task chezmoi:verify # Verify applied files
# Development setup
task dev:setup # Complete dev environment setup
# CI tasks
task ci:validate # Run CI validation pipeline
Mise (Tool Version Manager)¶
Mise manages tool versions defined in
.mise.toml:
# Install mise-managed tools
mise install
# Show installed tools
mise list
# Upgrade all tools
mise upgrade
# Check mise configuration
mise doctor
Full-mode installations automatically install both Task and mise. Light mode installs only mise.
Pre-commit Hooks¶
This repository uses pre-commit for code quality checks:
# Install dependencies
pip3 install -r requirements.txt
# Setup pre-commit hooks (from repository root)
home/.chezmoiscripts/linux/run_once_setup-precommit.sh
# Run manually on all files
pre-commit run --all-files
Hooks run automatically on git commit. The checks include:
- ✂️ Trailing whitespace removal
- 📄 End-of-file fixes
- 🔍 YAML validation
- 🎨 Shell script formatting (
shfmt)
These scripts and hooks are also used in the GitHub Actions CI pipeline to ensure quality.