Always start with your .gitignore.
Initial code commit to public github repo.

UPDATE not implemented.  Code untested.

Minus UPDATE, code ostensibly first-functioning in a marginally [sic] viable way.  As always, USE AT YOUR OWN RISK.