### Required

[\[1\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/main.ts#L26-L26)[\[2\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/main.ts#L33-L33)[\[3\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/components/ai-assistant-modal.ts#L56-L56)[\[4\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/components/ai-assistant-modal.ts#L85-L85)[\[5\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/components/ai-assistant-modal.ts#L102-L102)[\[6\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/components/ai-assistant-modal.ts#L244-L244)[\[7\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/components/ai-assistant-modal.ts#L287-L287)[\[8\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/settings.ts#L31-L31)[\[9\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/settings.ts#L34-L34)[\[10\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/settings.ts#L35-L35)[\[11\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/settings.ts#L37-L37)[\[12\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/settings.ts#L46-L46)[\[13\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/settings.ts#L48-L48)[\[14\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/settings.ts#L49-L49)[\[15\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/settings.ts#L50-L50)[\[16\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/settings.ts#L51-L51)[\[17\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/settings.ts#L52-L52)
Use sentence case for UI text.

[\[1\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/main.ts#L99-L99)[\[2\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/main.ts#L106-L106)[\[3\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/main.ts#L389-L389)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/main.ts#L130-L130)
Creating and attaching "style" elements is not allowed. For loading CSS, use a "styles.css" file instead, which Obsidian loads for you.

[\[1\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/components/ai-assistant-modal.ts#L43-L43)[\[2\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/components/ai-assistant-modal.ts#L46-L46)[\[3\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/components/ai-assistant-modal.ts#L464-L464)
Avoid setting styles directly via `element.style.setProperty`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/components/ai-assistant-modal.ts#L150-L152)[\[2\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/components/ai-assistant-modal.ts#L160-L165)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/settings.ts#L31-L31)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/types.ts#L9-L9)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/src/types.ts#L9-L9)
'any' overrides all other types in this union type.



---

### Optional

[\[1\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/main.ts#L1-L1)
'App' is defined but never used.

[\[1\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/main.ts#L1-L1)
'EditorPosition' is defined but never used.

[\[1\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/main.ts#L1-L1)
'Notice' is defined but never used.

[\[1\]](https://github.com/kowshik24/obsidian-ai-assistant/blob/6aa0a9cf33a574be8cbb7d876bcb216576ab43c1/main.ts#L1-L1)
'PluginSettingTab' is defined but never used.

