Cool GitHub Projects

1673 readers
1 users here now

Wormhole

!code_review@programming.dev

Icon base by Caro Asercion under CC BY 3.0 with modifications to add a gradient

founded 2 years ago
1
2
 
 

A minimal Node.js wrapper around ClamAV that scans any file and returns a typed Verdict Symbol:

  • Verdict.Clean
  • Verdict.Malicious
  • Verdict.ScanError

Zero runtime dependencies. No daemon. No cloud. No native bindings. Works locally via clamscan or remotely via clamd TCP socket (Docker-friendly).

npm install pompelmi

Repo: https://github.com/pompelmi/pompelmi

3
 
 

Want to use Twitter/X from the command line without a developer account or API key? XSH a Go CLI that uses your browser cookies. Try it here: xsh.devbyben.fr

4
 
 

Hello 👋

I was frustrated by how difficult it was to send simple automated messages on Signal without diving into complex protocol specs. Most existing solutions felt too low-level for a quick project.

I made this SDK to wrap signal-cli. It uses a persistent JSON-RPC connection to keep things fast and includes a basic bot framework for routing commands.

It’s built with TypeScript and Node.js: https://github.com/benoitpetit/signal-sdk

I’d really appreciate some feedback on the architecture, especially how I’m managing the background process.

5
6
7
 
 

You can find the main page to the project here: https://opengoal.dev/

8
9
10
11
12
 
 

Managarr v0.7.0 has been released with Lidarr support!

What is Managarr?

Managarr is a terminal-based application for managing all your Servarr instances from one place. It provides a user-friendly interface to interact with your media libraries, making it easier to manage your downloads, monitor your artists and albums, and perform various actions directly from the terminal.

It sports two modes: a TUI mode (Text-based User Interface) and a CLI mode (Command Line Interface).

TUI mode gives you an interactive User Interface right inside your terminal window, allowing you to navigate through your Sonarr and Radarr libraries, view details about your series and movies, and perform actions like adding or removing items, all through keyboard shortcuts.

CLI mode lets you execute commands directly from the terminal to manage your Servarr instances without needing to open the TUI. This is great for quick tasks or for integrating with scripts and automation tools.

Screenshots

Try it out for yourself using the in-browser demo!

If you want to try it out for yourself without installing it first, you can use the Managarr demo-site: https://managarr-demo.alexjclarke.com/

What Lidarr operations are supported?

📚 Library Management

  • Artist Library - Browse, search, filter, and sort your music collection
  • Add Artists ➕ - Search for new artists and add them with full config options (quality profile, metadata profile, root folder, monitoring options)
  • Edit Artists ✏️ - Tweak artist settings including quality profiles, metadata profiles, tags, and monitoring status
  • Delete Artists 🗑️ - Remove artists from your library with optional file deletion
  • Artist Details 🔍 - Get the full picture on any artist:
    • Overview, disambiguation, type, status, genres, and ratings
    • Album list with release dates, track counts, and download status
    • Artist history with detailed event info
    • Manual discography search with release selection and download

💿 Album & Track Management

  • Album Details - Drill into individual albums to see:
    • Track listing with audio info (codec, channels, bitrate, sample rate, bit depth)
    • Album history
    • Manual album search for grabbing specific releases
  • Track Details 🎼 - View individual track info and history
  • Delete Albums - Remove individual albums from your library

⬇️ Downloads & Queue

  • Downloads Tab - Keep an eye on active downloads and manage your queue
  • Blocklist 🚫 - View and manage blocked releases

📜 History

  • Full History Support - Browse, search, filter, and sort Lidarr event history
  • History Details - Dig into the details of any history event
  • Mark as Failed ❌ - Mark history items as failed

🔎 Indexers

  • Indexer Management - View, add, edit, and delete indexers
  • Indexer Settings ⚙️ - Configure global indexer settings
  • Test Indexers 🧪 - Test individual or all indexers at once

📁 Root Folders

  • Root Folder Management - Add and manage root folders for your music library

🖥️ System

  • System Status - View Lidarr system info and health checks
  • Tasks - View and trigger system tasks
  • Queued Events - Monitor queued system events
  • Logs 📋 - Browse system logs
  • Updates 🆙 - Check for and view available updates

⌨️ CLI Commands

Full Lidarr CLI support for all the things!

managarr lidarr list artists|albums|tracks|indexers|root-folders|tags|quality-profiles|...
managarr lidarr get artist|album|track|...
managarr lidarr add artist|root-folder|tag|...
managarr lidarr edit artist|indexer|indexer-settings|...
managarr lidarr delete artist|album|root-folder|tag|blocklist-item|...
managarr lidarr search artist|album|...
managarr lidarr refresh artist|downloads|...
managarr lidarr trigger-automatic-search artist|album
managarr lidarr manual-search artist|album

Managarr also supports Radarr and Sonarr!

If you're running the full *arr stack, Managarr has you covered - It supports Radar and Sonarr too, all from the same interface!

This is a passion project so I'd love to hear your feedback, feature requests, or any bug reports you find.

13
 
 

Heavily inspired from the TRON Legacy movie effects (especially the Board Room sequence), the eDEX-UI project was originally meant to be "DEX-UI with less « art » and more « distributable software »".

While keeping a futuristic look and feel, it strives to maintain a certain level of functionality and to be usable in real-life scenarios, with the larger goal of bringing science-fiction UXs to the mainstream.

It might or might not be a joke taken too seriously.

Video demo of it here: https://www.youtube.com/watch?v=BGeY1rK19zA

14
 
 

JPlus is fully compatible with Java, offering modern language features like null safety, boilerplate code generation and other modern language features to reduce developer burden and maximize productivity.

Notably, there is currently no ‘superset’ language that retains Java syntax while extending the language with features like null checks at the language level. JPlus aims to fill this gap, providing a language that existing Java developers can naturally learn and adopt.

If you’re interested, please check out the link to my project and the related article below.

15
16
 
 

JPlus is fully compatible with Java, offering modern language features like null safety, boilerplate code generation and other modern language features to reduce developer burden and maximize productivity.

Notably, there is currently no ‘superset’ language that follow Java syntax while extending the language with features like null checks at the language level. JPlus aims to fill this gap, providing a language that existing Java developers can naturally learn and adopt.

17
18
19
20
 
 
21
 
 

Managarr v0.6.0 has been released with some fun new features!

Managarr is a terminal-based application for managing all your Servarr instances from one place. It provides a user-friendly interface to interact with your media libraries, making it easier to manage your downloads, monitor your series and movies, and perform various actions directly from the terminal.

It sports two modes: a TUI mode (Text User Interface) and a CLI mode (Command Line Interface).

TUI mode gives you an interactive User Interface right inside your terminal window, allowing you to navigate through your Sonarr and Radarr libraries, view details about your series and movies, and perform actions like adding or removing items, all through keyboard shortcuts.

CLI mode lets you execute commands directly from the terminal to manage your Servarr instances without needing to open the TUI. This is great for quick tasks or for integrating with scripts and automation tools.

The biggest change: Managarr now has themes!

The UI has been completely overhauled to support themes! You can now customize the look and feel of Managarr to suit your preferences. Choose from a variety of themes to change the color scheme and overall aesthetic of the application.

Here's just a few examples:

Default

default

Dracula

dracula

Watermelon Dark

watermelon-dark

You can also customize the themes to your heart's content! Check out the themes documentation for more details on how to create and apply your own themes.

Features

  • Added support for alternative Vim-like navigation keybindings (hjkl movements) Discussion #34
  • Added support for terminal-like backspace operations (Ctrl-h instead of Backspace)
  • You can now specify the number of downloads to fetch from the CLI: managarr <sonarr/radarr> list downloads --count 1234
  • You can now toggle movie monitoring from the CLI without needing to use the edit subcommand: managarr radarr toggle-movie-monitoring --movie-id 1234 #43
  • You can also now toggle series monitoring from the CLI without needing to use the edit subcommand: managarr sonarr toggle-series-monitoring --series-id 1234 #43
  • You can now also toggle movie/series monitoring directly from the Library view for each Servarr with the m key. No need to open the Edit [Series/Movie] modal anymore to simply toggle monitoring for an item! #43
  • Users can now skip up/down tables 20 items at a time using Ctrl-d and Ctrl-u keys (mirroring the same functionality in the Helix editor). Alternatively, the standard PgUp and PgDown keys are supported for the same operation. This is particularly useful for large libraries with many items #45
  • The total disk usage for any given series is now displayed in the Series Library view to mirror Radarr functionality #44
  • All keybindings and help tips have been refactored into a unified, dynamic menu that displays the available keybindings for the current view. This is accessible by pressing ? in any view, and it will display the keybindings relevant to that view. #32
  • Users can now add any number of custom headers to each Servarr's configuration, enabling support for OAuth and other custom authentication schemes for Servarr access #47

Fixes

  • Fixed a bug that caused the Collection Details modal to vanish when attempting to add a new film to a collection
  • Fixed a bug that caused the Radarr library to be rendered, then the Collections table to be rendered over it (merging the two), and then showing a popup which made for ugly and confusing UI
  • Wrapped Season.statistics with Option to prevent a panic if the season doesn't have any statistics (edge-case, only happens with outdated Sonarr data) #35
  • Corrected a bug that caused double key presses on Windows machines #40 (Thanks @cwesleys!)
  • Defaulted to empty tags to improve fault tolerance within the Sonarr and Radarr UIs. This is in response to #42, #48. It seems like this may be a bug in Sonarr where a series can have an associated tag ID but that tag Id doesn't exist in the list of tags, but I still can't quite track it down.
  • Fixed an issue that caused some panics to occur when video codecs are undefined in file metadata #38
  • More than 10 downloads will be listed in the Downloads tabs for both Radarr and Sonarr
  • Fixed a bug where Sonarr would have empty values on season releases for seeders/leechers instead of '0'
  • Fixed a bug where some Radarr films don't have studios associated with them, so the studio field is now nullable, preventing crashes when loading the Radarr library

Security Fixes

Minor Changes

  • Due to the new support for Vim-like navigation keybindings, the system logs are now opened using L instead of l
  • Refactored the network module to be more idiomatic Rust and to improve maintainability

Documentation

  • Update README.md to remove the cheeky Try Before You Buy heading since some users reported it as misleading; i.e. they thought it meant Managarr cost money. Managarr is and always will be, free

As always, thank you to everyone who reported an issue or requested a feature! You all make it a LOT easier to keep up with breaking API and add new features. If you have any feedback or suggestions, please don't hesitate to open an issue or discussion on the GitHub repository.

22
 
 

I trained a TruncatedSVC model on almost all Github stars to create embeddings for all repositories with more than 150 stars. I figured that could be useful so I fed the data to a Qdrant vector store and built an extension on top of it.

It can be downloaded on Firefox or Chrome. Hope you like it!

23
 
 

One frustrating trend I’ve noticed in many open-source projects is maintainers closing issues as quickly as possible—often in a dismissive and even confrontational manner. It sometimes feels like a game, where the goal is to shut down as many issues as possible rather than foster meaningful discussion.

But here’s the thing: issues aren’t just demands for the maintainer to do work. They serve a much bigger purpose in open-source projects:

✅ They help users realize they’re not alone—people with the same issue can come together, share insights, or even hire someone to solve it.

✅ They serve as documentation—a record of what’s been discussed, what problems exist, and what solutions have been proposed.

✅ They create opportunities for new contributors—someone trying their hand at coding might pick up an issue, or someone with the same problem might decide to implement a fix.

✅ They signal what users actually need—even if the maintainer doesn’t plan to fix something, an open issue can indicate demand to potential contributors.

But when an issue gets shut down immediately, all of this breaks down. Closed issues don’t appear in GitHub’s default search, meaning 99% of people who might have seen it now won’t. This leads to:

  • Duplicate issues because users can’t find past discussions.
  • Missed opportunities for new contributors to pick up low-hanging fruit.
  • Users feeling unheard, which can make them disengage from the project entirely.
  • Preventing others from seeing the issue and potentially contributing.

So why do some maintainers do this? Why Maintainers Close Issues So Aggressively

There are a few common reasons:

🔹 Burnout & Overload – Many maintainers are drowning in issues, and closing them fast is a survival mechanism.

🔹 Entitlement Fatigue – Dealing with demanding users can make maintainers defensive and dismissive, even toward good-faith issues.

🔹 “Keeping the Board Clean” Mentality – Some maintainers see issues as a to-do list, not a place for discussion. They close anything that doesn’t fit their personal roadmap.

🔹 Power Trip – Let’s be honest—some people just like saying “no.” They get used to shutting things down and enjoy exerting control.

🔹 Lack of Interest – Not every maintainer wants new features or community discussions. Some prefer to build things their own way and reject anything that doesn’t align.

Of course, every project is different, and maintainers have the right to decide how they manage their issue tracker. But closing everything by default discourages contribution and community involvement. A Better Approach?

Instead of aggressively shutting things down, maintainers could:

✅ Leave issues open for discussion, even if they don’t plan to act on them.

✅ Use labels like “help wanted” or “waiting for contributors” instead of closing things outright.

✅ Let issues sit for a while to gauge community interest. If nobody cares, they’ll fade naturally. If people keep commenting, that’s a sign it’s worth keeping open.

✅ Recognize that open-source isn’t just about code—it’s about community. The issue tracker isn’t just for them, it’s for everyone who might contribute.

What’s your experience with this? Have you seen issue-closing behavior that helped or hurt a project?

24
 
 

Still an alpha software, but really cool concept nonetheless!

25
view more: next ›