OSD600 Release 0.2 Week 4

🔔 Prelude: We ****need to be tested for sure In release 0.2 week 4… What I did This week I contributed in another issue in the project OpsiMate, - the same one I contributed to last week. My main task was to add test cases for one of the APIs. Working on (issue/PR) Here’s the issue I picked up: https://github.com/OpsiMate/OpsiMate/issues/371 And here’s my pull request: https://github.com/OpsiMate/OpsiMate/pull/537 This issue was a bit of a “legacy” one. Someone had tried working on it before, but their PR was rejected. Another contributor also took it but later unassigned themselves. ...

2026-09-10

OSD600 Lab 6 Developing

Main Content The feature I implemented the token counting feature inspired by the Repomix project in this lab. The feature displays the token cost calculated by a specific model align with each file in the file tree. Users can better manage API call budget now. For example: I also added corresponding tests to ensure reliability. The development In the development step, I tried to apply the TDD pattern ...

2026-09-10

OSD600 Lab 6 Reading

🔔 Prelude: If I cannot understand the project, how can I write my own code? Main Content Introduction of the target feature The feature I focused on is token counting. This component is responsible for calculating how many tokens a given text input contains. I ran the **repomix** project locally and got output like below: Which I think it’s exactly the feature I need for controlling the cost of calling LLM APIs. ...

2026-09-10

OSD600 Release 0.2 Week 3

🔔 Prelude: I am one part of a group of a hundred developers?! In release 0.2 week 3… What I did This week I participated in the project that was recommended by my classmates: OpsiMate; it’s truly an active open-source project—once I commented on an issue, there was a contributor to reply to me in time. I also joined their slack channel and found they even have short but regular reports for community growth, which makes me really feel like I am a part of the project. ...

2026-09-10

OSD600 Release 0.2 Week 2

🔔 Prelude: Shall we have a talk about the strange issues? In release 0.2 week 2… What I did This week I mainly worked on a small but interesting project: Cat Card battle (https://github.com/JessieVela/cat-card-battle). It’s a web-based game built with Vue and TypeScript, and styled using Tailwind CSS. Working on (issue/PR) Early this week, I found a bug that caused some image URLs from The Cat API to redirect to Tumblr’s “content violation” placeholder instead of showing actual cat photos. Like this: ...

2026-09-10

OSD600 Lab 5

🔔 Prelude: Even more powerful commands for version control Main Content Write a blog post about the process of refactoring your code. What did you focus on in your improvements? How did you fix your code so it would be better in each step? How did your interactive rebase go? Did you find any bugs in your code while you did this? Did you break your program while changing things? How did it go using Git to change your project’s history? What did you focus on in your improvements? I mainly focused on looking for big code blocks to implement my improvements because it has a higher chance of discovering a function that can be exacted. At the same time, I was also looking for a chance to rename some vague variables and add comments to logic. ...

2026-09-10

OSD600 Release 0.2 Week 1 (Updated)

🔔 Prelude: Everything’s hard in the beginning In release 0.2 week 1… What I did This week I mainly focused on searching for suitable open source projects to contribute to. I haven’t started submitting any pull requests yet, but I did managed to create an issue (see link below) and am waiting for it to be assigned. https://github.com/TemaDeveloper/library_proj/issues/17 Working on (issue/PR) I opened an issue about setting up issue templates for a repository. Although I think it was a simple one, it still was my first time dealing with this topic, so I referred to the official GitHub documentation. I surprisingly learned that using a .yml file for the issue template allows better formatting and a cleaner layout for users filling in issue forms than the .md template. ...

2026-09-10

OSD600 Lab 4

🔔 Prelude: PR, code review and communication. Refelction First, how did the code itself go? The Python project I worked with is clean and straightforward. It made me reconsider my tech stack: I may use Python as my primary prototyping language, and only turn to Go, Rust, or C++ when specific requirements demand it. Did you run into any problems? Implementing the logic was simple, but writing tests was more difficult. Too many cases could be included! ...

2026-09-10

OSD600 Lab 3

🔔 Prelude: Made a lot of mistakes, yet the actual merging process is very smoothly. Main Content Project repo: https://github.com/BHChen24/repo2context Your issues: https://github.com/BHChen24/repo2context/issues/19 https://github.com/BHChen24/repo2context/issues/20 Your merge commits: https://github.com/BHChen24/repo2context/commit/c9ae3957f1fa1749659181ba6c0773c1a7c9d0b8 https://github.com/BHChen24/repo2context/commit/4817fc097517a3c6a7daa8bbd7bcd1d02f25e2a3 Reflections: Discuss what you did, the changes you made for your features, and the process of doing your merges. What problems did you have? What did you learn? What would you do differently next time? Merging branches I basically just followed the lab instructions and completed the main assignment, but I need to develop two extra features in separate branches because: ...

2026-09-10

OSD600 Release 0.1

🔔 Prelude: This is my first step into building an open‑source style CLI tool in Go. Release 0.1 Project Description For this assignment, I built a “Repository Context Packager” tool named repo2context, which can scan a local git repository and generate a single, well-structured text file with repository information optimized for sending to LLMs such as ChatGPT and Gemini. Technology Choice Language: Go (Golang) Output format: Markdown Why Go?: Although many people are talking about Go’s advantages all the time, my main reason to do this was simply that I wanted to challenge myself. Implemented Features Required Features Basic CLI interface with --help and --version Repository/file analysis Path tree structure Git commit/branch metadata Summary statistics (file count, lines of code) Standard streams (stdout for output, stderr for errors) Error handling Optional Features Implemented Gitignore Integration The tool automatically excludes files and directories listed in .gitignore. Provide a --no-gitignore to disable .gitignore filtering Output to File (-o / --output) Users can save the formatted repository context into a file (markdown text). ...

2026-09-10