Building and Reviewing an Open Source Inspired CLI Tool
In this week’s lab, we were given an exciting task that closely resembled how real-world open-source projects evolve. The challenge was to develop a CLI tool that can accumulate the context of any repository and prepare it for LLMs (Large Language Models) to consume.
The idea behind this project is simple but powerful: as developers, when we want to ask an LLM about a codebase, we often struggle to provide the full context. A tool like this helps by packaging repository details in a structured way so that LLMs can understand and answer more effectively.
I decided to build my version of this tool in Python 👉 contextr.
The Real-World Feel of the Project
What made this assignment stand out was that our professor didn’t give us step-by-step instructions. Instead, we were given basic requirements and then asked to make our own decisions—choosing the technology stack, designing features, and planning architecture.
Once we finished our initial versions, the professor asked us to explore each other’s repositories, file issues, and engage in code reviews—very much like contributing to an open-source project.
Reviewing a Classmate’s Repository
I got the opportunity to review my classmate’s project: repo-context-packager.
Code reviews, I realized, are a two-edged sword. On one hand, it’s fascinating to see how differently people approach the same problem. Each project is a reflection of the developer’s mindset and technical comfort zone. On the other hand, it can be a bit confusing when someone’s style is radically different from yours.
But that’s exactly where the learning happens.
Code reviews expose you to new patterns, architectures, and technologies that you may not have thought of.
A Key Issue I Reported: License Mismatch
During my review, I found four issues worth highlighting, but one stood out: a license mismatch between the repository and its package.json
file (Issue #3).
Now, at first glance, this may look like a trivial matter. As students, we often ignore things like licenses, thinking they don’t really matter for small projects. But in the open-source world, licenses are a big deal:
- They dictate how users can use your project
- They determine whether others can modify, distribute, or even monetize the project
- A mismatch makes the project look unprofessional and can create legal compliance issues
So, while it might feel unnecessary in the classroom context, this kind of detail is crucial in the real world.
Learnings From Testing and Reviewing
Through the process of building, testing, and reviewing, I learned several important lessons:
- Attention to Detail Matters – even small issues can affect project credibility.
- Code Reviews are Learning Goldmines – you get exposed to different ways of thinking.
- Collaboration Builds Better Software – asynchronous open source style work is flexible, but requires discipline.
- Professionalism in Projects – good code is only part of it; licenses, documentation, and structure matter too.
Final Thoughts
This project has been more than just a classroom exercise. It gave me a taste of what open-source contribution feels like—freedom to build, responsibility to review, and collaboration to grow.
I now look at licenses, documentation, and project structures with a new sense of respect. And most importantly, I’ve realized that reviewing others’ code is just as important as writing your own.
👉 If you’re curious, check out my CLI tool here: contextr.
✨ That’s all for now — more stories and learnings coming your way soon!
Top comments (0)