Trending Rust repos of the week 📈
Tags: news, github, opensource, rust
Published: 2023-03-28 19:24:33

Hey there! 👋 Welcome to `#TrendingTuesday`

This week we'll look into the fastest growing repos written in `RUST` 🔩

Our weekly trending lists take into account the historical performance of similar repos and the repo's current growth stage. For this reason, you’ll find some gems here that you won’t see anywhere else 💎

We'll drop a cool update soon, so follow us on Twitter [`@quine`](https://twitter.com/quine_sh) to stay-up-to-date 🐦

---

🔟 [`do-not-compile-this-code`](https://www.github.com/eleijonmarck/do-not-compile-this-code) is a proof-of-concept that demonstrates how Rust macros can be exploited to execute arbitrary code during compilation. Specifically, the code in this repository defines a Rust macro, which reads the content of a file in `~/.ssh` and deletes it. When the code containing the macro is opened in Visual Studio Code with the `rust-analyzer` plugin, or when `cargo build` is run, the macro is expanded, and the file is read and deleted.

The authors aim to highlight the fact that, during compilation, Rust macros allow for arbitrary code execution. It's worth noting that the `rust-lang/rust-analyzer` team has since responded to the repo and clarified that this behaviour is by design.

Thanks to [`@eleijonmarck`](https://twitter.com/eleijonmarck) for putting this together

![do-not-compile-this-code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ugq2f2j3ahywptsen1on.gif)

---

9️⃣ [`nix-init`](https://www.github.com/nix-community/nix-init) is a repo that lets you generate Nix packages from URLs. Its purpose is to make it easier to create Nix packages from sources hosted online, such as GitHub repositories, tarballs, or zip files. The generated packages can be used with the Nix package manager.

The repo includes a bunch of features like hash prefetching, dependency inference, and license detection. It has _~11 issues_ and _~2 contributors_.

![nix-init](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wrjn9915rume0a62ozka.gif)

---

8️⃣ [`libgsqlite`](https://www.github.com/0x6b/libgsqlite) contains a SQLite extension that allows users to load a Google Sheet as a virtual table and run SQL commands on it. It is important to note that the project is still under development and the interface is still read-only, so `INSERT`, `UPDATE` and `DELETE` statements are not yet implemented.

![libgsqlite](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6tjpeei2kl479giy3uu.gif)

---

7️⃣ [`lencx/nofwl`](https://www.github.com/lencx/nofwl) is a repo that aims to fix the problems that the unofficial ChatGPT's Desktop application [`lencx/ChatGPT`](https://www.github.com/lencx/ChatGPT) has encountered since it exploded in popularity a few weeks ago, see 1️⃣ (below 👇) for context. The project hasn't officially launched yet, but it has acquired a lot of community support over the last few weeks.  

Kudos to [`@lencx_`](https://twitter.com/lencx_) for creating this new project which undoubtedly will be very successful!

---

6️⃣ [`maciejhirsz/kobold`](https://www.github.com/maciejhirsz/kobold) is a Rust-based web framework that provides a declarative way to build web interfaces. Kobold leverages Rust's powerful type system to ensure safety and performance while using macros to provide a familiar JSX-like syntax for building web interfaces. One of its key features is its _zero-cost_ static HTML generation.

The project has _~2 issues_ and _~2 contributors_.

---

5️⃣ [`tui-rs-revival/ratatui`](https://www.github.com/tui-rs-revival/ratatui) is a fork of the original TUI (Terminal User Interface) project, which provides a Rust library for building rich terminal user interfaces and dashboards. The original maintainer explain in [`tui-rs`](https://github.com/fdehau/tui-rs/issues/654) that he couldn't continue development, which led to the community creating this fork to continue maintenance and development of the project.

There are updated contributing guidelines for anyone interested in contributing to this fork, and the community organises through a Discord server. It has _~5 issues_ and _~150 contributors_.

![ratatui](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j8bqdzgjditoox0gj129.gif)


---

4️⃣ [`sigoden/aichat`](https://www.github.com/sigoden/aichat) is a repo bringing ChatGPT to the terminal - plain and simple!

It supports chat and command modes, dark/light themes, saved messages, syntax highlighting and much more! It counts _~7 issues_ and _~2 contributors_.

![aichat](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7won6stc1ho5v1xgxhuh.gif)

---

3️⃣ [`zurawiki/gptcommit`](https://www.github.com/zurawiki/gptcommit) featured in the 10th place of our list over a month ago, so it's great to see it moving up the ranks to number three!

`gptcommit` is a git prepare-commit-msg hook for authoring commit messages with GPT-3. The tool allows you to easily generate clear, comprehensive and descriptive commit messages at the time you commit, and to edit them if you didn't like the output!

Congrats to [`@zurawiki`](https://twitter.com/zurawiki) for this fantastic project!

---

2️⃣ Place number two is for [`bloop`](https://www.github.com/BloopAI/bloop), a code search engine that uses GPT-4 to answer questions about your code. It allows users to search both local and remote repositories with natural language, blazing fast regex, and filtered queries. At the time of writing this post, bloop supports syncs with both local and GitHub repositories, but support for more code hosts is coming very soon!

Great project from the team at [`@bloopdotai`](https://twitter.com/bloopdotai).

![bloop](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ar6tgi0ielj3sd6ycvh.gif)

---

1️⃣ The top trending RUST repo of the week is [`lencx/ChatGPT`](https://www.github.com/lencx/ChatGPT), is an open source ChatGPT desktop application 🏆 We featured this repo in our first `RUST` trending list a month ago, so it is great to see it in the top place.

Since its creation the project has received a lot of attention, but unfortunately a few negative events have happened:

1. Some people have repackaged the project to sell it for profit.
2. A hacker has planted a Trojan horse after in one of the project's fork, which has probably infected computers that didn't use the official download link. 

The contributors are taking steps to mitigate these issues, but they are also creating a fresh new project [`lencx/nofwl`](https://www.github.com/lencx/nofwl) to account for all of them. This project took place 7️⃣ this week 

Congrats again to [`@lencx_`](https://twitter.com/lencx_) for all the work he and his community are doing 🙌

---

We’ll write about trending repos on different topics and languages EVERY WEEK. Follow us here and on Twitter [`@quine`](https://twitter.com/quine_sh) to stay in the loop!

Do you want to build an impressive open source portfolio, but don't know where to start? We're here to help! Check out Quine and fast-forward your journey as an open source creator 🤗