Skip to content

For your repository, issuedigger will notify authors of new issues about similar, previously submitted ones, saving manual digging. Implemented as a single, AI-enabled Cloudflare Worker.

License

alexpovel/issuedigger

Repository files navigation

issuedigger (beta)

issuedigger will notify authors of new GitHub issues about similar, previously submitted ones, both open and closed:

issuedigger commenting screenshot

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):

duplicate issue comment

which GitHub will link back from the mentioned, original issue automatically:

issue mention linkback

Trying it out

Before installing for your own use, feel free to kick issuedigger's tires by creating issues or issue comments in this repository!

Beta status

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.

Costs

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...).

Installation

  1. 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 dig1).

      (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.

Working principle

For a detailed overview, see ARCHITECTURE.md.

Footnotes

  1. 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.

About

For your repository, issuedigger will notify authors of new issues about similar, previously submitted ones, saving manual digging. Implemented as a single, AI-enabled Cloudflare Worker.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published