Skip to content

docs(tasks): document defaults and selection, add a Turborepo guide - #380

Open
arcanis wants to merge 1 commit into
mael/tasks-glob-chainfrom
mael/tasks-turbo-guide
Open

arcanis wants to merge 1 commit into
mael/tasks-glob-chainfrom
mael/tasks-turbo-guide

Conversation

@arcanis

@arcanis arcanis commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Docs for the task orchestration stack:

  • tasks.md covers ^name, @workspaces defaults, workspace selection, failure handling, the CI standalone default, and long-lived tasks with ^build.
  • A new "Migrating from Turborepo" page maps turbo.json and turbo commands to taskfiles and yarn tasks run.
  • scripts/bench-tasks.sh compares workspaces foreach and tasks run on a generated project.

Stacked on #379.


Note

Low Risk
Documentation and an optional dev benchmark script only; no runtime or product behavior changes in this diff.

Overview
Documents multi-workspace Yarn tasks orchestration and adds a Turborepo migration guide, plus a local benchmark script.

tasks.md gains sections on ^build shorthand, root @workspaces defaults (script delegation, ordering-only no-ops, overrides), yarn tasks run workspace selection (-A, --from, --affected, dependency/dependent expansion, concurrency, --continue, --errors-only, CI --standalone), and @long-lived dev servers.

A new getting-started/migrating/turborepo page maps turbo.json pipelines to root taskfiles (including changesetGlobalFiles), notes that task caching is not implemented yet, and tables common turbo CLI flags to yarn tasks run / yarn workspaces list --since.

scripts/bench-tasks.sh generates a random-DAG monorepo and times workspaces foreach vs several tasks run --standalone -A build modes (script-backed, inline body, scheduling-only).

Reviewed by Cursor Bugbot for commit b472b94. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursor cursor Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Unquoted benchmark labels split on spaces
    • Added quotes around $1 in the measure() function's local assignment to prevent word-splitting of benchmark labels containing spaces.

Create PR

Or push these changes by commenting:

@cursor push 0e87334825
Preview (0e87334825)
diff --git a/scripts/bench-tasks.sh b/scripts/bench-tasks.sh
--- a/scripts/bench-tasks.sh
+++ b/scripts/bench-tasks.sh
@@ -52,7 +52,7 @@
 }
 
 measure() {
-  local label=$1; shift
+  local label="$1"; shift
 
   for _ in $(seq "$RUNS"); do
     local start; start=$(now)

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit f505b1d. Configure here.

Comment thread scripts/bench-tasks.sh
}

measure() {
local label=$1; shift

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unquoted benchmark labels split on spaces

Medium Severity

local label=$1 leaves $1 unquoted, so every measure label is word-split. All four labels contain spaces, so local treats extra words as identifiers (and can error under set -e), and printed timings never show the intended names.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit f505b1d. Configure here.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not an issue: bash doesn't word-split the right-hand side of assignments, including local label=$1 (checked with labels containing spaces under set -e).

- tasks.md covers `^name`, `@workspaces` defaults, workspace selection,
  failure handling, the CI standalone default and long-lived tasks
  with `^build`.
- A new "Migrating from Turborepo" page maps turbo.json and the turbo
  CLI to taskfiles and `yarn tasks run`.
- scripts/bench-tasks.sh compares `workspaces foreach` and
  `tasks run` on a generated project.
@arcanis
arcanis force-pushed the mael/tasks-glob-chain branch from 9e93395 to d485ee4 Compare October 9, 2026 13:59
@arcanis
arcanis force-pushed the mael/tasks-turbo-guide branch from f505b1d to b472b94 Compare October 9, 2026 13:59

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant