| name | taskrunner |
| description | Instructions for running project tasks. Use this when you need to run a project-specific command or workflow. |
Taskrunner Skill
Instructions for running project tasks. All commands use Task as the task runner (see Taskfile.yaml).
Essential Commands
task install
task dev
task new
task typegen
task lint
task format
task test
task build
task serve
task clean
Running Specific Tests
task test:unit always collects coverage (--coverage is baked into the task) and enforces the 100% threshold from vitest.config.ts. Filtering to a single file (as below) scopes the coverage report — and the threshold check — to just the files that test loads, so it stays accurate for one-file runs and won't fail because of unrelated gaps elsewhere in the codebase; it will still fail if the filtered file itself isn't fully covered.
task test:unit -- src/__tests__/unit/helpers.test.ts
task test:component -- src/__tests__/components/article.test.tsx
task test:unit:watch
task test:component:watch
task test:e2e -- src/__tests__/feature/index.test.ts
task test:e2e -- --ui
Common Workflows
After editing source code
task lint
task test:unit
After editing components
task lint
task test:component
Before opening a pull request
task test
After editing Markdown content
task build
Infrastructure & Deployment Tasks
The Terraform modules are exposed as root-level namespaces — no cd needed (see the terraform skill for details):
task terraform:validate
task terraform:plan
task terraform:deploy
task site:validate
task site:plan WORKSPACE=pr-123
task site:deploy WORKSPACE=pr-123
task site:destroy WORKSPACE=pr-123
Gotcha: only pass -- <extra args> to tasks that run a single command. Multi-command tasks (e.g. site:destroy, site:plan) append {{.CLI_ARGS}} to every command they run, so extra flags break intermediate steps like terraform workspace select.
After editing infrastructure
task terraform:validate && task terraform:plan
task site:validate