{"repo":"elixir-vibe/reach","free":true,"listed":false,"github":"https://github.com/elixir-vibe/reach","clone":"git clone https://github.com/elixir-vibe/reach.git","description":"Program dependence graph and architecture/code-flow analysis for BEAM projects","language":"Elixir","stars":160,"topics":["data-flow","dependence-graph","elixir","erlang","program-analysis","slicing","static-analysis","taint-analysis"],"license":"MIT","category":"dev-tools","readme_excerpt":"Reach Program dependence graph and release-safety toolkit for Elixir, Erlang, Gleam, JavaScript, and TypeScript. Reach builds a graph of what depends on what in your code: control flow, call graph, data flow, effects, and OTP/process relationships. Use it to inspect risky functions, trace values, validate architecture policy, and generate interactive HTML reports. Use Reach when you want to answer questions like: - What depends on this function before I change it? - Can user input reach a database, shell command, file write, or external boundary? - Did this PR cross an architecture boundary? - Which modules are coupled, effect-heavy, or likely hotspots? - Which OTP processes, callbacks, and handlers interact? - Are there review leads worth checking before a release? Reach is designed to surface review leads, not replace judgment. Smell findings are advisory by default; use strict checks when you want them to gate CI. Elixir 1.18+ / OTP 27+. Installation Optional dependencies enable richer output: Quickstart Start with the HTML report, then run one focused check: - mix reach writes an interactive report for exploring control flow, calls, and data flow. - mix reach.check --smells prints advisory review leads. - mix reach.inspect ... --context shows the local dependency context around a target. Generate an interactive report: Map the project: Inspect a target: Trace data: Run release checks: Inspect OTP/process risks: Common workflows I want to… Run --- --- Open an interactive H","default_branch":null,"files":null,"tree":[],"storefront":"/r/elixir-vibe","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/elixir-vibe/reach/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}