beetbox / beets

music library manager and MusicBrainz tagger
http://beets.io/
MIT License
12.67k stars 1.81k forks source link

Expand architecture documentation #4329

Open ghost opened 2 years ago

ghost commented 2 years ago

Add an ARCHITECTURE.md file to allow new contributors to learn about the physical architecture of the project easily.

sampsyo commented 2 years ago

Thanks for the suggestion! It would indeed be great to do a better job describing the project’s architecture as a “way in” to understanding how to contribute. The best we have at the moment may be the Concepts wiki page. See also #3283.

In the limit, I would love to move this wiki page and more on the actual module organization to our already-expansive For Developers section of the official docs. Putting it there would make it easy to link to actual source code documentation (i.e., we can link to specific classes and methods when describing how they fit together into the high-level architecture).

Anyway, any and all help getting that started would be useful! I also recognize that people already deeply involved with the project (e.g., me) would be the best people to write some parts of this, so it’s not like newcomers should expect to write everything... but even so, any partial or rough drafts of any pieces of the bigger puzzle would still be really helpful.