Whenever I explore a new codebase, whether it is open source or not, I look for three things:
How to log my first "Hello, World!" message
This serves as my flashlight, helping me explore and tinker with different parts of the codebase.
Are there any background tasks/jobs?
This is crucial because these tasks can cause unexpected behavior. For example, I might wonder why a certain part isn't working as expected, only to find out later that a background worker is flipping some field after a few minutes. Understanding this can prevent a lot of frustration and confusion.
The configurations
To see if there is any third party services is being used and have an idea about those third party services. Or port number that could conflict with existing one.
This approach has never failed me, whether the codebase is spaghetti or a piece of cake.