### Required

[\[1\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/ai/client.ts#L211-L211)[\[2\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/ai/client.ts#L219-L219)
Unexpected use of 'fetch'. Use the built-in `requestUrl` function instead of `fetch` for network requests in Obsidian.

[\[1\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/ai/client.ts#L272-L272)[\[2\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/ai/client.ts#L296-L296)
Expected an error object to be thrown.

[\[1\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/commands/index.ts#L37-L37)
The command ID should not include the plugin ID.

[\[1\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/commands/index.ts#L39-L39)
Avoid providing a default hotkey. Users should set their own.

[\[1\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L210-L210)[\[2\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L220-L220)[\[3\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L278-L278)[\[4\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L316-L316)[\[5\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L440-L440)[\[6\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L498-L498)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L210-L210)[\[2\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L268-L268)[\[3\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L280-L280)[\[4\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L398-L398)[\[5\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L401-L401)[\[6\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L417-L417)[\[7\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/ui/rewriteModal.ts#L67-L67)[\[8\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/ui/rewriteModal.ts#L125-L125)[\[9\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/ui/rewriteModal.ts#L318-L318)
Use sentence case for UI text.

[\[1\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/ui/rewriteModal.ts#L92-L92)
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/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/ui/rewriteModal.ts#L180-L180)[\[2\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/ui/rewriteModal.ts#L180-L180)
Expected non-Promise value in a boolean conditional.



---

### Optional

[\[1\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/ai/client.ts#L227-L227)
'_error' is defined but never used.

[\[1\]](https://github.com/Xav1erW/obsidian-ai-completer/blob/c4698dfcb63a9cbffe4d5ad0cb89b30f373372a3/src/settings.ts#L8-L8)
'TextAreaComponent' is defined but never used.

