Skip to main content

Free to use tools for maintaining your OpenSource projects

In this post, we will talk about how to effectively maintain your OpenSource projects using tools/softwares which are free to use for OpenSource and the public repositories. Over time, when the project grows you, need to set up a few tools which can help you maintain the project and automate the trivial tasks.

1. Setup CI/CD

Having an OpenSource project to which you might be contributing just as a hobby, but doesn’t mean you don’t need to set up CI/CD pipeline. You don’t need to expend a single dime on servers or need to use cloud services to run your CI/CD. There are a lot of CI/CD tools available free for open source projects and public repositories. One such tool is Travis CI which you can use for setting up CI/CD for your project.

Image for post
Travis CI

You can run test cases and deploy code to your servers. Travis CI works great and easy to set up the CI/CD pipeline.

2. Code Analysis and Code Quality

Maintaining code quality as the project grows can be very hard and time-consuming. Thankfully there are several tools that can help you in automating the continuous analysis for the code.

Scrutinizer is a great tool that you can use to automate the code quality and code analysis for your project. Scrutinizer is free for OpenSource projects and public repositories. 

Image for post

similar tools Codefactor.

3. Code Styling and Indentation

It’s very important to have a consistent coding style and proper code indentation. For OpenSource projects, it becomes even more important. There will be contributors who follow different code styles and prefer different code indentation practices. Over time it’s hard to maintain the same style throughout the code via code reviews. Tools like StyleCI can ease that pain.

You can setup StyleCI or something equivalent which supports project code language to do this. StyleCI automatically checks the Pull Requests and fix the styling issues and can open a PR to fix them.

Image for post

An example PR by StyleCI

Image for post

4. Security

It’s important to automatically find, prioritize and fix vulnerabilities in the project and the open source dependencies used in the project. Snyk is awesome in that respect. Snyk offers Unlimited tests on open- source projects. Snyk can monitor the vulnerabilities and inform you. You can setup it to automate fixing with a one-click fix pull request populated with the required upgrades and patches.

Image for post

Thanks for reading. If you have some feedback, please reach out to me on Twitter or Github.


  1. The chat choices within the video games,additionally confirm that it's a actual occasion. A actual vendor conducts the game, throws the ball into the roulette wheel, announces the start and end of the round and the numbers. When collaborating in Live Roulette in NetEnt Casinos, you'll be able to|you possibly can} observe everything up close whilst actively collaborating within the game on the roulette tables. To place your bets, you employ the betting interface which simplifies the wagering process.


Post a Comment

Popular posts from this blog

Track stock market information right in your Terminal.

     Introduction: As a developer, I love working with the terminal. The plain, simple, and in my opinion the best way to interact with the computer (also it makes you look geeky). I spent most of my time in the terminal. By now you must have guessed I am a huge fan of the terminal and terminal-based applications. Recently I developed an interest in stock markets and started tracking the stock markets. Since I love working with the terminal I decided to build a terminal oriented application that can help me to track the stock market. Inspir e d by  I build  terminal-stocks  which can provide the stock's current prices, historical prices, and global market summary. How to use terminal-stocks terminal-stocks  is available and can be used without installation. Get the current price of the stock. curl Current price of stocks You need to provide the ticker of the stock and terminal-stocks will give you the price information of the stock.  terminal-st

Setting up Nginx as a reverse proxy for Node.js App

Okay.. but what is a reverse proxy? A reverse proxy is a web server that centralizes internal services and provides unified interfaces to the public. Requests from clients are forwarded to a server that can fulfill it before the reverse proxy returns the server’s response to the client. Nginx is a popular choice to use as a reverse proxy for your node.js application. Got it. Now let’s set up Nginx Let’s say your nodejs server is running locally on localhost:3000. We will set up Nginx to get the request and forward the request to our nodejs server. Ins t alling Nginx on ubuntu sudo apt-get update sudo apt-get install nginx Configure Nginx Disable the default, virtual host unlink /etc/nginx/sites-enabled/default 2. Create a configuration file cd /etc/nginx/sites-available sudo nano reverse-proxy.conf 3. Put the following content in the file server { listen 80; listen [::]:80; access_log /var/log/nginx/reverse-access.log; error_log /var/log/nginx/reverse-e

PrivateGPT: A Step-by-Step Guide to Installation and Use

In this blog post, we will explore the ins and outs of PrivateGPT, from installation steps to its versatile use cases and best practices for unleashing its full potential. What is PrivateGPT? PrivateGPT is a cutting-edge program that utilizes a pre-trained GPT (Generative Pre-trained Transformer) model to generate high-quality and customizable text. Built on OpenAI's GPT architecture, PrivateGPT introduces additional privacy measures by enabling you to use your own hardware and data. This ensures that your content creation process remains secure and private. Installation Steps Before we dive into the powerful features of PrivateGPT, let's go through the quick installation process. PrivateGPT is a command line tool that requires familiarity with terminal commands. Let's get started: 1. Clone the Repository: Begin by cloning the PrivateGPT repository from GitHub using the following command: ``` git clone ``` 2.Navigate to the Direc