### Required

[\[1\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L22-L22)[\[2\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L34-L34)[\[3\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L72-L72)[\[4\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L75-L75)[\[5\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L78-L78)[\[6\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L86-L86)[\[7\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L100-L100)[\[8\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L111-L111)[\[9\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L121-L121)[\[10\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L122-L122)[\[11\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L135-L135)[\[12\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L136-L136)[\[13\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L138-L138)[\[14\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L146-L146)[\[15\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/audio/audio-modal.ts#L50-L50)[\[16\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/audio/audio-modal.ts#L99-L99)[\[17\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/audio/audio-modal.ts#L105-L105)[\[18\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/audio/audio-modal.ts#L152-L152)[\[19\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/audio/audio-modal.ts#L154-L154)[\[20\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/audio/audio-modal.ts#L156-L156)[\[21\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/audio/audio-modal.ts#L186-L186)[\[22\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/commands/voice-command.ts#L30-L30)[\[23\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/commands/voice-command.ts#L110-L110)[\[24\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/commands/voice-command.ts#L132-L132)
Use sentence case for UI text.

[\[1\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L27-L27)[\[2\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L38-L38)[\[3\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/audio/audio-modal.ts#L116-L116)[\[4\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/audio/audio-modal.ts#L200-L200)
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/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/main.ts#L72-L72)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/api/openai-client.ts#L75-L75)[\[2\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/api/openai-client.ts#L118-L118)
Expected an error object to be thrown.

[\[1\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/audio/audio-modal.ts#L80-L85)[\[2\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/audio/audio-modal.ts#L101-L101)[\[3\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/audio/audio-modal.ts#L107-L107)[\[4\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/commands/voice-command.ts#L42-L44)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/commands/voice-command.ts#L26-L26)
Async method 'execute' has no 'await' expression.

[\[1\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/utils/error-handler.ts#L77-L77)
Unexpected any. Specify a different type.



---

### Optional

[\[1\]](https://github.com/DenizOkcu/voice-md/blob/d9934f2e8662f40edc40967854e1e2e0a140a90a/src/api/openai-client.ts#L132-L132)
'_error' is defined but never used.

