Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Interested in any of the bompus/codegraph fork's work?

Open
#2,332 0 comments 1 reaction 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
15/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
bun, node.js, rust
Domain
tooling

Research direction

Start with the fork’s README sections “About this fork” and “What the fork adds,” then read docs/benchmarks/fork-vs-upstream-node-bun-2026-10-03.md for the comparison details. The issue asks which changes the maintainer would consider, not for a defined implementation; wait for a decision before choosing work, since there is no concrete completion criterion yet.

Written by the indexing model from the issue text.

Description

Hi Colby,

I maintain bompus/codegraph, a fork that tracks main (merged through 6560052a, 1.6.2). Small fixes from it go to you as PRs, and thanks for carrying #2097 onto main as #2284. The rest has grown to about 530 commits, which is too much to send as PRs without asking first. So I'm asking: is any of it something you'd want, and in what shape? "None of it" is a fine answer, and the fork will keep going either way.

The fork's README has a section comparing it with main: About this fork. The short version:

No WebAssembly. Every language is parsed in the Rust kernel, and the WebAssembly parser and its fallback are gone. A file with syntax errors is extracted from the native parser's error recovery instead of being handed to a second parser. Name resolution for TypeScript/JavaScript, Python, Go, Java, Kotlin, PHP, C, C++, Rust and ArkTS also runs in the kernel. The cost: a platform without a prebuilt kernel needs a Rust toolchain. Details: Parsing, resolution and languages.

Newer Node.js and Bun. The fork runs on Node.js 22.13 and newer, including 25 and 26, and on Bun 1.4. main refuses Node 25 and newer, and refuses Bun because Bun reports itself as Node 26. The full test suite passes on Node 24.21.0, and passed on Node 26.10.0 and Bun 1.4.2 when last run on all three (2026-09-28). The floor is 22.13 because that is the first release with node:sqlite unflagged, so Node 20 and early 22 releases no longer work.

Speed and memory. These numbers are from the README's Measured results, measured 2026-10-03 against main at 6560052 (1.6.2) on a 16-vCPU WSL2 host. Index times are the median of two runs, sync times the median of four.

main, Node 24 fork, Node 24 fork, Bun 1.4
Full index, n8n (24,434 files) 168.9 s, 9.45 GiB peak 78.4 s, 6.33 GiB 79.1 s, 5.76 GiB
Full index, CPython (3,708 files) 94.7 s, 8.34 GiB 45.5 s, 6.41 GiB 45.1 s, 5.73 GiB
One-file sync, n8n 13.2 s 4.38 s 4.06 s
One-file sync, CPython 8.30 s 4.67 s 4.97 s
MCP server at idle, n8n 4.77 GiB 2.07 GiB 1.22 GiB
codegraph explore from the CLI, gin 224 ms 121 ms 99 ms

On Bun, peak index memory is 8 to 27% lower than on Node and the idle MCP server holds 37 to 41% less. Eight concurrent explores on n8n take 12% longer on Bun; contention between worker threads reading through Bun's SQLite is the suspected cause (oven-sh/bun#44084). A new git worktree is ready to query in 0.8 to 0.9 s, seeded from a sibling worktree's index, against 5.8 to 6.1 s for a full index. On 120 hand-graded call links from repowise, 73% of the links the fork keeps are correct (52 of 71), against 56% for main (48 of 85); most of that comes from declining uncertain links, not from resolving more. The method and scripts are in docs/benchmarks/fork-vs-upstream-node-bun-2026-10-03.md.

Python indexing got slower between 290e03f and 1.6.2. On the same host, main at 290e03f indexed pretix in 8.81 s and 9.13 s, and at 6560052 in 19.88 s and 19.86 s, with 104,109 edges against 81,229. CPython went from 35.6 s to 94.7 s across the two benchmark runs, though I only checked pretix on one host. I haven't bisected the 194 commits in between; I can if that helps.

Features main doesn't have. The README's What the fork adds lists them. They are session search over earlier agent transcripts (codegraph sessions, codegraph_sessions), markdown indexing, near-duplicate functions, change questions answered from a diff, worktree seeding, external HTTP endpoints, dispatch links for C function pointers, Drupal hooks, NgRx effects, React Native native modules and window.postMessage, and a Devin install target.

Questions

  1. Would you consider dropping the WebAssembly parser, or running resolution in Rust? If not, would you want the gains ported into your kernel's current structure instead?
  2. Would you take the Node.js 25+ and Bun support on its own?
  3. Which of the features, if any, interest you?
  4. Would you rather get work as small PRs you re-land, as you've been doing, or as a branch you pick commits from?
  5. I'm closing my open PRs that are too big to review unasked or that main has since covered, and pointing them here. Of those still open, the smallest are #2306 (a follow-up to your #2283), #1764, #1972, #1983 and #1989, each under 100 lines.

Happy to re-run the benchmarks against current main, or answer anything here.

Dominant language
C
Stars
73.2k
Forks
4.7k
Avg merge
2h 13m
Merged PRs (30d)
418

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from colbymchenry/codegraph

All issues in colbymchenry/codegraph

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.