issuedigger will notify authors of new GitHub issues about similar, previously submitted ones, both open and closed:
issuedigger helps maintainers and end users alike avoid having to dig through past issues (as many projects request users do before submitting new ones). For example, in the above screenshot, the issue titled Airplanes is closed: perhaps the user finds a solution to their problem there? If successful, the new issue can be resolved before a second human is even involved.
As a side effect, the network of related issues (bugs, feature requests, ...), often taking up rent-free space on maintainers' minds, can be automated and externalized, making it accessible to others. For example, duplicates can be caught and linked right away (notice the high similarity score to the above issue):
which GitHub will link back from the mentioned, original issue automatically:
Before installing for your own use, feel free to kick issuedigger's tires by creating issues or issue comments in this repository!
Warning
This application is of beta quality. It relies on several products which are themselves in beta (Cloudflare Queues, Cloudflare Vectorize, Cloudflare Workers AI). The project has no tests (not without reason). Think of it as an excuse for playing with and learning new technology (TypeScript, "AI" (embeddings, vector storage, ...) and Cloudflare's developer products), leading to a minimum viable product made available for free, for your convenience.
The embeddings are handled simplistically. It's unknown how useful they (and by extension, issuedigger's suggestions) are in real-world scenarios.
Running the infrastructure for issuedigger is cheap, but not free. The intention is to
keep it available indefinitely, but there is obviously a risk of shutdown at any time.
The app should not be too hard to spin up on your own account, as
wrangler.toml
contains all necessary infrastructure definitions
(clone this repo, run npx wrangler deploy
and fix errors about missing pieces until it
works...).
- Install the GitHub App and grant it access to the repositories you'd like the app on.
That's it! The following happens now:
- issuedigger will notice your installation request and start backfilling items (issues and issue comments). Due to request limitations in the GitHub API, there's a limit to the number of items that will be retroactively made available on initial installation. This should only affect large repositories.
- after a while (think in the order of a handful of items per second), the database is populated
- from now on, issuedigger will:
-
comment once on newly opened issues, and anytime on request (comment
@issuedigger dig
1).(on initial installation, give it some time to populate its database before results come up)
-
index every single new item (issue and issue comment), making it available for similarity search
Issue threads are treated as single units: the initial issue itself and all comments (except ones related to issuedigger itself) will contribute to similarity equally. As such, an issue body mentioning concept A, with a comment mentioning a (potentially entirely unrelated) concept B, can later be suggested to users opening issues related to both A and/or B. This helps alleviate XY problems.
-
For a detailed overview, see ARCHITECTURE.md.
Footnotes
-
Typing
@
will not start autocompletion, as it usually does for regular users. Mentioning apps doesn't work that way. Don't worry, your comment will still be picked up. ↩