### Required

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/ChatService.ts#L205-L205)[\[2\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/OpenRouterService.ts#L317-L317)[\[3\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/OpenRouterService.ts#L359-L359)[\[4\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/OpenRouterService.ts#L439-L439)[\[5\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/utils/logger.ts#L29-L29)[\[6\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/utils/logger.ts#L34-L34)[\[7\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/utils/logger.ts#L39-L39)[\[8\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/utils/logger.ts#L44-L44)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/EditorHandler.ts#L42-L42)[\[2\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/EditorHandler.ts#L82-L82)[\[3\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/FileSystemService.ts#L74-L74)[\[4\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/FileSystemService.ts#L77-L77)[\[5\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/FileSystemService.ts#L123-L123)[\[6\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/FileSystemService.ts#L127-L127)[\[7\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/ModelSelectorModal.ts#L29-L29)[\[8\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/ModelSelectorModal.ts#L46-L46)[\[9\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/OpenRouterService.ts#L159-L159)[\[10\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/OpenRouterService.ts#L173-L173)[\[11\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/OpenRouterService.ts#L435-L435)[\[12\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/OpenRouterService.ts#L475-L475)[\[13\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/OpenRouterService.ts#L492-L492)[\[14\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L36-L36)[\[15\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L39-L39)[\[16\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L40-L40)[\[17\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L43-L43)[\[18\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L65-L65)[\[19\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L93-L93)[\[20\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L103-L103)[\[21\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L220-L220)[\[22\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L253-L253)[\[23\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L322-L322)[\[24\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L323-L323)[\[25\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L386-L386)[\[26\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L399-L399)[\[27\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L412-L412)[\[28\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L427-L427)[\[29\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L660-L660)[\[30\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L669-L669)[\[31\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/main.ts#L128-L128)
Use sentence case for UI text.

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/EditorHandler.ts#L108-L129)[\[2\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L424-L424)[\[3\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/main.ts#L156-L161)
Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator.

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/FileSystemService.ts#L95-L95)
Unexpected combined character in character class.

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/FileSystemService.ts#L166-L166)
Unnecessary escape character: \..

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/ModelSelectorModal.ts#L16-L66)
Promise-returning method provided where a void return was expected by extended/implemented type 'Modal'.

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/ModelSelectorModal.ts#L48-L48)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/OpenRouterService.ts#L305-L305)
Unexpected use of 'fetch'. Use the built-in `requestUrl` function instead of `fetch` for network requests in Obsidian.

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L183-L183)[\[2\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L213-L213)[\[3\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L246-L246)[\[4\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L442-L442)[\[5\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/SettingsTab.ts#L471-L471)
Expected non-Promise value in a boolean conditional.

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/utils/logger.ts#L24-L24)[\[2\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/utils/logger.ts#L36-L36)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.



---

### Optional

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/EditorHandler.ts#L1-L1)
'TFile' is defined but never used.

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/ModelSelectorModal.ts#L1-L1)
'App' is defined but never used.

[\[1\]](https://github.com/aarons/obsidian-simple-chat/blob/e72c555e3acf07cc342c5e23c4c383c105d668d9/src/main.ts#L7-L7)
'LogLevel' is defined but never used.

