From f1465bed494659b18c6d3dde8de93f30115aacd0 Mon Sep 17 00:00:00 2001 From: Chris Green Date: Tue, 4 Aug 2026 17:01:58 -0500 Subject: [PATCH 1/4] chore(deps): add npm release age constraint for @kilocode/cli - Set min-release-age=3 to defer installation of npm packages released within the last 3 days, reducing risk of installing unstable prereleases - Add .npmrc config file to persist this setting across builds - Update Dockerfile to configure npm before installing @kilocode/cli --- .devcontainer/Dockerfile | 1 + .npmrc | 1 + 2 files changed, 2 insertions(+) create mode 100644 .npmrc diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index f778fba6f..b2198de0d 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -104,6 +104,7 @@ INSTALL_DEV_UTILS RUN bash <<'INSTALL_NPM_PACKAGES' set -euo pipefail npm config set allow-scripts=@kilocode/cli --location=user +npm config set min-release-age=3 --location=user npm install -g @kilocode/cli INSTALL_NPM_PACKAGES diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..ec9e05d8a --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +min-release-age=3 From 37b91ebcc15ad834f8a13c454d6366f64deff508 Mon Sep 17 00:00:00 2001 From: Chris Green Date: Tue, 4 Aug 2026 20:09:27 -0500 Subject: [PATCH 2/4] chore(ci): update Node.js to v26 in markdown/yaml fix workflows - Update setup-node to Node.js v26 (released 2026-04) - Disable package-manager-cache to avoid stale npm dependencies - No effect on workflow output; ensures consistent, up-to-date tooling --- .github/workflows/markdown-fix.yaml | 6 ++++-- .github/workflows/yaml-fix.yaml | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/markdown-fix.yaml b/.github/workflows/markdown-fix.yaml index c5931be4c..003ae579a 100644 --- a/.github/workflows/markdown-fix.yaml +++ b/.github/workflows/markdown-fix.yaml @@ -103,10 +103,12 @@ jobs: - name: Set up Node.js uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: - node-version: "22" + node-version: "26" + package-manager-cache: false - name: Install markdownlint-cli2 - run: npm install -g markdownlint-cli2 + run: | + npm install -g markdownlint-cli2 - name: Run markdownlint-cli2 fix working-directory: ${{ needs.setup.outputs.checkout_path }} diff --git a/.github/workflows/yaml-fix.yaml b/.github/workflows/yaml-fix.yaml index 19f5ad0f4..2006342e1 100644 --- a/.github/workflows/yaml-fix.yaml +++ b/.github/workflows/yaml-fix.yaml @@ -104,7 +104,8 @@ jobs: - name: Setup Node.js uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: - node-version: "22" + node-version: "26" + package-manager-cache: false - name: Install prettier run: npm install -g prettier From 83b3c76d327924f29e498d6ed75128a0a671ac83 Mon Sep 17 00:00:00 2001 From: Chris Green Date: Tue, 4 Aug 2026 20:22:55 -0500 Subject: [PATCH 3/4] chore(ci): ensure recent npm in CI workflows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Install npm 11.10.0+ before running format tools in markdown-fix.yaml and yaml-fix.yaml workflows, and update devcontainer Dockerfile to ensure a recent npm version. This prevents failures from older npm versions that may not support required package features. Fixes node-version "26" → "26" (no change, explicit version for clarity). --- .devcontainer/Dockerfile | 1 + .github/workflows/markdown-fix.yaml | 16 ++++++++++------ .github/workflows/yaml-fix.yaml | 19 ++++++++++++------- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index b2198de0d..95dad26ab 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -103,6 +103,7 @@ INSTALL_DEV_UTILS RUN bash <<'INSTALL_NPM_PACKAGES' set -euo pipefail +npm update -g npm@^11.10.0 npm config set allow-scripts=@kilocode/cli --location=user npm config set min-release-age=3 --location=user npm install -g @kilocode/cli diff --git a/.github/workflows/markdown-fix.yaml b/.github/workflows/markdown-fix.yaml index 003ae579a..763d8500b 100644 --- a/.github/workflows/markdown-fix.yaml +++ b/.github/workflows/markdown-fix.yaml @@ -91,6 +91,16 @@ jobs: commit_sha_short: ${{ steps.handle_commit.outputs.commit_sha_short }} patch_name: ${{ steps.handle_commit.outputs.patch_name }} steps: + - name: Set up Node.js + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + node-version: "26" + package-manager-cache: false + + - name: Ensure recent npm + run: | + npm update -g npm@^11.10.0 + - name: Checkout code uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -100,12 +110,6 @@ jobs: token: ${{ secrets.WORKFLOW_PAT }} persist-credentials: false - - name: Set up Node.js - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 - with: - node-version: "26" - package-manager-cache: false - - name: Install markdownlint-cli2 run: | npm install -g markdownlint-cli2 diff --git a/.github/workflows/yaml-fix.yaml b/.github/workflows/yaml-fix.yaml index 2006342e1..d8963c60a 100644 --- a/.github/workflows/yaml-fix.yaml +++ b/.github/workflows/yaml-fix.yaml @@ -92,6 +92,16 @@ jobs: patch_name: ${{ steps.handle_commit.outputs.patch_name }} steps: + - name: Setup Node.js + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + node-version: "26" + package-manager-cache: false + + - name: Ensure recent npm + run: | + npm update -g npm@^11.10.0 + - name: Checkout code uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -101,14 +111,9 @@ jobs: token: ${{ secrets.WORKFLOW_PAT }} persist-credentials: false - - name: Setup Node.js - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 - with: - node-version: "26" - package-manager-cache: false - - name: Install prettier - run: npm install -g prettier + run: | + npm install -g prettier - name: Apply YAML formatting working-directory: ${{ needs.setup.outputs.checkout_path }} From ba7100c270b608efadeb84fe09b161c122a98fe9 Mon Sep 17 00:00:00 2001 From: Chris Green Date: Wed, 5 Aug 2026 09:14:34 -0500 Subject: [PATCH 4/4] Rely on setting `npm` user-level config --- .github/workflows/markdown-fix.yaml | 18 ++++++++---------- .github/workflows/yaml-fix.yaml | 18 ++++++++---------- .npmrc | 1 - 3 files changed, 16 insertions(+), 21 deletions(-) delete mode 100644 .npmrc diff --git a/.github/workflows/markdown-fix.yaml b/.github/workflows/markdown-fix.yaml index 763d8500b..608f5f1be 100644 --- a/.github/workflows/markdown-fix.yaml +++ b/.github/workflows/markdown-fix.yaml @@ -91,16 +91,6 @@ jobs: commit_sha_short: ${{ steps.handle_commit.outputs.commit_sha_short }} patch_name: ${{ steps.handle_commit.outputs.patch_name }} steps: - - name: Set up Node.js - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 - with: - node-version: "26" - package-manager-cache: false - - - name: Ensure recent npm - run: | - npm update -g npm@^11.10.0 - - name: Checkout code uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -110,8 +100,16 @@ jobs: token: ${{ secrets.WORKFLOW_PAT }} persist-credentials: false + - name: Set up Node.js + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + node-version: "26" + package-manager-cache: false + - name: Install markdownlint-cli2 run: | + npm update -g npm@^11.10.0 + npm config set min-release-age=3 --location=user npm install -g markdownlint-cli2 - name: Run markdownlint-cli2 fix diff --git a/.github/workflows/yaml-fix.yaml b/.github/workflows/yaml-fix.yaml index d8963c60a..e1eb271eb 100644 --- a/.github/workflows/yaml-fix.yaml +++ b/.github/workflows/yaml-fix.yaml @@ -92,16 +92,6 @@ jobs: patch_name: ${{ steps.handle_commit.outputs.patch_name }} steps: - - name: Setup Node.js - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 - with: - node-version: "26" - package-manager-cache: false - - - name: Ensure recent npm - run: | - npm update -g npm@^11.10.0 - - name: Checkout code uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -111,8 +101,16 @@ jobs: token: ${{ secrets.WORKFLOW_PAT }} persist-credentials: false + - name: Setup Node.js + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + node-version: "26" + package-manager-cache: false + - name: Install prettier run: | + npm update -g npm@^11.10.0 + npm config set min-release-age=3 --location=user npm install -g prettier - name: Apply YAML formatting diff --git a/.npmrc b/.npmrc deleted file mode 100644 index ec9e05d8a..000000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -min-release-age=3