`config init` and first-run config creation fail when `~/.config` does not exist (non-recursive `Dir.mkdir`)
The `noir config init` command and other commands that create configuration files fail when the `~/.config` directory does not exist. This is because the `Dir.mkdir` function used is not recursive, preventing the creation of the necessary nested directories. The fix involves using a recursive directory creation method like `Dir.mkdir_p`.