Skip to content

feat(curl,task): add nuxt curl, nuxt task list and nuxt task run - #1417

Merged
danielroe merged 10 commits into
mainfrom
feat/task-curl
Aug 2, 2026
Merged

feat(curl,task): add nuxt curl, nuxt task list and nuxt task run#1417
danielroe merged 10 commits into
mainfrom
feat/task-curl

Conversation

@danielroe

@danielroe danielroe commented Jul 31, 2026

Copy link
Copy Markdown
Member

🔗 Linked issue

closes #353

📚 Description

this picks up on the lockfile support added in #1414 to add two more commands that use the lock file to find the running server:

Video preview

Screen.Recording.2026-07-31.at.23.00.53.mov

nuxt curl

sends requests to your dev server without needing to know the port

nuxt curl /api/hello
nuxt curl /api/users -X POST -d '{"name":"daniel"}'
nuxt curl /api/data -H "Authorization: Bearer token"

it auto-detects JSON bodies, pretty-prints JSON responses in a TTY, and exits 22 on HTTP errors (matching real curl's --fail).

nuxt task list and nuxt task run

these commands talk to Nitro's task runner

# shows descriptions and any scheduled crons
nuxt task list

# prints the task's result and exits non-zero with the server's error when the task fails
nuxt task run db:migrate --payload.force=true
nuxt task run db:migrate --payload '{"force":true}'

Important

--payload.key=value pairs are always strings, as they are when Nitro reads them from the query string, so the JSON form is an escape hatch.

Note

nuxt task works with nitropack 2 (nuxt 4) and Nitro 3 (nuxt 5)

behind the scenes, both commands resolve the server in this order:

source when
--url flag always wins
lock file (nuxt.lock) if a dev server is running
Nitro dev worker socket nuxt task only, when there is no lock†

† the worker fallback means nuxt task works even when the dev server was started by something other than nuxt dev (for example, programmatically from nuxt/kit).

@pkg-pr-new

pkg-pr-new Bot commented Jul 31, 2026

Copy link
Copy Markdown
  • nuxt-cli-playground

    npm i https://pkg.pr.new/create-nuxt@1417
    
    npm i https://pkg.pr.new/nuxi@1417
    
    npm i https://pkg.pr.new/@nuxt/cli@1417
    

commit: 97926e0

@codspeed-hq

codspeed-hq Bot commented Jul 31, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 2 untouched benchmarks


Comparing feat/task-curl (97926e0) with main (b80ed9c)

Open in CodSpeed

@danielroe
danielroe requested review from atinux and pi0 July 31, 2026 16:27
@danielroe
danielroe force-pushed the feat/task-curl branch 2 times, most recently from 16813ee to 7c46daf Compare July 31, 2026 21:43
@TheAlexLichter

TheAlexLichter commented Jul 31, 2026

Copy link
Copy Markdown
Member

Somewhat (un)related note as I saw nuxt.lock: Vite might get a lockfile themselves (vitejs/vite#23065 (comment))

@danielroe

Copy link
Copy Markdown
Member Author

nice! it makes sense.

I am assuming vite wouldn't write a lockfile if it's being used programmatically by something like nuxt

@danielroe
danielroe requested a review from TheAlexLichter July 31, 2026 22:27
@danielroe
danielroe force-pushed the feat/task-curl branch 2 times, most recently from 402050d to c2bcb18 Compare August 1, 2026 08:21
Base automatically changed from feat/dev-takeover to main August 2, 2026 08:24
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 22f23587-722c-4118-b49f-d9951119b67a

📥 Commits

Reviewing files that changed from the base of the PR and between 81bfd82 and 97926e0.

📒 Files selected for processing (15)
  • packages/nuxt-cli/src/commands/curl.ts
  • packages/nuxt-cli/src/commands/dev.ts
  • packages/nuxt-cli/src/commands/index.ts
  • packages/nuxt-cli/src/commands/task/_utils.ts
  • packages/nuxt-cli/src/commands/task/index.ts
  • packages/nuxt-cli/src/commands/task/list.ts
  • packages/nuxt-cli/src/commands/task/run.ts
  • packages/nuxt-cli/src/utils/dev-server.ts
  • packages/nuxt-cli/src/utils/json-highlight.ts
  • packages/nuxt-cli/test/e2e/commands.spec.ts
  • packages/nuxt-cli/test/unit/commands/curl.spec.ts
  • packages/nuxt-cli/test/unit/commands/task.spec.ts
  • packages/nuxt-cli/test/unit/dev-server.spec.ts
  • packages/nuxt-cli/test/unit/help.spec.ts
  • packages/nuxt-cli/test/unit/utils/json-highlight.spec.ts
🚧 Files skipped from review as they are similar to previous changes (14)
  • packages/nuxt-cli/test/e2e/commands.spec.ts
  • packages/nuxt-cli/src/utils/json-highlight.ts
  • packages/nuxt-cli/src/commands/task/run.ts
  • packages/nuxt-cli/src/commands/dev.ts
  • packages/nuxt-cli/test/unit/help.spec.ts
  • packages/nuxt-cli/test/unit/utils/json-highlight.spec.ts
  • packages/nuxt-cli/test/unit/commands/task.spec.ts
  • packages/nuxt-cli/test/unit/dev-server.spec.ts
  • packages/nuxt-cli/src/commands/task/list.ts
  • packages/nuxt-cli/src/utils/dev-server.ts
  • packages/nuxt-cli/src/commands/task/_utils.ts
  • packages/nuxt-cli/test/unit/commands/curl.spec.ts
  • packages/nuxt-cli/src/commands/index.ts
  • packages/nuxt-cli/src/commands/curl.ts

📝 Walkthrough

Walkthrough

Adds nuxt curl for absolute URLs or detected Nuxt dev servers. It supports headers, request bodies, JSON formatting, verbose output, and curl-compatible HTTP failures. Adds nuxt task list and nuxt task run for Nitro task discovery and execution over HTTP or Unix sockets. Adds shared dev-server utilities, JSON highlighting, command registration, help updates, and unit and end-to-end test coverage.

Estimated code review effort: 4 (Complex) | ~45 minutes

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The nuxt curl command and related tests are not covered by linked issue #353, which only requests Nitro task integration. Split the curl feature into a separate pull request or link an issue that explicitly covers its implementation.
Docstring Coverage ⚠️ Warning Docstring coverage is 44.19% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the addition of the nuxt curl and task commands.
Description check ✅ Passed The description directly explains the new curl and task commands, their behavior, and server-resolution logic.
Linked Issues check ✅ Passed The task commands satisfy issue #353 by integrating Nitro task listing and execution through a running development server.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/task-curl

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🧹 Nitpick comments (1)
packages/nuxt-cli/src/utils/dev-server.ts (1)

99-101: 🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

Avoid evaluating the user config twice per task command.

resolveTaskServer in packages/nuxt-cli/src/commands/task/_utils.ts (lines 79-84) calls findDevServer(cwd) and then findNitroDevWorker(cwd). Each call runs resolveLockDir, which can call getNuxtConfig when .nuxt is absent. Loading the user config twice is slow and can run config side effects twice. Resolve the lock directory once in the caller and pass it as buildDir to both functions.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/nuxt-cli/src/utils/dev-server.ts` around lines 99 - 101, Update
resolveTaskServer to resolve the lock directory once and pass that resolved
directory as buildDir to both findDevServer and findNitroDevWorker. Ensure these
calls no longer independently invoke resolveLockDir or evaluate the user
configuration twice, while preserving their existing server-discovery behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/nuxt-cli/src/commands/curl.ts`:
- Around line 86-104: The curl command must reject a defined body when the
resolved method in the method/body setup is GET or HEAD before calling fetch.
Add an early validation that prints a direct usage error and exits, while
preserving the existing request and network-error handling for valid
combinations.
- Around line 136-151: The readRequestBody function assumes data is always a
string, but repeated -d arguments may provide an array and cause startsWith to
throw. Update readRequestBody to normalize repeated values before checking for
stdin or file syntax, or explicitly reject arrays with a clear error while
preserving existing single-value behavior.

In `@packages/nuxt-cli/src/commands/task/_utils.ts`:
- Around line 240-268: Update both httpRequest and socketRequest to enforce a
configurable timeout suitable for long-running tasks. Pass an AbortSignal or
equivalent timeout to fetch in httpRequest, and configure the request/socket
timeout in socketRequest so stalled connections reject rather than waiting
indefinitely; ensure timers and listeners are cleaned up after completion.

In `@packages/nuxt-cli/src/commands/task/run.ts`:
- Around line 100-112: Update assign() to reject unsafe path segments named
__proto__, constructor, or prototype before reading or assigning target[key],
including at every recursive level. Return without mutation when any segment is
unsafe, while preserving existing nested assignment behavior for other keys.

In `@packages/nuxt-cli/test/unit/commands/curl.spec.ts`:
- Around line 56-65: Make the curl test setup deterministic by explicitly
setting process.stdout.isTTY to false in the beforeEach setup, and restore its
original value during cleanup such as afterEach. Keep the existing write spies
and assertions unchanged, ensuring writeResponseBody always follows the non-TTY
output path regardless of the developer’s terminal environment.

---

Nitpick comments:
In `@packages/nuxt-cli/src/utils/dev-server.ts`:
- Around line 99-101: Update resolveTaskServer to resolve the lock directory
once and pass that resolved directory as buildDir to both findDevServer and
findNitroDevWorker. Ensure these calls no longer independently invoke
resolveLockDir or evaluate the user configuration twice, while preserving their
existing server-discovery behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3358e6b1-b03a-40d0-88fe-a77f08846250

📥 Commits

Reviewing files that changed from the base of the PR and between 9d7ce7a and 9050f12.

📒 Files selected for processing (15)
  • packages/nuxt-cli/src/commands/curl.ts
  • packages/nuxt-cli/src/commands/dev.ts
  • packages/nuxt-cli/src/commands/index.ts
  • packages/nuxt-cli/src/commands/task/_utils.ts
  • packages/nuxt-cli/src/commands/task/index.ts
  • packages/nuxt-cli/src/commands/task/list.ts
  • packages/nuxt-cli/src/commands/task/run.ts
  • packages/nuxt-cli/src/utils/dev-server.ts
  • packages/nuxt-cli/src/utils/json-highlight.ts
  • packages/nuxt-cli/test/e2e/commands.spec.ts
  • packages/nuxt-cli/test/unit/commands/curl.spec.ts
  • packages/nuxt-cli/test/unit/commands/task.spec.ts
  • packages/nuxt-cli/test/unit/dev-server.spec.ts
  • packages/nuxt-cli/test/unit/help.spec.ts
  • packages/nuxt-cli/test/unit/utils/json-highlight.spec.ts

Comment thread packages/nuxt-cli/src/commands/curl.ts Outdated
Comment on lines +136 to +151
async function readRequestBody(data: string | undefined): Promise<string | undefined> {
if (data === undefined) {
return undefined
}
if (data === '@-') {
const chunks: Buffer[] = []
for await (const chunk of process.stdin) {
chunks.push(chunk as Buffer)
}
return Buffer.concat(chunks).toString('utf-8')
}
if (data.startsWith('@')) {
return await readFile(data.slice(1), 'utf-8')
}
return data
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
fd -t f 'package.json' packages/nuxt-cli --exec cat {} \; | rg -n 'citty'
rg -nP --type=ts -C3 'toArray\(' packages/nuxt-cli/src

Repository: nuxt/cli

Length of output: 1218


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== packages/nuxt-cli/src/commands/curl.ts relevant sections =="
sed -n '1,225p' packages/nuxt-cli/src/commands/curl.ts

echo
echo "== citty package files =="
fd -t f --hidden '^citty\.' packages/nuxt-cli/node_modules pkg 2>/dev/null || true
fd -t f --hidden 'package.json' packages/nuxt-cli/node_modules 2>/dev/null | head -80

echo
echo "== citty source mentions for args handling =="
rg -n --type=text "string|array|parseArgs|Repeated|command" packages/nuxt-cli/src packages/nuxt-cli 2>/dev/null | head -200 || true

Repository: nuxt/cli

Length of output: 5848


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== lockfile/package manager references for citty =="
git ls-files | rg '(^|/)(pnpm-lock\.yaml|package-lock\.json|yarn\.lock|bun\.lockb?)$' || true
for f in pnpm-lock.yaml package-lock.json yarn.lock bun.lock bun.lockb; do
  if [ -f "$f" ]; then
    echo "--- $f ---"
    rg -n '"?citty"?|\.citty' "$f" || true
  fi
done

echo
echo "== npm metadata for citty@0.2.2 =="
npm view citty@0.2.2 dist.tarball version --json 2>/dev/null || true

echo
echo "== fetch and parse citty source from tarball =="
tmp="$(mktemp -d)"
tarball="$(npm view citty@0.2.2 dist.tarball 2>/dev/null || true)"
if [ -n "${tarball:-}" ]; then
  curl -fsSL "$tarball" -o "$tmp/citty.tgz"
  tar -xzf "$tmp/citty.tgz" -C "$tmp"
  echo "--- files ---"
  find "$tmp/package" -maxdepth 3 -type f | sort | sed 's#^`#-` #'
  echo "--- src/parse.ts ---"
  sed -n '1,260p' "$tmp/package/src/parse.ts" 2>/dev/null || true
  echo "--- src/utils.ts ---"
  sed -n '1,240p' "$tmp/package/src/utils.ts" 2>/dev/null || true
  echo "--- src/index.ts ---"
  sed -n '1,220p' "$tmp/package/src/index.ts" 2>/dev/null || true
  echo "--- repeated arg relevant mentions ---"
  rg -n "split|trim|isArray|repeat|args|positionals|value" "$tmp/package/src" || true
fi

echo
echo "== local citty if installed =="
if [ -d packages/nuxt-cli/node_modules/citty ]; then
  rg -n '"?citty"?|node_modules/citty' package.json packages/nuxt-cli/package.json
  sed -n '1,260p' packages/nuxt-cli/node_modules/citty/src/parse.ts 2>/dev/null || true
else
  echo "packages/nuxt-cli/node_modules/citty not present"
fi

Repository: nuxt/cli

Length of output: 1569


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== npm registry mirror availability =="
npm view citty dist.time --json 2>/dev/null || echo FAILED
npm view citty@0.2.2 --json 2>/dev/null | jq -r '"dist.tarball=" + .dist.tarball' || true

echo
echo "== parse citty@0.2.2 source from npm tarball using registry-compatible fetch =="
tmp="$(mktemp -d)"
tarball="$(npm view citty@0.2.2 dist.tarball 2>/dev/null || true)"
if [ -n "${tarball:-}" ]; then
  echo "tarball=$tarball"
  curl -fsSL "$tarball" -o "$tmp/citty.tgz"
  tar -xzf "$tmp/citty.tgz" -C "$tmp"
  echo "--- package files ---"
  find "$tmp/package" -maxdepth 3 -type f | sort | sed 's#^`#-` #'
  echo "--- dist citty source snippets ---"
  rg -n "string|array|split|trim|parseArgs|defineCommand|command" "$tmp/package/dist" -A3 -B3 || true
  echo "--- src citty source snippets, if any ---"
  (test -d "$tmp/package/src" && rg -n "string|array|split|trim|parseArgs|defineCommand|command" "$tmp/package/src" -A3 -B3 || true)
else
  echo "Unable to fetch citty@0.2.2 tarball: $tarball"
fi

Repository: nuxt/cli

Length of output: 25937


Handle a repeated -d flag.

data is declared as type string, but citty can return repeated string args as an array, so data.startsWith can throw a TypeError for -d a -d b. Normalize data before body detection, or reject multiple values with a clear message.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/nuxt-cli/src/commands/curl.ts` around lines 136 - 151, The
readRequestBody function assumes data is always a string, but repeated -d
arguments may provide an array and cause startsWith to throw. Update
readRequestBody to normalize repeated values before checking for stdin or file
syntax, or explicitly reject arrays with a clear error while preserving existing
single-value behavior.

Comment on lines +240 to +268
async function httpRequest(url: string, options: RequestOptions): Promise<TaskResponse> {
const response = await fetch(url, options)
return { ok: response.ok, status: response.status, data: parseBody(await response.text()) }
}

/**
* Nitro's dev worker usually listens on a unix socket rather than a port, which
* `fetch` cannot dial.
*/
function socketRequest(socketPath: string, path: string, options: RequestOptions): Promise<TaskResponse> {
return new Promise((resolve, reject) => {
const req = http.request({ socketPath, path, method: options.method || 'GET', headers: options.headers }, (res) => {
res.setEncoding('utf-8')
let body = ''
res.on('data', (chunk: string) => {
body += chunk
})
res.on('end', () => {
const status = res.statusCode || 0
resolve({ ok: status >= 200 && status < 300, status, data: parseBody(body) })
})
})
req.on('error', reject)
if (options.body) {
req.write(options.body)
}
req.end()
})
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Add a timeout to both transports.

httpRequest calls fetch without a signal, and socketRequest sets no socket or request timeout. If the dev worker accepts the connection but never answers, the command waits forever and the user must interrupt it. A long-running task also has no upper bound, so pick a timeout that fits task execution, or make it configurable.

♻️ Proposed change for the socket transport
 function socketRequest(socketPath: string, path: string, options: RequestOptions): Promise<TaskResponse> {
   return new Promise((resolve, reject) => {
     const req = http.request({ socketPath, path, method: options.method || 'GET', headers: options.headers }, (res) => {
       res.setEncoding('utf-8')
       let body = ''
       res.on('data', (chunk: string) => {
         body += chunk
       })
+      res.on('error', reject)
       res.on('end', () => {
         const status = res.statusCode || 0
         resolve({ ok: status >= 200 && status < 300, status, data: parseBody(body) })
       })
     })
+    req.setTimeout(REQUEST_TIMEOUT_MS, () => {
+      req.destroy(new Error(`Timed out after ${REQUEST_TIMEOUT_MS}ms`))
+    })
     req.on('error', reject)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/nuxt-cli/src/commands/task/_utils.ts` around lines 240 - 268, Update
both httpRequest and socketRequest to enforce a configurable timeout suitable
for long-running tasks. Pass an AbortSignal or equivalent timeout to fetch in
httpRequest, and configure the request/socket timeout in socketRequest so
stalled connections reject rather than waiting indefinitely; ensure timers and
listeners are cleaned up after completion.

Comment thread packages/nuxt-cli/src/commands/task/run.ts
Comment thread packages/nuxt-cli/test/unit/commands/curl.spec.ts

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/nuxt-cli/src/commands/curl.ts`:
- Around line 196-198: Update the @<file> handling in readRequestBody to catch
readFile failures and report a direct user-facing error through the command’s
existing error/exit flow, rather than allowing the rejection to propagate as an
unhandled stack trace. Preserve successful UTF-8 file reads and the behavior of
other request-body inputs.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: cbb98d57-6264-42a0-9c5d-8d719e932b95

📥 Commits

Reviewing files that changed from the base of the PR and between 9050f12 and 8427d76.

📒 Files selected for processing (15)
  • packages/nuxt-cli/src/commands/curl.ts
  • packages/nuxt-cli/src/commands/dev.ts
  • packages/nuxt-cli/src/commands/index.ts
  • packages/nuxt-cli/src/commands/task/_utils.ts
  • packages/nuxt-cli/src/commands/task/index.ts
  • packages/nuxt-cli/src/commands/task/list.ts
  • packages/nuxt-cli/src/commands/task/run.ts
  • packages/nuxt-cli/src/utils/dev-server.ts
  • packages/nuxt-cli/src/utils/json-highlight.ts
  • packages/nuxt-cli/test/e2e/commands.spec.ts
  • packages/nuxt-cli/test/unit/commands/curl.spec.ts
  • packages/nuxt-cli/test/unit/commands/task.spec.ts
  • packages/nuxt-cli/test/unit/dev-server.spec.ts
  • packages/nuxt-cli/test/unit/help.spec.ts
  • packages/nuxt-cli/test/unit/utils/json-highlight.spec.ts
🚧 Files skipped from review as they are similar to previous changes (12)
  • packages/nuxt-cli/src/utils/json-highlight.ts
  • packages/nuxt-cli/src/commands/task/index.ts
  • packages/nuxt-cli/src/commands/task/list.ts
  • packages/nuxt-cli/test/e2e/commands.spec.ts
  • packages/nuxt-cli/test/unit/dev-server.spec.ts
  • packages/nuxt-cli/test/unit/help.spec.ts
  • packages/nuxt-cli/test/unit/commands/task.spec.ts
  • packages/nuxt-cli/src/commands/index.ts
  • packages/nuxt-cli/src/utils/dev-server.ts
  • packages/nuxt-cli/src/commands/task/run.ts
  • packages/nuxt-cli/src/commands/task/_utils.ts
  • packages/nuxt-cli/test/unit/utils/json-highlight.spec.ts

Comment thread packages/nuxt-cli/src/commands/curl.ts
@danielroe
danielroe added this pull request to the merge queue Aug 2, 2026
Merged via the queue into main with commit e80f9d0 Aug 2, 2026
19 checks passed
@danielroe
danielroe deleted the feat/task-curl branch August 2, 2026 15:30
@github-actions github-actions Bot mentioned this pull request Aug 2, 2026
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.

Integrate with Nitro Tasks

2 participants