project basics.
add minimal gitignore.
initial implementation.