### Required

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/main.ts#L36-L36)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L271-L302)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L579-L579)
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/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/main.ts#L60-L60)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L37-L37)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L60-L60)[[4]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L64-L64)[[5]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L68-L68)[[6]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L72-L72)[[7]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L76-L76)[[8]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L234-L234)[[9]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L255-L255)[[10]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L21-L21)[[11]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L92-L92)[[12]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L94-L94)[[13]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L139-L139)[[14]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/api.ts#L114-L114)[[15]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/api.ts#L115-L115)[[16]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/api.ts#L130-L130)
Unsafe assignment of an `any` value.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/main.ts#L80-L80)
Unsafe argument of type `any` assigned to a parameter of type `(template: AITemplate, selectedText: string) => void`.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L14-L14)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L33-L33)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L17-L17)[[4]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L20-L20)[[5]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/api.ts#L58-L58)[[6]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L71-L71)[[7]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L80-L80)
Unexpected any. Specify a different type.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L18-L18)
'NodeJS' is not defined.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L61-L61)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L328-L328)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L92-L92)[[4]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L97-L97)[[5]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L98-L98)[[6]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L139-L139)
Unsafe call of a(n) `any` typed value.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L61-L61)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L326-L326)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L328-L328)[[4]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L92-L92)[[5]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L139-L139)
Unsafe member access .workspace on an `any` value.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L225-L225)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L246-L246)
Avoid setting styles directly via `element.style.pointerEvents`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L229-L229)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L250-L250)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/settings.ts#L164-L164)[[4]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/settings.ts#L374-L374)[[5]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/settings.ts#L405-L405)[[6]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L832-L834)
This assertion is unnecessary since it does not change the type of the expression.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L329-L329)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L309-L309)
Empty block statement.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L25-L25)
Async method 'showInlineDiff' has no 'await' expression.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L94-L94)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L140-L140)
Unsafe member access .editor on an `any` value.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L97-L97)
Unsafe member access .setSelection on an `any` value.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L98-L98)
Unsafe member access .replaceSelection on an `any` value.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/InlineDiffManager.ts#L140-L140)
Unsafe return of a value of type `any`.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/api.ts#L68-L68)
Unsafe member access .max_tokens on an `any` value.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/api.ts#L72-L72)
Unexpected use of 'fetch'. Use the built-in `requestUrl` function instead of `fetch` for network requests in Obsidian.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/api.ts#L115-L115)
Unsafe member access .choices on an `any` value.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/api.ts#L118-L118)
Unsafe argument of type `any` assigned to a parameter of type `string`.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/settings.ts#L20-L20)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/settings.ts#L124-L124)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/settings.ts#L25-L25)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/settings.ts#L54-L54)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/settings.ts#L282-L282)[[4]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/settings.ts#L369-L369)
Use sentence case for UI text.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L73-L73)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L73-L73)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L74-L74)
Unsafe member access .view on an `any` value.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L74-L74)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L82-L82)
Unsafe argument of type `any` assigned to a parameter of type `SetStateAction<TFile>`.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L409-L409)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L596-L596)
Promise-returning function provided to attribute where a void return was expected.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L630-L630)
Async method 'onOpen' has no 'await' expression.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L634-L634)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L635-L635)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L785-L785)
Avoid setting styles directly via `element.style.height`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L655-L655)
Async method 'onClose' has no 'await' expression.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L701-L701)
Avoid setting styles directly via `element.style.marginBottom`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L702-L702)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L712-L712)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L715-L715)[[4]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L782-L782)[[5]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L882-L882)
Avoid setting styles directly via `element.style.color`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L703-L703)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L884-L884)
Avoid setting styles directly via `element.style.fontSize`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L724-L724)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L784-L784)
Avoid setting styles directly via `element.style.width`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L725-L725)
Avoid setting styles directly via `element.style.margin`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L732-L732)
Avoid setting styles directly via `element.style.maxHeight`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L733-L733)
Avoid setting styles directly via `element.style.overflowY`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L734-L734)
Avoid setting styles directly via `element.style.border`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L735-L735)
Avoid setting styles directly via `element.style.borderRadius`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L736-L736)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L779-L779)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L830-L830)
Avoid setting styles directly via `element.style.padding`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L739-L739)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L776-L776)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L827-L827)
Avoid setting styles directly via `element.style.display`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L740-L740)
Avoid setting styles directly via `element.style.justifyContent`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L741-L741)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L778-L778)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L829-L829)
Avoid setting styles directly via `element.style.gap`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L742-L742)
Avoid setting styles directly via `element.style.marginTop`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L777-L777)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L828-L828)
Avoid setting styles directly via `element.style.alignItems`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L780-L780)
Avoid setting styles directly via `element.style.cursor`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L802-L802)
Avoid setting styles directly via `element.style.transformOrigin`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L875-L875)
Avoid setting styles directly via `element.style.opacity`. Use CSS classes for better theming and maintainability.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L881-L881)
Avoid setting styles directly via `element.style.fontWeight`. Use CSS classes for better theming and maintainability.



---

### Optional

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/FloatingAIManager.ts#L329-L329)[[2]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/api.ts#L120-L120)[[3]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L309-L309)
'_' is defined but never used.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/components/InlineDiff.tsx#L1-L1)
'useEffect' is defined but never used.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/settings.ts#L369-L369)
'desc' is assigned a value but never used.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/settings.ts#L389-L389)
'nameSpan' is assigned a value but never used.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L158-L158)
'selectedFileNames' is assigned a value but never used.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L767-L767)
'matchesFolder' is assigned a value but never used.

[[1]](https://github.com/FB208/obsidian-simple-ai/blob/3625348a61d931104d64b480f36e97c2cba3e393/src/view.tsx#L768-L768)
'matchingChildren' is assigned a value but never used.

