Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs

name: Node.js CI

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x, 20.x, 22.x]
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Drop unsupported Node 18 from CI matrix

The workflow adds 18.x to the test matrix even though this repo explicitly declares Node >=20.0.0 in package.json (and .nvmrc is 20), so CI is now validating an environment the project does not support. This creates avoidable red builds when scripts or dependencies rely on Node 20+ behavior, which can block merges despite supported runtimes being healthy; the matrix should align to supported versions only.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

What are the currently supported Node.js LTS versions as of May 2026?

💡 Result:

As of May 9, 2026, the Node.js “LTS” release lines currently supported by the Node.js project are: 1) Node.js 24.x — Active LTS [1] 2) Node.js 22.x — Maintenance LTS [1] 3) Node.js 20.x — Maintenance LTS (ends Apr 30, 2026; still an LTS line during May 2026 only if downstream/security tooling continues it, but per the project schedule its EOL date is Apr 30, 2026) [2][3] Note: Node.js 25.x is “Current” (not LTS) [1][2], and Node.js 26.x is also “Current” (not yet LTS; enters LTS in October 2026) [4].

Citations:


Update Node.js matrix to remove EOL versions and include current LTS releases.

Node.js 18.x reached end-of-life in April 2025, and Node.js 20.x reached end-of-life on April 30, 2026. Both versions no longer receive security updates. The current matrix should be updated to test against supported releases: Node.js 24.x (Active LTS), 22.x (Maintenance LTS), and optionally 20.x only if legacy support is explicitly required. Testing against EOL versions provides false confidence and should be avoided.

🤖 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 @.github/workflows/node.js.yml at line 19, Update the GitHub Actions Node.js
matrix under the node-version key to remove EOL versions and test current
supported LTS releases by replacing the array [18.x, 20.x, 22.x] with the
supported set (e.g., [22.x, 24.x]); if you must keep legacy testing, include
20.x only explicitly after confirming requirement, but do not keep 18.x which is
EOL.

# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
Comment on lines +23 to +25
Copy link
Copy Markdown

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

🏁 Script executed:

#!/bin/bash
# Check the latest releases of GitHub Actions used in this workflow

echo "Checking actions/checkout releases..."
gh api repos/actions/checkout/releases/latest --jq '.tag_name'

echo -e "\nChecking actions/setup-node releases..."
gh api repos/actions/setup-node/releases/latest --jq '.tag_name'

Repository: looptech-ai/understand-quickly

Length of output: 167


Update GitHub Actions to the latest versions.

The workflow is using actions/checkout@v4 and actions/setup-node@v4, but v6 is now the latest stable version for both actions. Update to actions/checkout@v6 and actions/setup-node@v6 to ensure access to the latest security patches and features.

🤖 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 @.github/workflows/node.js.yml around lines 23 - 25, Update the GitHub
Actions steps referencing actions/checkout and actions/setup-node to use the
latest stable major versions by changing the action references from
actions/checkout@v4 to actions/checkout@v6 and from actions/setup-node@v4 to
actions/setup-node@v6 in the workflow file (look for the uses: entries for
actions/checkout and actions/setup-node).

with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm run build --if-present
- run: npm test
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -187,9 +187,9 @@ Drop [`docs/publish-template.yml`](docs/publish-template.yml) into your repo as
<!-- BEGIN ENTRIES -->
| Repo | Format | Description | Status | Last synced |
| --- | --- | --- | :---: | --- |
| [understand-quickly/demo-code-review-graph](https://github.com/understand-quickly/demo-code-review-graph) | `code-review-graph@1` | Demo entry: a sample code-review-graph export covering files, classes, and tests. | ✅ ok | 2026-05-09 |
| [understand-quickly/demo-gitnexus](https://github.com/understand-quickly/demo-gitnexus) | `gitnexus@1` | Demo entry: a sample GitNexus graph modeled on its own codebase. | ✅ ok | 2026-05-09 |
| [understand-quickly/demo-understand-anything](https://github.com/understand-quickly/demo-understand-anything) | `understand-anything@1` | Demo entry: a hand-built sample knowledge graph in the understand-anything@1 shape. | ✅ ok | 2026-05-09 |
| [understand-quickly/demo-code-review-graph](https://github.com/understand-quickly/demo-code-review-graph) | `code-review-graph@1` | Demo entry: a sample code-review-graph export covering files, classes, and tests. | ✅ ok | 2026-05-10 |
| [understand-quickly/demo-gitnexus](https://github.com/understand-quickly/demo-gitnexus) | `gitnexus@1` | Demo entry: a sample GitNexus graph modeled on its own codebase. | ✅ ok | 2026-05-10 |
| [understand-quickly/demo-understand-anything](https://github.com/understand-quickly/demo-understand-anything) | `understand-anything@1` | Demo entry: a hand-built sample knowledge graph in the understand-anything@1 shape. | ✅ ok | 2026-05-10 |
<!-- END ENTRIES -->

## Status legend
Expand Down
14 changes: 7 additions & 7 deletions registry.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schema_version": 1,
"generated_at": "2026-05-09T04:09:10.746Z",
"generated_at": "2026-05-10T06:16:44.059Z",
"entries": [
{
"id": "understand-quickly/demo-code-review-graph",
Expand All @@ -19,7 +19,7 @@
"last_error": null,
"last_sha": "db43045f1341c8ba1f20c666497bc78500fad64b411ed8a8b6836e958d58fb39",
"size_bytes": 8545,
"last_synced": "2026-05-09T04:09:10.746Z",
"last_synced": "2026-05-10T06:16:43.518Z",
"nodes_count": 7,
"edges_count": 7,
"top_kinds": [
Expand All @@ -46,7 +46,7 @@
"source_sha": null,
"head_sha": null,
"commits_behind": null,
"drift_checked_at": "2026-05-09T04:09:10.683Z"
"drift_checked_at": "2026-05-10T06:16:43.274Z"
},
{
"id": "understand-quickly/demo-gitnexus",
Expand All @@ -65,7 +65,7 @@
"last_error": null,
"last_sha": "5c9a843fa7ffda007cc4ef4fce80beb54bbdd5d8995db06b8db606980c07239a",
"size_bytes": 8713,
"last_synced": "2026-05-09T04:09:10.629Z",
"last_synced": "2026-05-10T06:16:43.805Z",
"nodes_count": 8,
"edges_count": 10,
"top_kinds": [
Expand Down Expand Up @@ -100,7 +100,7 @@
"source_sha": null,
"head_sha": null,
"commits_behind": null,
"drift_checked_at": "2026-05-09T04:09:10.559Z"
"drift_checked_at": "2026-05-10T06:16:43.678Z"
},
{
"id": "understand-quickly/demo-understand-anything",
Expand All @@ -117,7 +117,7 @@
"miss_count": 0,
"status": "ok",
"last_error": null,
"last_synced": "2026-05-09T04:09:10.475Z",
"last_synced": "2026-05-10T06:16:44.058Z",
"last_sha": "8076fa075a94ade41b2df7f3a8f1f6a8ace220f609ec5823be51e47ab30b418b",
"size_bytes": 4366,
"nodes_count": 10,
Expand All @@ -144,7 +144,7 @@
"source_sha": null,
"head_sha": null,
"commits_behind": null,
"drift_checked_at": "2026-05-09T04:09:10.392Z"
"drift_checked_at": "2026-05-10T06:16:43.931Z"
}
],
"last_drift_index": 0
Expand Down
6 changes: 3 additions & 3 deletions site/.well-known/repos.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,23 @@
"id": "understand-quickly/demo-code-review-graph",
"format": "code-review-graph@1",
"graph_url": "https://looptech-ai.github.io/understand-quickly/schemas/__fixtures__/code-review-graph/real-sample.json",
"last_synced": "2026-05-09T04:09:10.746Z",
"last_synced": "2026-05-10T06:16:43.518Z",
"status": "ok",
"source_sha": null
},
{
"id": "understand-quickly/demo-gitnexus",
"format": "gitnexus@1",
"graph_url": "https://looptech-ai.github.io/understand-quickly/schemas/__fixtures__/gitnexus/real-sample.json",
"last_synced": "2026-05-09T04:09:10.629Z",
"last_synced": "2026-05-10T06:16:43.805Z",
"status": "ok",
"source_sha": null
},
{
"id": "understand-quickly/demo-understand-anything",
"format": "understand-anything@1",
"graph_url": "https://looptech-ai.github.io/understand-quickly/schemas/__fixtures__/understand-anything/real-sample.json",
"last_synced": "2026-05-09T04:09:10.475Z",
"last_synced": "2026-05-10T06:16:44.058Z",
"status": "ok",
"source_sha": null
}
Expand Down
2 changes: 1 addition & 1 deletion site/stats.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schema_version": 1,
"generated_at": "2026-05-09T04:09:11.078Z",
"generated_at": "2026-05-10T06:16:44.448Z",
"totals": {
"entries": 3,
"nodes": 25,
Expand Down