Skip to content

Instantly share code, notes, and snippets.

@yegor256
Last active April 26, 2024 13:12
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yegor256/5bddb12ce88a6cba44d578c567031508 to your computer and use it in GitHub Desktop.
Save yegor256/5bddb12ce88a6cba44d578c567031508 to your computer and use it in GitHub Desktop.
Open Source Ideas: Feel Free to Implement Any of Them

Feel free to pick any of the following ideas and implement them:

24 Feb 2024
Comments Density
The impact of source code commenting on the maintainability of software projects has been a subject of debate for a long time. Some comments, such as class or method doc-blocks, are considered to be useful and effective. However, inline comments are mostly indicators of high code complexity, which must be reduced instead of being commented. It would be helpful to have a command-line tool that could go through a codebase in any programming language, find comments of different kinds, evaluate them by their positive or negative effects, and then present a total Comments Density Score (CDS). Moreover, the tool should fail the build if the CDS is lower than a certain threshold.

24 Feb 2024
Highlighter of Risky Zones in Pull Requests
One of the most difficult tasks for code reviewers, as they examine new pull requests, is spotting the most important places where bugs may be found. This is especially crucial when the size of a pull request exceeds a few dozen lines. It would be helpful to have a GitHub Actions plugin that could scan new pull requests, ask ChatGPT (or a similar LLM) to identify a few critical areas in the code, and then post comments to the pull request, thereby aiding reviewers in quickly identifying the riskiest areas.

24 Feb 2024
Suggester of Alternative Implementations in Pull Requests
Reviewing pull requests, particularly those from new contributors, is a time-consuming task. Simultaneously, lack of attention and negligence during review often leads to a degradation of codebase quality. It would be helpful to have a GitHub Actions plugin that is triggered for each new pull request, scans the code of the branch, identifies a few critical areas, and suggests alternative implementations, posting them as comments to the pull request. Most probably, ChatGPT or a similar LLM could be utilized for this task.

24 Feb 2024
XSL Linter
XSL is an XML-based functional programming language that is used by some project for XML transformations and HTML rendering. The problem is that there is no linter of XSL on the market right now. Only a prototype exist, which is not so easy to use. I suggest we take this prototype, use it as a basis, and create a configurable and powerful command line XSL linter (let's call it xsllint?) Also, would be great to have a Maven plugin for it.

24 Feb 2024
Bug Reports Quality Checker
The quality of bug reports is paramount for the overall quality of a software project: poorly formulated bug reports often lead to wasted time, programmers frustration, and delays. Would be great to have a Github Action plugin that would trigger on every new issue submitted, send its details to ChatGPT, ask for quality problems, and report them in the issue as a comment, asking bug reporter to fix the report. On top of ChatGPT, it's possible to use some deterministic quality rules.
Done: tracehubpm/reports-check-action

24 Feb 2024
LaTeX Spell Checker Package
It is possible to check spelling of a .tex document, for example with the help of GNU aspell. However, it is a necessary one extra compilation step: first, we compile the document with the help of pdflatex, then we check spelling errors. Would be great to create a package: I add \usepackage{spell-check} and compilation fails if any spelling errors are found.

24 Feb 2024
Port of Xembly
Xembly is a DSL and a Java library for simple XML manipulations. A port to Ruby exists, while ports to other languages would be nice to have.

24 Feb 2024
Hits-of-Code Github Action
There is a hosted generator of a Hits-of-Code badge: hitsofcode.com. Would be great to create a Github Action, similar to this one.
Done: MikhailEpatko/hoc-badge-action

24 Feb 2024
Repository Maintainability Index
In the Kaicode festival we manually evaluate the quality of Github repositories, paying attention to the discipline of their management, the quality of discussions, organization of artifacts, and so on. Would be great to have a command line tool, which would do the same but automatically. It may use deterministic methods of evaluation or ChatGPT (or both).

25 Feb 2024
Port of CSmith
CSmith is a well-known command line tool that can generate random C programs. Would be nice to have a similar tool for other languages, like Java, Python, JavaScript, etc. It may be useful for testing compilers, translators, and static analyzers.

25 Feb 2024
Apex2www
Apex to www. domain forwaring is a well-known problem that doesn't have a solution yet. There are paid services that solve it, but no open source product exists as of yet. I tried to create one, but stopped at the HTTPS --- it requires low-level NodeJS server programming through sockets. Would be great to finish it and release.

26 Feb 2024
Linter for JavaDocs
There is a linter inside javadoc, which you can turn on with the -Xdoclint function. However, it is very weak. For example, it doesn't check spelling errors and doesn't check for HTML formatting errors. Would be useful to have a more powerful linter for Javadocs (and may other languages too).

27 Feb 2024
PDD Github Action Plugin
There is a hosted service for Puzzle Driven Development: 0pdd.com. It works just fine, but it's a hosted service, which may not be 100% available. Would be great to create a complete standalone solution in form of a Github Actions plugin. It will keep the history of puzzles in the puzzles.xml file inside the repository and on every commit will either create new issues or close existing ones.

27 Feb 2024
Quality of Code Review Checker
Code review is an important practice for every software team that cares about the quality of its software product. On GitHub, code reviews are usually done within pull requests, where one programmer (reviewer) makes comments asking another programmer (author) to improve the code just submitted in a branch. However, very often, the quality of code review may be rather low: reviewers just say "LGTM" and the pull request gets merged. It would be nice to have a GitHub Actions plugin that triggers when a pull request gets merged. This plugin, with the help of ChatGPT, would analyze how thorough the code review was and would post a number of suggestions for the reviewer so that they can improve in the future. It would also be nice if the plugin would suggest a "review score," like "excellent review" or "poor review."

2 Mar 2024
TCP Port Allocator for Java
It is needed, but doesn't exist. Would be be nice to make one, similar to the one I created for Ruby.

4 Mar 2024
Code Quality Checker, by the formula of Michael Rees
Long time ago, Michael Rees published a method of evaluating the elegance and prettiness of Pascal programs. At the moment, there is no tool on the market which would implement this method. Would be nice to create one, as a command line tool, for any programming language.

5 Mar 2024
Bibcop Github Action
Bibcop is a style checker for BibTeX .bib files. Would be great to have a Github action that would check all .bib files that exist in a repository, for style compliance.
Done: yegor256/bibcop-action

14 Mar 2024
Jekyll Aspell Plugin
I run my own blog with the help of Jekyll. Actually, many people do this, since Jekyll is the format supported by GitHub Pages. Would be great to have a Jekyll plugin that would go through all .html files generated in the _site directory and check spelling of their texts with the help of GNU aspell. Currently, I do it with my own custom script.

15 Mar 2024
LLM-Based Static Analyzer
To my knowledge, there are no publicly available and easy to use static analyzers for, say, Java, which would be based on some open source LLMs. Would be interesting to create one. It may outperform existing analyzers, such as SpotBugs, PMD, and Infer.

19 Mar 2024
CSmith for Java
There is CSmith, a well-known tool for automated generation of random C code. We tried to create JSmith, a similar tool for Java, but stopped due to a limitation of resources. Would be great if you help us. You may also think about making similar tools for other languages.

31 Mar 2024
Style Checker of GitHub Action YAML Config Files
GitHub Actions (GHA) is the most popular CI/CD platform for open source projects. However, many programmers make mistakes while configuring their GHA jobs in YAML config files. Would be great to create a GHA plugin that would check the quality of GHA config files and enforce certain best practices.
Found it! https://github.com/rhysd/actionlint


There are a few existing open source projects that I don't use (even though I want to) because of their lack of documentation or poor configurability. Would be great to either improve them or create duplicates:

  • dblstd-action to check that directory structure in a repository adheres to certain requirements (no unwanted files and all directories and files are in their right places)

  • check-license-header to check that all text files in a repository start with a license that is present in LICENSE.txt


If you are interested in contributing to existing products, these open source repositories need your help (check their list of open issues):


I will be glad to help you as a mentor, but not as a programmer. Find me in Telegram: @yegor256

If you take a project from the list and start working on it, please, post a comment here, so that others know about it and don't duplicate your work.

@h1alexbel
Copy link

We start working on Bug Reports Quality Checker, its here: https://github.com/tracehubpm/reports-check-action

@kolpakov-p
Copy link

Thank you for the awesome list!

I'm inquiring about “Highlighter of Risky Zones in Pull Requests”. It looks like the same stuff already developed. There are plugins like:

And many others. What's the difference between these existing plugins and your idea?

Thank you.

@yegor256
Copy link
Author

yegor256 commented Apr 1, 2024

@kolpakov-p you are right, I missed them! My suggestion of "highlighting" is a bit different, though. I suggest only to show the risky places.

@h1alexbel
Copy link

We start working on Quality of Code Review Checker as well: https://github.com/tracehubpm/code-review-action

@PEKTOP
Copy link

PEKTOP commented Apr 25, 2024

"Style Checker of GitHub Action YAML Config Files"

https://github.com/rhysd/actionlint

@yegor256
Copy link
Author

@PEKTOP thanks!

@eliseevdry
Copy link

Start working on Comments Density, its here: cdc-inspector

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment