Skip to content
Merged
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
6 changes: 2 additions & 4 deletions .github/workflows/build-and-push-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,12 @@ jobs:
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
uses: pnpm/action-setup@v6

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 24
cache: 'pnpm'

- name: Install dependencies
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ name: CI
on:
push:
branches:
- main
- master
pull_request:
branches:
- main
- master

jobs:
Expand All @@ -17,14 +19,12 @@ jobs:
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
uses: pnpm/action-setup@v6

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 24
cache: 'pnpm'

- name: Install dependencies
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ Thanks for your interest in contributing! This guide covers everything you need

## Prerequisites

- **Node.js** 18 or later
- **pnpm** >= 9
- **Node.js** 24 or later
- **pnpm** 12.14.0 (pinned via `packageManager`)

## Getting Started

Expand Down
11 changes: 5 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,17 @@
# + symlinks) has to stay intact between build and runtime — we copy the whole
# pruned workspace rather than trying to hand-pick individual node_modules dirs.

FROM node:22-bookworm-slim AS base
FROM node:24-bookworm-slim AS base
# python3/make/g++ are required to build better-sqlite3 and sqlite-vec (native
# addons) for the container's arch/libc — do not switch the runtime stage to
# an Alpine base without rebuilding here, musl bindings are not compatible.
# corepack's "latest pnpm" fetch needs Node >=22.13 (hence the base bump from
# the repo's engines.node >=18 floor) — pin to the pnpm version this repo was
# authored against so builds don't silently drift to a newer major.
# Pin pnpm to the exact version in package.json#packageManager so builds
# don't silently drift to a newer major.
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 make g++ \
&& rm -rf /var/lib/apt/lists/* \
&& corepack enable \
&& corepack prepare pnpm@10.33.0 --activate
&& corepack prepare pnpm@12.14.0 --activate
WORKDIR /app

FROM base AS builder
Expand All @@ -42,7 +41,7 @@ FROM base AS runtime
ENV NODE_ENV=production
RUN apt-get purge -y python3 make g++ && apt-get autoremove -y

# node:22-bookworm-slim already ships a "node" user at uid/gid 1000 — reuse it
# node:24-bookworm-slim already ships a "node" user at uid/gid 1000 — reuse it
# rather than creating a new one (a fresh uid 1000 would collide with it).
# Override at `docker run`/compose time with `user: "${UID}:${GID}"` to match
# the host user that owns the bind-mounted home directory, otherwise writes to
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ docker pull ghcr.io/firstsun-dev/code-insights:latest
<details>
<summary><b>Firstsun fork: Build from source</b></summary>

Requires Node.js 20.19+ and pnpm 8+.
Requires Node.js 20.19+ to run the published CLI; developing from source requires Node.js 24+ and pnpm 12.14.0.

```bash
git clone https://github.com/firstsun-dev/code-insights.git
Expand Down
2 changes: 1 addition & 1 deletion dashboard/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"test": "vitest run"
},
"engines": {
"node": ">=20.19.0"
"node": ">=24"
},
"dependencies": {
"@dnd-kit/core": "^6.3.1",
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@
"test:watch": "vitest",
"test:coverage": "pnpm --filter @code-insights/cli test:coverage && pnpm --filter @code-insights/server test:coverage"
},
"packageManager": "pnpm@12.14.0",
"engines": {
"node": ">=20.19.0",
"pnpm": ">=8.0.0"
"node": ">=24",
"pnpm": ">=12.14.0"
},
"devDependencies": {
"@vitest/coverage-v8": "catalog:",
Expand Down
Loading
Loading