ADR-085: Taskfile for development automation¶
Category: development Provenance: autonomous-ai
Decision¶
Use Taskfile as the primary interface for all development tasks, replacing Makefile. All common workflows (testing, quality checks, deployment, cluster management) must have corresponding Taskfile tasks.
Rationale¶
Taskfile provides a modern, robust alternative to Make with better cross-platform support, built-in dependency management (DAG), parallel execution, and declarative syntax (YAML). It supports checksum-based caching (sources/generates) and status checks natively, enabling true idempotency. This allows us to unify CI/CD and local development workflows using the exact same commands.
Agent Instructions¶
Always check the Taskfile.yml for existing tasks before running commands directly. Use 'task --list' to see available tasks. When adding new development workflows, create corresponding tasks with descriptive help text. Use namespaced tasks (e.g., 'test:unit', 'cluster:create') for better organization. Ensure tasks are idempotent where possible using 'status' checks or 'sources/generates'. Do not use 'make' commands anymore.
Rejected Alternatives¶
Keep Makefile¶
Make syntax is arcane, hard to maintain for complex dependencies, and lacks native checksum/status features.
Shell scripts only¶
Hard to discover, no dependency management, harder to compose.