DEV Community

Vinh Nhan
Vinh Nhan

Posted on

My Contribution to the `addcom` CLI Tool

Hello! 👋

I recently had the opportunity to contribute to an open-source project created by my classmate, arilloid. For this contribution, I implemented a token usage option, --token-usage or -t, to enhance the functionality of the addcom CLI tool.

👉 Learn more about their cool project: addcom

Why This Flag Is Needed

  1. Debugging:
    Seeing token counts helps in debugging and optimizing prompts, leading to improved efficiency in interactions with the tool. By understanding how many tokens are consumed for different prompts and responses, users can fine-tune their input for better results.

  2. Transparency:
    Providing token counts not only builds user trust but also offers insights into how resources are being utilized. When users can see the underlying mechanics of their queries, they feel more in control of their interactions with the tool.

How I Implemented It

To implement the --token-usage or -t flag, I followed these steps:

  1. Flag Addition: I added the flag to the CLI tool, ensuring that it displays token counts for both the prompt and response.

  2. Hooking into Logic: I integrated the flag into the request/response logic from GroqCloud. When the flag is activated, the tool now displays the token count alongside the output.

Throughout this process, I learned how to fork the project and clone it to my local machine. I worked on my feature branch, which allowed me to isolate my changes effectively. However, I faced some challenges along the way.

Overcoming Challenges

This project presented a unique challenge for me since it is built using Python and pip, whereas I typically work with JavaScript and Node.js. I had to spend considerable time studying their codebase to familiarize myself with the structure and conventions used in Python.

While I was working on my branch, my classmate was also making changes to the project, leading to merge conflicts when I attempted to push my code to the upstream repository. To resolve these conflicts, I had to perform a couple of git rebases and carefully merge the changes.

This process would not have been possible without the invaluable support from my buddy, Peter Wan. His guidance helped me navigate the complexities of Git, making the whole experience smoother.

Once I resolved the conflicts, I was able to push my code to the upstream repository and create a pull request. Contributing to this project not only enhanced my skills in open-source collaboration but also reinforced the importance of teamwork in software development.

Conclusion

Overall, adding the --token-usage option to the addcom CLI tool was a rewarding experience that deepened my understanding of both Git workflows and the practical applications of open-source contributions. I look forward to further collaborations and learning opportunities in the future!

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.