diff --git a/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/common/client/api/chatgpt/ChatGptTools.java b/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/common/client/api/chatgpt/ChatGptTools.java
index aee2be1..61dfa8a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/common/client/api/chatgpt/ChatGptTools.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/common/client/api/chatgpt/ChatGptTools.java
@@ -12,7 +12,7 @@
 public class ChatGptTools {
     public static ChatGptTool retrieveFormatRepliesTool() {
         ChatGptTool tools;
-        try (InputStreamReader reader = FileUtils.getInputStreamReader("Config/formatRepliesTool.json")) {
+        try (InputStreamReader reader = FileUtils.getInputStreamReader("config/formatRepliesTool.json")) {
             tools = getGson().fromJson(reader, ChatGptTool.class);
         } catch (IOException e) {
             throw new RuntimeException("Failed to load data for ChatGPT `format_replies` tool", e);
@@ -22,7 +22,7 @@
 
     public static ChatGptToolChoice retrieveFormatRepliesToolChoice() {
         ChatGptToolChoice toolChoice;
-        try (InputStreamReader reader = FileUtils.getInputStreamReader("Config/formatRepliesToolChoice.json")) {
+        try (InputStreamReader reader = FileUtils.getInputStreamReader("config/formatRepliesToolChoice.json")) {
             toolChoice = getGson().fromJson(reader, ChatGptToolChoice.class);
         } catch (IOException e) {
             throw new RuntimeException("Failed to load data for ChatGPT `format_replies` tool choice", e);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/common/client/prompt/ChatGptPrompt.java b/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/common/client/prompt/ChatGptPrompt.java
index 3b7971e..1862343 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/common/client/prompt/ChatGptPrompt.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/common/client/prompt/ChatGptPrompt.java
@@ -77,7 +77,7 @@
     }
 
     protected void loadPrompts(String promptFilename) {
-        String promptFile = String.format("Config/%s.json", promptFilename);
+        String promptFile = String.format("config/%s.json", promptFilename);
         Class<? extends ChatGptPrompt> me = this.getClass();
         try (InputStreamReader reader = FileUtils.getInputStreamReader(promptFile)) {
             Map<String, Object> values = getGson().fromJson(reader, new TypeToken<Map<String, Object>>(){}.getType());
diff --git a/src/main/resources/Config/formatRepliesTool.json b/src/main/resources/config/formatRepliesTool.json
similarity index 100%
rename from src/main/resources/Config/formatRepliesTool.json
rename to src/main/resources/config/formatRepliesTool.json
diff --git a/src/main/resources/Config/formatRepliesToolChoice.json b/src/main/resources/config/formatRepliesToolChoice.json
similarity index 100%
rename from src/main/resources/Config/formatRepliesToolChoice.json
rename to src/main/resources/config/formatRepliesToolChoice.json
diff --git a/src/main/resources/Config/prompts.json b/src/main/resources/config/prompts.json
similarity index 100%
rename from src/main/resources/Config/prompts.json
rename to src/main/resources/config/prompts.json
diff --git a/src/main/resources/Config/promptsStateful.json b/src/main/resources/config/promptsStateful.json
similarity index 100%
rename from src/main/resources/Config/promptsStateful.json
rename to src/main/resources/config/promptsStateful.json
diff --git a/src/main/resources/Config/promptsStateless.json b/src/main/resources/config/promptsStateless.json
similarity index 100%
rename from src/main/resources/Config/promptsStateless.json
rename to src/main/resources/config/promptsStateless.json
diff --git a/src/main/resources/Documentation/about.md b/src/main/resources/documentation/about.md
similarity index 100%
rename from src/main/resources/Documentation/about.md
rename to src/main/resources/documentation/about.md
