Add test for the command design pattern
Fix gitignore