Skip to content

Commit 0fea2eb

Browse files
appleboyclaude
andcommitted
fix(cmd): use MkdirAll directly for prompt folder creation
- Replace file.IsDir check with direct os.MkdirAll to avoid fatal error when prompt folder does not exist - Apply fix to all three prompt folder handling cases (flag, config, default) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent ac8886b commit 0fea2eb

File tree

1 file changed

+6
-24
lines changed

1 file changed

+6
-24
lines changed

cmd/cmd.go

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -136,14 +136,8 @@ func initConfig() {
136136
log.Fatalf("prompt folder %s is a file", promptFolder)
137137
}
138138
// If the prompt folder does not exist, create it.
139-
isDir, err := file.IsDir(promptFolder)
140-
if err != nil {
141-
log.Fatalf("failed to check if prompt folder %s is a directory: %v", promptFolder, err)
142-
}
143-
if !isDir {
144-
if err := os.MkdirAll(promptFolder, os.ModePerm); err != nil {
145-
log.Fatal(err)
146-
}
139+
if err := os.MkdirAll(promptFolder, os.ModePerm); err != nil {
140+
log.Fatalf("failed to create prompt folder %s: %v", promptFolder, err)
147141
}
148142
// Set the prompt folder in the configuration.
149143
viper.Set("prompt.folder", promptFolder)
@@ -159,29 +153,17 @@ func initConfig() {
159153
log.Fatalf("prompt folder %s is a file", promptFolder)
160154
}
161155
// If the prompt folder does not exist, create it.
162-
isDir, err := file.IsDir(promptFolder)
163-
if err != nil {
164-
log.Fatalf("failed to check if prompt folder %s is a directory: %v", promptFolder, err)
165-
}
166-
if !isDir {
167-
if err := os.MkdirAll(promptFolder, os.ModePerm); err != nil {
168-
log.Fatal(err)
169-
}
156+
if err := os.MkdirAll(promptFolder, os.ModePerm); err != nil {
157+
log.Fatalf("failed to create prompt folder %s: %v", promptFolder, err)
170158
}
171159
default:
172160
// If no prompt folder is specified, use the default prompt folder
173161
// under the ".config/codegpt" directory in the user's home directory.
174162
home, err := os.UserHomeDir()
175163
cobra.CheckErr(err)
176164
targetFolder := path.Join(home, ".config", "codegpt", "prompt")
177-
isDir, err := file.IsDir(targetFolder)
178-
if err != nil {
179-
log.Fatalf("failed to check if target folder %s is a directory: %v", targetFolder, err)
180-
}
181-
if !isDir {
182-
if err := os.MkdirAll(targetFolder, os.ModePerm); err != nil {
183-
log.Fatal(err)
184-
}
165+
if err := os.MkdirAll(targetFolder, os.ModePerm); err != nil {
166+
log.Fatalf("failed to create prompt folder %s: %v", targetFolder, err)
185167
}
186168
// Set the prompt folder in the configuration.
187169
viper.Set("prompt.folder", targetFolder)

0 commit comments

Comments
 (0)