### Required

[\[1\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L2-L2)
Do not import Node.js builtin module "fs"

[\[1\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L3-L3)
Do not import Node.js builtin module "path"

[\[1\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L6-L6)[\[2\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L9-L9)
'@langchain/core' should be listed in the project's dependencies. Run 'npm i -S @langchain/core' to add it

[\[1\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L21-L21)[\[2\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L24-L24)[\[3\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L243-L243)[\[4\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/embedding-utils.ts#L58-L58)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L45-L45)[\[2\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L51-L51)[\[3\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L59-L59)[\[4\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L67-L67)[\[5\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L75-L75)[\[6\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L83-L83)[\[7\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L146-L146)[\[8\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L155-L155)[\[9\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L183-L183)[\[10\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/chat-view.ts#L23-L23)[\[11\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/chat-view.ts#L37-L37)[\[12\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/chat-view.ts#L131-L131)[\[13\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/rag-search-modal.ts#L22-L22)[\[14\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/rag-search-modal.ts#L86-L86)[\[15\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/rag-search-modal.ts#L92-L92)[\[16\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L16-L16)[\[17\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L20-L20)[\[18\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L32-L32)[\[19\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L33-L33)[\[20\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L35-L35)[\[21\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L44-L44)[\[22\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L45-L45)[\[23\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L47-L47)[\[24\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L48-L48)[\[25\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L57-L57)[\[26\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L70-L70)[\[27\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L83-L83)[\[28\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L96-L96)[\[29\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L112-L112)[\[30\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L113-L113)[\[31\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L115-L115)
Use sentence case for UI text.

[\[1\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L46-L46)[\[2\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L52-L52)[\[3\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L61-L61)[\[4\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L69-L69)[\[5\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L77-L77)[\[6\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L87-L87)[\[7\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L125-L125)[\[8\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L177-L177)[\[9\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/chat-view.ts#L63-L63)[\[10\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/chat-view.ts#L75-L75)[\[11\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/chat-view.ts#L120-L120)[\[12\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/chat-view.ts#L152-L152)[\[13\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/chat-view.ts#L171-L171)[\[14\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/rag-search-modal.ts#L42-L42)[\[15\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/rag-search-modal.ts#L88-L88)[\[16\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/rag-search-modal.ts#L109-L109)
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/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L144-L144)
Async method 'openRAGSearchModal' has no 'await' expression.

[\[1\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L252-L252)[\[2\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L324-L324)[\[3\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L346-L346)[\[4\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L349-L349)[\[5\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L392-L392)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/chat-view.ts#L59-L59)[\[2\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/rag-search-modal.ts#L39-L39)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/chat-view.ts#L183-L183)[\[2\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/rag-search-modal.ts#L130-L130)
`renderMarkdown` is deprecated. - use {@link MarkdownRenderer.render}

[\[1\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L16-L16)[\[2\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/settings-tab.ts#L108-L108)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.



---

### Optional

[\[1\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/main.ts#L1-L1)
'TFile' is defined but never used.

[\[1\]](https://github.com/ljjTYJR/obsidian-LLM-RAG-Chat/blob/d03ebd3ba05a6655122b487f245a515668544946/src/rag-search-modal.ts#L22-L22)
'title' is assigned a value but never used.

