DEV Community

Cover image for 10 super under-rated open-source tools you don’t want to miss in 2025 🤯
johnwoods12
johnwoods12

Posted on

10 super under-rated open-source tools you don’t want to miss in 2025 🤯

I've been a developer for 6 years and i've worked with a lot of tools that I've lost count of. Recently, I was working on a project, a very niche one, where I had to struggle to find dev tools I wanted in my app. And I realized a lot of these tools are very unknown to the masses.

So, I made a list of some super interesting but highly-underrated tools that you can use now in your project.

Underrated Gif


1. Composio: The Integration platform for AI agents

AI is eating the software; in 2025, a large part of web development will also include AI capabilities. However, given their complex OAuth flows, integrating applications like GitHub, Slack, and Gmail into AI agents can be challenging.

Composio solves this. It lets you integrate over 250+ applications from various categories like Calendly, Jira, and Drive to make complicated automation.

Here's a small example of using an agent to star a repo on GitHub using Composio.

Getting started with it is very easy.

npm install composio-core openai
Enter fullscreen mode Exit fullscreen mode

Connect your GitHub Account

import { Composio } from "composio-core";

const client = new Composio({ apiKey: "<your-api-key>" });

const entity = await client.getEntity("Jessica");
const connection = await entity.initiateConnection({appName: 'github'});

console.log(`Open this URL to authenticate: ${connection.redirectUrl}`);
Enter fullscreen mode Exit fullscreen mode

Initialize Composio and OpenAI

import { OpenAI } from "openai";
import { OpenAIToolSet } from "composio-core";

const openai_client = new OpenAI();
const composio_toolset = new OpenAIToolSet();
Enter fullscreen mode Exit fullscreen mode

Fetch GitHub actions and pass them to the LLM

const tools = await composio_toolset.getTools({
actions: ["github_star_a_repository_for_the_authenticated_user"]
});

const instruction = "Star the repo composiohq/composio on GitHub";

const response = await openai_client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: instruction }],
tools: tools,
tool_choice: "auto",
});
Enter fullscreen mode Exit fullscreen mode

Execute the tool calls.

const result = await composio_toolset.handleToolCall(response);
console.log(result);
Enter fullscreen mode Exit fullscreen mode

The documentation provides more on Composio, its work, and important concepts for making capable production-ready agents.

Composio GIF

Star the Composio repository ⭐


2. Qodo Merge – A Robust Code-Merging Companion

I recently discovered Qodo Merge when I needed a more intuitive way to handle my GitHub pull requests. It neatly organizes the merging process and helps reduce conflicts, which is a huge relief when juggling multiple branches.

You can run it locally or GitHub, Bitbucket, and Gitlab.

There are several ways to use self-hosted PR-Agent:

Check out their documentation for more.

Qodo

Star the Qodo merge’s PR Agent repository ⭐


3. Encore – A Modern Backend Development Platform

Encore has been my go-to for building backends in Go. It takes care of a lot of infrastructure details, deployment, scalability, and more. so I can concentrate on my application logic instead of server setups.

Installation

To install Encore for Go, run:

go install encore.dev/cmd/encore@latest
Enter fullscreen mode Exit fullscreen mode

(Visit the official Encore site for platform-specific guidance.)

Use Case

Here’s a quick example of an Encore function:

package main

import "encore.dev"

func Hello() string {
    return "Hello from Encore!"
}
Enter fullscreen mode Exit fullscreen mode

Being able to prototype, test, and ship new services quickly is what makes Encore invaluable in my book.

encore

Star the Encore repository ⭐


4. CopilotKit – Building AI-Powered Assistance Right Into Your App

If you wan GitHub Copilot-like functionality in my own apps, I found CopilotKit to be a standout solution. Essentially, it’s a framework that lets you embed AI-driven code (and content) suggestions directly into your product. Think of it as delivering an AI pair programmer experience straight to your end-users.

Installation

To get started, install the core and UI packages:

npm install @copilotkit/react-core @copilotkit/react-ui
Enter fullscreen mode Exit fullscreen mode

Add a Copilot to Your App

Below is a basic example in React:

import { CopilotKit, CopilotChat, useCopilotChat } from '@copilotkit/react-ui';

function App() {
  const { messages, sendMessage } = useCopilotChat({
    context: "This is a code editor for JavaScript",
  });

  return (
    <CopilotKit>
      <div className="editor">
        <CopilotChat
          messages={messages}
          onSendMessage={sendMessage}
          placeholder="Ask for code suggestions..."
        />
      </div>
    </CopilotKit>
  );
}

Enter fullscreen mode Exit fullscreen mode

And it’s not just for code—CopilotKit can generate intelligent suggestions for virtually any domain, whether that’s designing user interfaces, writing documents, or analyzing data.

CopilotKit

Star the CopilotKit repository ⭐


5. McFly – Smarter Command-Line History

McFly has taken the pain out of searching through my terminal history. Instead of manually scrolling through endless past commands, I can quickly locate and reuse the exact snippet I need. It feels like a memory boost for my terminal.

Installation

On macOS, installing McFly is straightforward:


brew install mcfly
Enter fullscreen mode Exit fullscreen mode

Use Case

Dump command history

mcfly dump --since '2025-01-01' --before '2025-02-12 09:15:30'
Enter fullscreen mode Exit fullscreen mode

It scours your command history, surfaces matches, and even ranks them based on contextual relevance.

McFly has been a game-changer for making my command-line work a breeze.

Mcfly

Star the Mcfly repository ⭐


6. Feather.js – Lightweight Framework for Real-Time Apps

FeatherJS (often shortened to Feathers) has streamlined my process for building real-time applications and REST APIs. Its minimal design and robust plugin ecosystem mean I can quickly scaffold data services and get moving fast.

Installation

To install the core Feathers library:

npm install @feathersjs/feathers
Enter fullscreen mode Exit fullscreen mode

Use Case

Here’s a simple example setting up a basic in-memory service:

const feathers = require('@feathersjs/feathers');
const app = feathers();

app.use('/messages', {
  async find() {
    return [{ text: 'Hello from Feathers' }];
  }
});

app.listen(3030).on('listening', () =>
  console.log('Feathers app running on http://localhost:3030')
);
Enter fullscreen mode Exit fullscreen mode

Within minutes, I can spin up a live API that’s both flexible and scalable.

Feather io

Star the Feathers repository ⭐


7. Deepstream Io – High-Performance Real-Time Data

Whenever I need real-time data sync in my applications, Deepstream Io is my go-to. It’s designed for high throughput and scales easily, making it a solid choice for real-time dashboards, chat apps, or collaborative tools.

Installation

Install Deepstream Io globally (or run it via Docker):

npm install -g deepstream.io
Enter fullscreen mode Exit fullscreen mode

Use Case

Below is a snippet showing how to connect a client:

const deepstream = require('deepstream.io-client-js');
const client = deepstream('localhost:6020').login();

client.record.getRecord('user/jane').subscribe((data) => {
  console.log('Real-time data for Jane:', data);
});
Enter fullscreen mode Exit fullscreen mode

It handles the heavy lifting of syncing data in real time, so I can stay focused on building features.

Deepstream Io


8. Trigger Dev: Open source background jobs platform

Trigger.dev caught my attention as an open-source solution for managing background jobs and workflows without breaking the bank or wrestling with overly complex setups. It integrates nicely with modern JavaScript/TypeScript stacks and offers a simple way to schedule and orchestrate tasks in the background—perfect for routine tasks like sending emails, processing data, or triggering other external services.

Installation

The easiest way to get started is by scaffolding a new Trigger.dev project directly from your terminal:

npx create-trigger@latest
Enter fullscreen mode Exit fullscreen mode

Use Case

Below is a snippet that demonstrates how you might define a background job using the Trigger.dev SDK in a Node.js or TypeScript project:

import { createJob } from "@trigger.dev/sdk";

// Define a scheduled job
createJob({
  id: "daily-report",
  name: "Daily Report Job",
  schedule: { cron: "0 9 * * *" }, // runs every day at 9 AM
  run: async (payload) => {
    // Your job logic goes here
    console.log("Generating daily report...");
    // e.g., fetch data, compile it, send to an API or email
  },
});
Enter fullscreen mode Exit fullscreen mode

With just a few lines of code, you can have a fully managed background job on a flexible schedule, helping you automate all those repetitive tasks and workflows behind the scenes.

Trigger


Thanks for reading. Hope you've a good day ahead.

Top comments (2)

Collapse
 
collimarco profile image
Marco Colli

Open source and underrated:
github.com/cuber-cloud/cuber-gem

If you need to scale a Rails app, Django, Laravel, etc. while keeping cloud costs on a budget, it's perfect. I combine it with DigitalOcean Kubernetes, but works also for other cloud providers.

Collapse
 
pengeszikra profile image
Peter Vivo

Instead mcfly my advice set history size 10k+

history | grep <search>
Enter fullscreen mode Exit fullscreen mode