go-task Automation
All automation uses go-task (https://taskfile.dev). Tasks are defined in YAML files.
File Structure
code
Taskfile.dist.yml # Root taskfile, includes taskfiles/* taskfiles/ ├── binutils.yml # Custom Rust utilities ├── brew.yml # Homebrew management ├── dotfiles.yml # Symlink/copy dotfiles ├── mise.yml # Polyglot tool manager ├── nvim.yml # Neovim plugin management ├── shell.yml # Shell environment refresh └── system.yml # System dependencies
Naming Convention
Tasks follow namespace:verb pattern:
- •
nvim:update- Update Neovim plugins - •
brew:install- Install Homebrew packages - •
dotfiles:install- Apply dotfile symlinks
Common Commands
bash
task -l # List all available tasks task install # Run full setup task <name> # Run specific task task --dry # Show what would run
Adding New Tasks
- •Add to appropriate
taskfiles/<namespace>.yml - •Use
desc:for user-facing tasks - •Use
internal: truefor helper tasks - •Follow existing indentation (2 spaces)
Variables
- •
{{.ROOT_DIR}}- Repository root - •
{{.FORCE}}- From FORCE env var for reinstall mode - •Task-local vars in
vars:block