Go-to-market and marketing is what I do for a living. Reading other people's code is the habit next to it, and at some point I wrote my own screener for it.
github.com/karpovantonme/driftkit
Every check in it has the same shape: two statements about the same thing, in two places, and nobody compares them. A docstring against the signature under it. A \param name against the declaration it documents. A CI matrix against the versions a package claims to support. A vendored copy against the upstream commit that fixed it. A link in the docs against the server that stopped answering.
Linters don't find these, because a linter reads the code. Here you have to read the code and the thing next to it. Python 3.9+, standard library only, MIT.
44 merged pull requests across 33 projects so far, among them scikit-learn, OpenCV, rclone, etcd, OpenTelemetry Collector, Thanos, AFL++, Traefik, four Boost libraries, NetworkX, statsmodels, MNE-Python, QuTiP and ibis.
Also merged into the Go standard library, through Gerrit — you open the pull request on GitHub, they merge it there: golang.org/cl/811340.
The tool proposes and I decide. Every finding is read by hand before it becomes a pull request, and the ones that turn out to be wrong go into FALSE-POSITIVES.md instead of quietly disappearing.
| Verba · Поток | menu-bar dictation for macOS, one codebase and two brands: English-first and Russian-first. Bring your own key, no server of mine in between |
| VerbaLite | the small free one: hold a key, speak, release |
| Assay | a video compressor that looks inside the file and picks the settings itself |
| GameDevTitan | a game-dev tycoon in Godot 4.6 |
| TabZen | local-first tab workspaces for Chrome, no servers and no tracking |

