use gitignore clean version
add CLI with docs
documentation
use flexible tags for future expansion
change the way Keys are serialized
document constants