Skip to content

docs: Deploy docs only on docs changes or manual trigger - #422

Merged
ilyabo merged 5 commits into
mainfrom
docs--Reduce-git-lfs-bandwidth
Mar 9, 2026
Merged

ilyabo merged 5 commits into
mainfrom
docs--Reduce-git-lfs-bandwidth

Conversation

@ilyabo

@ilyabo ilyabo commented Mar 9, 2026 •

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • Chores
    • Optimized documentation deployment triggers to focus on relevant paths.
    • Streamlined example synchronization workflow to automatically generate build configuration files when missing.
    • Implemented automatic dependency version synchronization across all example projects to ensure consistency.

ilyabo added 4 commits March 9, 2026 13:28
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
@coderabbitai

coderabbitai Bot commented Mar 9, 2026 •

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

These changes refine CI/CD workflows by updating trigger paths and media references in deploy-docs, and removing Git LFS handling while adding netlify.toml generation and automated dependency versioning based on lerna.json in sync-examples.

Changes

Cohort / File(s) Summary
Deploy Documentation Workflow
.github/workflows/deploy-docs.yml
Narrowed push trigger from packages/** and docs/** to only docs/** and workflow file. Updated Git LFS media path reference from docs/media to docs/public/media.
Examples Sync Workflow
.github/workflows/sync-examples.yml
Removed Git LFS checkout and install steps, eliminated media syncing logic. Added automated netlify.toml generation with default build configuration. Introduced versioning flow reading from source/lerna.json to update @sqlrooms/* dependencies and generate package-locks in all target examples. Added commit and force-push of all changes to origin main.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐰 Workflows dance with fresh new grace,
Git LFS takes a step back in place,
Netlify configs bloom like carrots so fine,
Dependencies aligned in perfect design,
Examples sync smooth, no media in sight,
Our CI/CD pipelines shining bright! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately summarizes the main change: restricting docs deployment to trigger only on docs changes or manual trigger, which aligns with the removal of packages/** from push triggers in deploy-docs.yml.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs--Reduce-git-lfs-bandwidth

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 and usage tips.

@coderabbitai coderabbitai 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.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/deploy-docs.yml (1)

7-9: ⚠️ Potential issue | 🟠 Major

Keep TypeDoc inputs in the deploy trigger.

This workflow still regenerates docs/api/** from package sources (pnpm run docs:build:typedoc), so dropping non-docs/** inputs here means API docs stop updating when packages or docs-build config change.

Suggested trigger adjustment
   push:
     branches:
       - main
     paths:
       - 'docs/**'
+      - 'packages/**'
+      - 'package.json'
+      - 'pnpm-lock.yaml'
+      - 'turbo.json'
       - '.github/workflows/deploy-docs.yml'
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/deploy-docs.yml around lines 7 - 9, The deploy-docs
workflow removed inputs that trigger TypeDoc rebuilds; update the paths array in
the deploy-docs workflow to include package source and docs-build config changes
so pnpm run docs:build:typedoc still runs when relevant code/config changes —
e.g., re-add patterns for package sources (packages/** or your monorepo package
folders), root manifest/lock files (package.json, pnpm-lock.yaml) and any
TypeScript/TypeDoc config files used by the build (tsconfig*.json,
typedoc.json), ensuring the existing docs/** and the workflow file remain listed
so API docs regenerate correctly when package or config changes occur.
🧹 Nitpick comments (2)
.github/workflows/sync-examples.yml (2)

100-110: Consider error handling for lockfile generation.

If npm install --package-lock-only fails for an example, the loop continues silently. This could result in examples being synced without valid lockfiles.

♻️ Add error handling to fail fast on npm errors
          # Generate lockfiles for each example
          find target -name "package.json" -type f | while read -r file; do
            dir=$(dirname "$file")
            # Skip if it's a nested node_modules
            if [[ ! "$dir" =~ node_modules ]]; then
              echo "Generating lockfile for $dir"
-             cd "$dir"
-             npm install --package-lock-only --legacy-peer-deps
-             cd - > /dev/null
+             (cd "$dir" && npm install --package-lock-only --legacy-peer-deps) || {
+               echo "Failed to generate lockfile for $dir"
+               exit 1
+             }
            fi
          done
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/sync-examples.yml around lines 100 - 110, The lockfile
generation loop currently ignores failures from npm; update the loop that reads
package.json files (the while read -r file block that computes dir=$(dirname
"$file"), cds into "$dir" and runs npm install --package-lock-only
--legacy-peer-deps) to detect npm failures and fail fast: after running npm
install check its exit status (or enable set -e before the loop) and if it
fails, print an error including the directory and exit non-zero so the workflow
stops instead of continuing silently.

67-79: Heredoc indentation will be included in the generated file.

The leading spaces (from YAML indentation) will be written literally into netlify.toml. While TOML parsers typically handle this, it results in an oddly formatted config file.

♻️ Consider using a tab-stripped heredoc or removing indentation
              if [ ! -f "$NETLIFY_FILE" ]; then
-               cat <<'EOF' > "$NETLIFY_FILE"
-          [build]
-            command = "npm run build"
-            publish = "dist"
-
-          [build.environment]
-            NODE_VERSION = "24.11.1"
-            NODE_OPTIONS = "--max_old_space_size=4096"
-            NPM_FLAGS = "--force"  # Override dependency constraints
-            CI = "false"  # This will prevent treating warnings as errors
-
-          EOF
+               cat > "$NETLIFY_FILE" << 'EOF'
+[build]
+  command = "npm run build"
+  publish = "dist"
+
+[build.environment]
+  NODE_VERSION = "24.11.1"
+  NODE_OPTIONS = "--max_old_space_size=4096"
+  NPM_FLAGS = "--force"  # Override dependency constraints
+  CI = "false"  # This will prevent treating warnings as errors
+EOF
              fi
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/sync-examples.yml around lines 67 - 79, The heredoc
invoked with cat <<'EOF' > "$NETLIFY_FILE" preserves the YAML indentation into
netlify.toml; update the heredoc invocation to strip leading indentation (e.g.,
use a tab-stripping form like cat <<-'EOF' > "$NETLIFY_FILE" and ensure
indentation uses tabs, or remove all leading spaces so the heredoc content lines
start at column 0) so the generated NETLIFY_FILE contains clean, unindented
TOML; adjust the existing heredoc block around the cat <<'EOF' > "$NETLIFY_FILE"
marker accordingly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@examples/ai/README.md`:
- Line 9: Replace the invalid alt usage on the <video> element by providing
proper accessible alternatives: wrap the video in a <figure> with a <figcaption>
(or add aria-describedby pointing to a nearby description), add a <source> child
for the mp4, and include a <track kind="captions"> with an English VTT file
(e.g., ai-example.en.vtt) so captions are available; alternatively include or
link a text transcript below the video for non-audio content. Ensure the
existing <video> tag in examples/ai/README.md is updated to remove the alt
attribute and include the figure/figcaption, source, and track elements (or a
transcript) so it meets WCAG guidelines.

In `@examples/app-builder/README.md`:
- Line 6: The <video> element in the README uses an unsupported alt attribute;
replace alt with an accessible label by adding an aria-label on the <video> tag
(e.g., aria-label="SQLRooms AI App builder demo"), and also add captions via a
<track kind="captions"> child or include a short descriptive transcript/caption
text adjacent to the <video> element to meet accessibility requirements; update
the <video> element in the README accordingly (refer to the <video> tag in the
diff).

---

Outside diff comments:
In @.github/workflows/deploy-docs.yml:
- Around line 7-9: The deploy-docs workflow removed inputs that trigger TypeDoc
rebuilds; update the paths array in the deploy-docs workflow to include package
source and docs-build config changes so pnpm run docs:build:typedoc still runs
when relevant code/config changes — e.g., re-add patterns for package sources
(packages/** or your monorepo package folders), root manifest/lock files
(package.json, pnpm-lock.yaml) and any TypeScript/TypeDoc config files used by
the build (tsconfig*.json, typedoc.json), ensuring the existing docs/** and the
workflow file remain listed so API docs regenerate correctly when package or
config changes occur.

---

Nitpick comments:
In @.github/workflows/sync-examples.yml:
- Around line 100-110: The lockfile generation loop currently ignores failures
from npm; update the loop that reads package.json files (the while read -r file
block that computes dir=$(dirname "$file"), cds into "$dir" and runs npm install
--package-lock-only --legacy-peer-deps) to detect npm failures and fail fast:
after running npm install check its exit status (or enable set -e before the
loop) and if it fails, print an error including the directory and exit non-zero
so the workflow stops instead of continuing silently.
- Around line 67-79: The heredoc invoked with cat <<'EOF' > "$NETLIFY_FILE"
preserves the YAML indentation into netlify.toml; update the heredoc invocation
to strip leading indentation (e.g., use a tab-stripping form like cat <<-'EOF' >
"$NETLIFY_FILE" and ensure indentation uses tabs, or remove all leading spaces
so the heredoc content lines start at column 0) so the generated NETLIFY_FILE
contains clean, unindented TOML; adjust the existing heredoc block around the
cat <<'EOF' > "$NETLIFY_FILE" marker accordingly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ca8f6e22-cfa1-4146-bfb3-5f429d86f8b7

📥 Commits

Reviewing files that changed from the base of the PR and between 94c02e1 and 8106d7c.

⛔ Files ignored due to path filters (18)
  • docs/public/media/case-studies/cosmograph-2.0-967px.mp4 is excluded by !**/*.mp4
  • docs/public/media/case-studies/flowmap-city.mp4 is excluded by !**/*.mp4
  • docs/public/media/case-studies/transcality.mp4 is excluded by !**/*.mp4
  • docs/public/media/examples/ai-example-dark.mp4 is excluded by !**/*.mp4
  • docs/public/media/examples/ai-example-light.mp4 is excluded by !**/*.mp4
  • docs/public/media/examples/multi-room.mp4 is excluded by !**/*.mp4
  • docs/public/media/examples/sqlrooms-ai-app-builder-2x.mp4 is excluded by !**/*.mp4
  • docs/public/media/examples/sqlrooms-deckgl-mosaic-1500px.mp4 is excluded by !**/*.mp4
  • docs/public/media/key-concepts/room-shell.png is excluded by !**/*.png
  • docs/public/media/logo-large.png is excluded by !**/*.png
  • docs/public/media/offline/sqlrooms-query-pwa.png is excluded by !**/*.png
  • docs/public/media/overview/architecture.svg is excluded by !**/*.svg
  • docs/public/media/sqlrooms-examples-75.mp4 is excluded by !**/*.mp4
  • docs/public/media/sqlrooms-intro-2.mp4 is excluded by !**/*.mp4
  • docs/public/media/sqlrooms-query.mp4 is excluded by !**/*.mp4
  • docs/public/media/whats-new/commands.mp4 is excluded by !**/*.mp4
  • docs/public/media/whats-new/row-selection.png is excluded by !**/*.png
  • docs/public/media/whats-new/tab-strip-component.mp4 is excluded by !**/*.mp4
📒 Files selected for processing (40)
  • .gitattributes
  • .github/workflows/deploy-docs.yml
  • .github/workflows/sync-examples.yml
  • CLAUDE.md
  • README.md
  • docs/public/media/case-studies/cosmograph.webp
  • docs/public/media/case-studies/flowmap-city.webp
  • docs/public/media/case-studies/fsq-spatial-desktop-earthquakes.webp
  • docs/public/media/case-studies/transcality.webp
  • docs/public/media/examples/ai-example.webp
  • docs/public/media/examples/cosmos-embedding-light.webp
  • docs/public/media/examples/cosmos-embedding.webp
  • docs/public/media/examples/cosmos-graph.webp
  • docs/public/media/examples/deckgl-discuss.webp
  • docs/public/media/examples/deckgl.webp
  • docs/public/media/examples/get-started.webp
  • docs/public/media/examples/kepler.webp
  • docs/public/media/examples/mosaic.webp
  • docs/public/media/examples/motherduck-example.webp
  • docs/public/media/examples/nextjs.webp
  • docs/public/media/examples/old-sqlrooms-ai.webp
  • docs/public/media/examples/rag.webp
  • docs/public/media/examples/sqlrooms-ai-example.webp
  • docs/public/media/examples/sqlrooms-query.webp
  • docs/public/media/overview/collage.webp
  • examples/ai-rag/README.md
  • examples/ai/README.md
  • examples/app-builder/README.md
  • examples/cosmos-embedding/README.md
  • examples/cosmos/README.md
  • examples/deckgl-discuss/README.md
  • examples/deckgl-mosaic/README.md
  • examples/deckgl/README.md
  • examples/kepler/README.md
  • examples/mosaic/README.md
  • examples/multi-room/README.md
  • examples/nextjs/README.md
  • examples/query-motherduck/README.md
  • examples/query/README.md
  • scripts/update-readme.mjs

Comment thread examples/ai/README.md
[![Netlify Status](https://api.netlify.com/api/v1/badges/031f0d4f-c2a3-44f8-adf1-6429164bb0c7/deploy-status)](https://app.netlify.com/projects/sqlrooms-ai/deploys)

<video src="/media/examples/ai-example-light.mp4" alt="SQLRooms AI example app" width="450" controls loop muted></video>
<video src="https://sqlrooms.org/media/examples/ai-example-light.mp4" alt="SQLRooms AI example app" width="450" controls loop muted></video>

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.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

Does the HTML <video> element support an alt attribute? What is the recommended accessible way to provide a text description for embedded video in HTML?

💡 Result:

No. The HTML <video> element does not support an alt attribute (the alt attribute is defined for images like <img>, not for <video>). [1][2]

Recommended accessible approaches for text equivalents/descriptions of video:

  • Provide captions using <track kind="captions" ...> (for speech and meaningful sound). [3]
  • Provide a text transcript (often linked or placed immediately below the video). If important visual information isn’t conveyed in audio, use a descriptive transcript and/or audio description. [4][5]
  • If you need to associate a longer description with the player in-page, reference nearby text with aria-describedby (or use visible context such as a <figure>/<figcaption>). [4]

Example (captions + transcript/description):

<figure>
  <video controls aria-describedby="video-desc">
    <source src="demo.mp4" type="video/mp4">
    <track kind="captions" src="demo.en.vtt" srclang="en" label="English captions">
  </video>
  <figcaption id="video-desc">
    Transcript (includes description of key visuals): … <a href="demo-transcript.html">Read</a>
  </figcaption>
</figure>

Sources: WHATWG HTML Standard and related W3C HTML WG discussions on alt, plus W3C WAI and WebAIM guidance on transcripts/captions/audio description. [1][2][4][5]

[1] https://html.spec.whatwg.org/multipage/media.html
[2] https://www.w3.org/html/wg/wiki/ChangeProposals/PosterElement
[3] https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video
[4] https://www.w3.org/WAI/media/av/transcripts/
[5] https://webaim.org/techniques/captions/


Provide proper text alternatives for the video using captions or transcripts, not just aria-label.

The <video> element does not support the alt attribute. According to W3C Web Accessibility Guidelines, the proper approaches to make embedded video accessible are:

  1. Captions — Use <track kind="captions"> for speech and meaningful sounds
  2. Transcripts — Provide a text transcript (linked or visible below the video), ideally descriptive if key visuals are not conveyed in audio
  3. Visible description — Wrap the video in a <figure> with <figcaption> or use aria-describedby to reference an adjacent description

Using aria-label alone is insufficient and does not meet accessibility standards. Consider restructuring with captions and/or a visible transcript:

<figure>
  <video controls aria-describedby="video-desc" width="450">
    <source src="https://sqlrooms.org/media/examples/ai-example-light.mp4" type="video/mp4">
    <track kind="captions" src="ai-example.en.vtt" srclang="en" label="English">
  </video>
  <figcaption id="video-desc">
    SQLRooms AI example app demo — demonstrates key features and usage patterns
  </figcaption>
</figure>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@examples/ai/README.md` at line 9, Replace the invalid alt usage on the
<video> element by providing proper accessible alternatives: wrap the video in a
<figure> with a <figcaption> (or add aria-describedby pointing to a nearby
description), add a <source> child for the mp4, and include a <track
kind="captions"> with an English VTT file (e.g., ai-example.en.vtt) so captions
are available; alternatively include or link a text transcript below the video
for non-audio content. Ensure the existing <video> tag in examples/ai/README.md
is updated to remove the alt attribute and include the figure/figcaption,
source, and track elements (or a transcript) so it meets WCAG guidelines.

| [Open in StackBlitz](https://stackblitz.com/github/sqlrooms/examples/tree/main/app-builder?embed=1&file=src/main.tsx)

<video src="/media/examples/sqlrooms-ai-app-builder-2x.mp4" alt="SQLRooms AI App builder" width="450" controls loop muted></video>
<video src="https://sqlrooms.org/media/examples/sqlrooms-ai-app-builder-2x.mp4" alt="SQLRooms AI App builder" width="450" controls loop muted></video>

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.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

Does the HTML <video> element support an alt attribute? What is the recommended accessible way to provide a text description for embedded video in HTML?

💡 Result:

No. The HTML <video> element does not support an alt attribute—alt is for <img> (and certain image-type inputs), and the HTML spec’s <video> attributes do not include alt. [1]

Recommended accessible ways to provide a text description for video:

  • Provide captions/subtitles via <track> (for spoken dialog and important sounds). [1]
  • Provide a descriptive transcript in nearby HTML (a text alternative that includes dialog and key visual information). The HTML spec explicitly notes you can provide transcripts by linking to them in the prose near the <video> element. [1] WAI recommends descriptive transcripts for broad accessibility needs. [2]
  • Provide audio description for important visual-only information, e.g. with a WebVTT description track (<track kind="descriptions">) or an alternate described version of the video (noting native support can vary). [1] [3]

Example pattern:

<figure>
  <video controls aria-describedby="vid-desc">
    <source src="movie.mp4" type="video/mp4">
    <track kind="captions" src="movie.en.vtt" srclang="en" label="English captions">
    <track kind="descriptions" src="movie.en.desc.vtt" srclang="en" label="English audio description">
  </video>

  <figcaption id="vid-desc">
    Short description of what the video shows.
    <a href="#transcript">Read the descriptive transcript</a>
  </figcaption>
</figure>

<section id="transcript">
  <!-- descriptive transcript in HTML -->
</section>

Sources: HTML Standard on media accessibility (captions, audio descriptions, transcripts near the video). [1] WAI guidance on transcripts. [2] WCAG technique for description tracks (kind="descriptions"). [3]


Replace alt on <video> with an accessible label.

alt is not supported on <video> elements, so this attribute will be ignored. For proper accessibility, use aria-label, provide captions with <track kind="captions">, or add a descriptive transcript near the video element.

♿ Suggested fix
-<video src="https://sqlrooms.org/media/examples/sqlrooms-ai-app-builder-2x.mp4" alt="SQLRooms AI App builder" width="450"  controls loop muted></video>
+<video
+  src="https://sqlrooms.org/media/examples/sqlrooms-ai-app-builder-2x.mp4"
+  aria-label="SQLRooms AI App Builder demo"
+  width="450"
+  controls
+  loop
+  muted
>
+  SQLRooms AI App Builder demo
+</video>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<video src="https://sqlrooms.org/media/examples/sqlrooms-ai-app-builder-2x.mp4" alt="SQLRooms AI App builder" width="450" controls loop muted></video>
<video
src="https://sqlrooms.org/media/examples/sqlrooms-ai-app-builder-2x.mp4"
aria-label="SQLRooms AI App Builder demo"
width="450"
controls
loop
muted
>
SQLRooms AI App Builder demo
</video>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@examples/app-builder/README.md` at line 6, The <video> element in the README
uses an unsupported alt attribute; replace alt with an accessible label by
adding an aria-label on the <video> tag (e.g., aria-label="SQLRooms AI App
builder demo"), and also add captions via a <track kind="captions"> child or
include a short descriptive transcript/caption text adjacent to the <video>
element to meet accessibility requirements; update the <video> element in the
README accordingly (refer to the <video> tag in the diff).

@coderabbitai coderabbitai 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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/sync-examples.yml (1)

84-98: ⚠️ Potential issue | 🟠 Major

Update all @sqlrooms/* dependency sections, not just dependencies.

The jq filter on lines 90–97 only updates .dependencies. References in devDependencies, peerDependencies, or optionalDependencies remain as workspace:* and will fail to resolve when line 108 runs npm install --package-lock-only outside the monorepo.

Five manifests currently have @sqlrooms/* entries in non-dependencies sections:

  • Root package.json also lacks a .dependencies section entirely (only devDependencies)
  • packages/ai-core/package.json, packages/room-store/package.json: @sqlrooms/* in devDependencies
  • packages/duckdb/package.json: @sqlrooms/* in devDependencies
  • packages/duckdb-node/package.json: @sqlrooms/* in peerDependencies

The fix should iterate all four sections (dependencies, devDependencies, peerDependencies, optionalDependencies) and handle manifests that lack a .dependencies section:

Suggested fix
-            jq --arg version "$VERSION" \
-              '(.dependencies | with_entries(
-                if .key | startswith("@sqlrooms/")
-                then .value = $version
-                else .
-                end
-              )) as $deps
-              | .dependencies = $deps' "$file" > temp.json
+            jq --arg version "$VERSION" '
+              reduce ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"][] as $section
+                (.;
+                  if .[$section] == null then .
+                  else .[$section] |= with_entries(
+                    if .key | startswith("@sqlrooms/")
+                    then .value = $version
+                    else .
+                    end
+                  )
+                  end
+                )
+            ' "$file" > temp.json
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/sync-examples.yml around lines 84 - 98, The current jq
invocation in the find loop only updates .dependencies and leaves workspace:*
entries in devDependencies, peerDependencies, and optionalDependencies; update
the jq filter used in the loop (the command that builds temp.json for each
"$file") to process all four sections by mapping over [.dependencies,
.devDependencies, .peerDependencies, .optionalDependencies] (creating missing
objects if they don’t exist) and replace any keys starting with "@sqlrooms/"
with $version in each section; keep the surrounding shell logic (VERSION=$(jq -r
'.version' source/lerna.json), the find ... | while read -r file; do loop,
temp.json mv "$file") but change only the jq expression so it updates or creates
those sections for the given file variable.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In @.github/workflows/sync-examples.yml:
- Around line 84-98: The current jq invocation in the find loop only updates
.dependencies and leaves workspace:* entries in devDependencies,
peerDependencies, and optionalDependencies; update the jq filter used in the
loop (the command that builds temp.json for each "$file") to process all four
sections by mapping over [.dependencies, .devDependencies, .peerDependencies,
.optionalDependencies] (creating missing objects if they don’t exist) and
replace any keys starting with "@sqlrooms/" with $version in each section; keep
the surrounding shell logic (VERSION=$(jq -r '.version' source/lerna.json), the
find ... | while read -r file; do loop, temp.json mv "$file") but change only
the jq expression so it updates or creates those sections for the given file
variable.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6ccad7c1-74db-420c-947b-e3f7a301b84c

📥 Commits

Reviewing files that changed from the base of the PR and between 8106d7c and b45ae8c.

📒 Files selected for processing (1)
  • .github/workflows/sync-examples.yml

@ilyabo
ilyabo merged commit d4a1cbb into main Mar 9, 2026
4 checks passed
@ilyabo
ilyabo deleted the docs--Reduce-git-lfs-bandwidth branch March 9, 2026 21:31
mihajlo-stojkovic pushed a commit that referenced this pull request Mar 12, 2026
bdjulbic pushed a commit that referenced this pull request Mar 16, 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.

1 participant