redis-py icon indicating copy to clipboard operation
redis-py copied to clipboard

Improve Onboarding with Generated System Diagrams

Open ivanmilevtues opened this issue 7 months ago • 2 comments

This PR adds auto-generated high-level diagrams and component-level documentation using CodeBoarding, aimed at improving developer onboarding by making it easier to get to know the codebase and lowering the barrier to contribution.

We would love to hear what you think about the generated diagrams — feedback is more than welcome. If you are interested in using CodeBoarding for other projects or want to get in touch, feel free to reach out to me.

ivanmilevtues avatar May 31 '25 09:05 ivanmilevtues

Hi @ivanmilevtues, thank you for your contribution! We'll have a look at it shortly.

petyaslavova avatar Jun 02 '25 14:06 petyaslavova

I guess it is probably easier to review the change if you see the diagrams rendered. You can do that here: https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/redis-py/on_boarding.md

I got few questions, on how to keep these docs up-to-date and wanted to share that we are wroking on github action which will allow you to update it automatically depending on your liking (merge in main/release etc.)

ivanmilevtues avatar Jun 09 '25 23:06 ivanmilevtues

Hey @petyaslavova, We did major improvements on our diagram generation engine. I regerated the diagrams for this PR. You can see how they render again here: https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/redis-py/on_boarding.md (it is the same link as before).

Happy to connect and discuss if this can be integrated, as we now also have a github action which will keep the diagrams up-to-date with new commits/PR's or other heuristic.

Let me know!

ivanmilevtues avatar Jul 05 '25 15:07 ivanmilevtues

A quick update from my side, we are now open-source so you can check the code if that sparks any interest: https://github.com/CodeBoarding/CodeBoarding

ivanmilevtues avatar Jul 30 '25 22:07 ivanmilevtues

Hi @ivanmilevtues ,

Thank you very much for taking the time to put this together and for your effort in improving the documentation — we really appreciate your contribution and the thought you put into it.

After some internal discussion, we’ve decided to close this PR for now. While the overall idea is good and interesting, at the moment we don’t have the capacity to support additional documentation of this type.

A quick note of feedback: referring to specific lines of code directly in the docs is generally not ideal, since those references can become outdated quite quickly as the code evolves. Also, while graphical representations of the relationships between components can definitely help with onboarding, it would be even more useful if they showed key conceptual links — for example, how a ClusterClient has a NodesManager reference that manages a standalone Redis client instance per node. Those kinds of relationships provide valuable context without tying the documentation too tightly to specific code lines.

Thanks again for your effort and for sharing your ideas!

petyaslavova avatar Nov 21 '25 16:11 petyaslavova