DEV Community

Jonas Brømsø
Jonas Brømsø

Posted on

Baseline - ported to Go

I got an idea for an application that would help me analysis the a large code base across multiple repositories using all your favorite text tools, my own being:

  • ag
  • find
  • xargs
  • perl
  • and so forth

I blogged about the idea in Baseline a parallel Git Universe/Concept for Easy Searching and started working on a prototype.

The first working version was a basic shell script, that utilized Git commands and it worked well enough for a first version.

It did however lack features like:

  • repository discovery
  • private repository support
  • better UI/UX

Now I finally got some time to give it some more attention and recently I ported the shell script to Go.

Last version of the shell script was tagged as v0.2.0 and I am now at a working Go version tagged as v0.5.0.

With version 0.5.0:

  • The UI/UX has been improved
  • Repository discovery has been added, currently supporting:
    • GitHub (public and private)
    • BitBucket (public and private)

For now I have only scratched my own itch, so there might be variations to the above mentioned use cases the application do not support, so please consider this vary much pre-release software and do note that features might change in future releases and all use is at your own risk, but read the code, even though it is AI generated, it is still easy to read and understand.

There is still a lot of work to do, many features to add and evaluating and testing the concept more. And about that the implementation has been implemented primarily using a coding agent.

This speeds up the process and since I actually just needed this for some other work, it did not want for this to take up too much time.

Next step for me is to add more features, but I want to use it some more for some real work, then I can decide on what to prioritize next.

Right now I am pondering about:

  • Adding a configuration file
  • UI/UX improvements

Since I do not think the UI/UX is quite there yet and I want to make it easier to understand what is going on,

The addition of a configuration file would also make it easier to customize the behavior of the tool and would eliminate the high number of command line options.

I will keep you posted on the progress, if you have suggestions or feedback, please let me know.

You can find the project at: GitHub: jonasbn/baseline.

Top comments (0)