How can i quickly study the syncthing?

hi everybody: I have download the syncthing’s sourcecode,when i see the sourcecode , i couldn’t found any document about the sourcecode ,How can i quickly study the syncthing? is there some document about the syncthing’s sourcecode?

1, the folder “cmd” is the syncthing’s interface? that supply all need function to user? 2,the folder “internal” supply all needed function to the syncthing?

There are protocol specs which defines the protocol.

And i personally belive in reading the source code to understand it rather than reading a document about the sourcecode.

cmd is the final binaries which people use. cmd/syncthing is the glue between a few internal packages.

internal packages are (more or less) just stand alone packages which then are glued up by other packages. Most of the logic is in internal/model which glues up many of other internal packages.