Problem
There are no contributing or local development instructions in the project. The README only covers end-user installation. A first-time contributor has no guidance on:
- How to fork and set up the project locally
- How to wire the
codegraph CLI command to their local build instead of the published package
- How to run the test suite
- The
no such module: fts5 error that blocks indexing when running from source on Node 22/23 macOS
Proposed solution
Add a Contributing section to the README covering:
- Fork + clone + add upstream remote
npm install + npm run build
npm link to point the global codegraph command at your local build (and how to restore the published version)
- Development workflow (
npm run dev, npm test, npm run test:watch)
- FTS5 workaround — Node 22 and 23 on macOS ship without FTS5; switch to Node 24 via nvm
- A quick verification snippet to confirm FTS5 is available before indexing
- PR checklist notes (don't bump
package.json versions, don't update package-lock.json unless you changed dependencies)
Context
- FTS5 is missing from the official Node 22.x and 23.x macOS binaries. Node 24+ includes it. The self-contained bundled release (curl install /
npm i -g) ships its own Node binary that has FTS5, so end users are unaffected — this only hits contributors running from source.
npm run cli is an alternative to npm link for running the local build without touching the global symlink.
Problem
There are no contributing or local development instructions in the project. The README only covers end-user installation. A first-time contributor has no guidance on:
codegraphCLI command to their local build instead of the published packageno such module: fts5error that blocks indexing when running from source on Node 22/23 macOSProposed solution
Add a Contributing section to the README covering:
npm install+npm run buildnpm linkto point the globalcodegraphcommand at your local build (and how to restore the published version)npm run dev,npm test,npm run test:watch)package.jsonversions, don't updatepackage-lock.jsonunless you changed dependencies)Context
npm i -g) ships its own Node binary that has FTS5, so end users are unaffected — this only hits contributors running from source.npm run cliis an alternative tonpm linkfor running the local build without touching the global symlink.