Start from the beginning 😀
No, but really, start from the basics: speak to people who would be using the system and discuss their needs, create your foundation and components, use correct naming to enable usability, add guidelines and rules then grow and move on to code library and beyond whatever you and your team need!
It is also important to note that the proper design system is a project on its own and that any updates should be communicated with the whole team involved. It is a good idea to have someone in charge of overseeing the process, someone who makes all decisions and approve changes – the guardian of the galaxy!
You could use an atomic design approach as a foundation for your system, I explain how the atomic design methodology works in my next blog post.