Meet Lepsta, a version control tool and code syncing service built with the core purpose of helping software teams collaborate. Now if you’re familiar with version control tools such as GitHub, BitBucket, GitLab and the likes thereof you may be wondering how Lepsta is different? In this blog article I will give you a brief introduction to Lepsta and it’s unique functionality.

The question proposed above can be answered quite simply: Lepsta is a version control tool like the rest which means that you can create, clone and make changes to a code repository as you normally would. The key difference however is in how the platform accounts for changes made to your local repository.

To explain the difference between Lepsta and other version control tools we first need to look at how your conventional Git workflow works. Take the big bad Bitbucket for example.  As a developer, you would log into the Bitbucket platform, create a repository, clone the repository locally and then start making changes to it using the conveniently constructed ‘git clone’ command.

So now let’s pretend that you have completed the steps above, and that you were working on an Angular project you had initialised using the NG CLI and produce a blank project within the directory of the cloned repository. In the background Git will take note of these changes made to the local repo you simply need to account for them.

The changes made locally are not yet reflected in the repository on Bitbucket, code harding if you will. In order to account for those changes you would be required to run ‘git add’ to add your changes, then run ‘git commit’ to commit your changes, and finally, you are required to run ‘git push’ to push your changes to Bitbucket.

Which brings us back to the laudable Lepsta Platform ‘a version control tool and code syncing service’. So what in the world of bytes does this mean? Well let’s try to imagine the noble nodemon tool for node js developers and the silent git working together in the background watching and accounting for changes automatically as you code your fingers numb.

However.. before we further dive into the Lepsta workflow we must first inspect the Lepsta Architecture. Lepsta is made of two main parts:

  1. Lepsta Platform
  2. Uju CLI

The Lepsta Platform is the web interface where coffee drinking developers and their teams go when interacting with repositories. Here they are able to:

  • Create repositories
  • View source code or files
  • View repository history
  • Perform code/peer reviews
  • View streams (more on this below)

The Uju CLI is the command line interface tool used to interact with repositories on the Lepsta platform. The Uju CLI is responsible for:

  • Mounting/Installing repositories locally
  • Syncing changes made locally to a stream online in real-time

In comparison to the conventional Git workflow working with Lepsta is much simpler. Lepsta is to development teams what automatic cars are to drivers with lazy left legs. When working with Lepsta, as a developer all that one has to do is:

  1. Create a repository on Lepsta
  2. Mount the repository using Uju CLI
  3. Start making changes to the repository (Those changes will automatically be added and pushed to your stream inside the repository on the Lepsta platform)

With Lepsa all changes made to a local code repository will automatically be synced to the repository on the platform. This removes the need to run ‘git add’ and ‘git push’. Whenever a developer makes a change to the codebase locally it is synced in real time to a stream on the Lepsta platform. A stream is a set of changes made by a particular collaborator. Every collaborator has their own stream and streams do not affect the state of the repository. Changes made to a stream can be submitted for code review prior to those changes being merged with the relevant branch.

This is a lot to take in all at once but I will make it simpler using the following analogy: The conventional git workflow is like a manual car. Collaborators manually add changes, commit changes and push changes to a repo, as visualised in the figure below.

Using Lepsta the process described above is automated just much like an automatic car. Once you have set up your repository and the Uju CLI you are ready to continue development knowing that your changes are synced in real time to your stream.

There you have it, meet Lepsta! A spectacular version control tool and code syncing service that assists in the quest to save time and help your team collaborate.

Where to find Lepsta online:

The CLI tool is still under development for windows but is available on Mac and Linux. For more information and docs have a look at:

Are you more of a video person? Take a look at this demo video: