Great input indeed!
While this is on the table, we still haven't created specific instructions as to how to work with NativeScript CLI and source control.
Basically, for the long term, what you did is correct: the `platforms` folder must always be generate-able - its platform-specific files get retrieved from the `tns-ios`/`tns-android` packages in NPMjs.org and its NS-application specific files (tns_modules and the user code) get generated from the content in the main folder.
If the user wants to have anything that is platform-specific, they would:
2) create a custom module with its corresponding native binaries under the `modules` folder.
The implementation/specification of custom modules is still in progress, hence this is not an official information yet.
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.