Repository navigation
feat(graph): index Bash scripts with the bundled grammar (#354) - #793
Conversation
🌱 graft blast radius1 area changed → 9 areas can be affected. 18 dependent symbols, depth 2. flowchart TB
A0(("Graph Processing<br/>9 symbols"))
A1(("Command Line Interface<br/>2 symbols"))
A2(("Build Context<br/>1 symbol"))
A3(("Edit Overlap<br/>1 symbol"))
A4(("LSP Enrichment<br/>1 symbol"))
AX(("4 smaller areas<br/>4 symbols"))
classDef reached fill:#D9EDF3,stroke:#3AA7C9,stroke-width:1.5px,color:#0E313C;
class A0,A1,A2,A3,A4 reached;
classDef tail fill:#EEF2F3,stroke:#9AA4A9,stroke-width:1px,color:#3A4247;
class AX tail;
Who knows this code — 7 people across 10 areas
Ownership is git history over each area's own files, weighted towards recent work (120-day half-life). Merge commits and bots are dropped, and you are dropped from your own PR. A name with no All 18 dependent symbols, grouped by areaGraph Processing — 9 symbols in 9 files
Command Line Interface — 2 symbols in 2 files
Build Context — 1 symbol in 1 file
Edit Overlap — 1 symbol in 1 file
LSP Enrichment — 1 symbol in 1 file
Ignored Code — 1 symbol in 1 file
Cloud Onboarding — 1 symbol in 1 file
Review Process — 1 symbol in 1 file
tools.ts — 1 symbol in 1 file
Test signal per changed area — 1 –Reached = a node under a test path has a resolved edge into the changed symbol. It undercounts anything called indirectly — through a CLI, a spawned process or a dynamic import — so read a low ratio as “look here”, never as a coverage gate.
58 test suites also reference this code58 symbols, kept out of the diagram and the table so they cannot crowd out the areas a reviewer has to look at.
Open the interactive graph → — click an area to see the code that changed, and the line that reaches it. |
Re-landed from #354 with the conflicts against main resolved; the contributor's fork couldn't take the merge commit. Co-Authored-By: Shrish Dwivedi <shrish@trailhq.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Re-lands #354 by @cookerpapa. The contributor's fork couldn't take a merge from main, so this branch applies their diff on current main with the conflicts resolved. Authorship is kept on the commit.
.shand.bashfiles are indexed in the breadth tier with the Bash grammar that already ships intree-sitter-wasms. Bothf() {}andfunction f {}become function symbols. There are no call edges yet, and extensionless scripts are still skipped.Adapted lines
src/graph/generic.ts: main addedgleamandpowershellrows after this PR was opened. Thebashrow goes after them, unchanged.README.md: main reworded the language list. The PR's two Bash lines go under main's breadth-tier line, and the total now reads "Twenty-five languages, plus Vue single-file components" (main says twenty-four; the PR said "Twenty-four languages in total").Checked
npm run buildpasses.test/graph-bash.test.ts: 2/2 fail with main'ssrc/and 2/2 pass here.graph/generic,buildGraphorsource-files: 580/580 pass with an emptyHOME.tree-sitter-wasms), no install scripts, no I/O changes. Shell scripts are parsed, never run. Function definitions only, so no new edges. None found.Closes #354.
🤖 Generated with Claude Code