Add temporary files to gitignore.
Use zsh custom instead of manual all require.
Add host OS specific checks (IS_MAC and IS_LINUX)
Use IS_MAC/IS_LINUX checks instead of including different directories.