Over the last couple of months, I have been more involved in contributing to open source again. Helping maintainers improve their products is such a rewarding and eye-opening experience. It is an opportunity to learn how others solve complex problems and work on projects that tend to be significantly more mature than most enterprise software regarding engineering practices and automation.

I was quite hyped when assigned a task to implement a small feature with actual end-user impact. It was nothing fancy: essentially, adding a flag to a CLI command to slightly modify user-facing behavior.

So, I started by implementing the functionality change in the core system. Having updated the core, it quickly became apparent that the change needed to propagate to the internal API that the core exposes. That API then needed to be called by an SDK. Updating that was trivial, as it is a statically generated SDK.

Once I made the changes to expose the new functionality in the SDK, I realized the CLI didn’t use the generated SDK directly. Instead, it relied on a wrapper SDK that provided convenience features and a more idiomatic developer experience.

I therefore updated the wrapper SDK, and finally modified the CLI to add the flag and invoke the new method. Done!