A software design description (a.k.a. software design document or SDD), also Software Design Specification is a written description of a software product, that a software designer writes in order to give a software development team overall guidance to the architecture of the software project. An SDD usually accompanies an architecture diagram with pointers to detailed feature specifications of smaller pieces of the design. Practically, the description is required to coordinate a large team under a single vision, needs to be a stable reference, and outline all parts of the software and how they will work. More on wiki.
Features are listed in code repository and are linked back with document design. Each feature is also created as issue with label feature: List of Features.
Use template as starting point. Follow instructions from template. Your goal is to write document that developer can read and understand.