### Required

[\[1\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/main.ts#L45-L45)[\[2\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/main.ts#L62-L62)[\[3\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/main.ts#L73-L73)[\[4\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/main.ts#L79-L79)[\[5\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/main.ts#L85-L85)[\[6\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/main.ts#L91-L91)[\[7\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/main.ts#L97-L97)[\[8\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgileDisplaySettings.ts#L129-L129)[\[9\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgileDisplaySettings.ts#L149-L149)[\[10\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgileDisplaySettings.ts#L169-L169)[\[11\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgileDisplaySettings.ts#L189-L189)[\[12\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgileDisplaySettings.ts#L209-L209)[\[13\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgileDisplaySettings.ts#L228-L228)[\[14\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgileDisplaySettings.ts#L245-L245)[\[15\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgileDisplaySettings.ts#L261-L261)[\[16\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgileDisplaySettings.ts#L275-L275)[\[17\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgileDisplaySettings.ts#L291-L291)[\[18\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgileDisplaySettings.ts#L310-L310)[\[19\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgilePluginSettingTab.ts#L34-L34)[\[20\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgilePluginSettingTab.ts#L37-L37)[\[21\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgilePluginSettingTab.ts#L38-L38)[\[22\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgilePluginSettingTab.ts#L49-L49)[\[23\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgilePluginSettingTab.ts#L50-L50)[\[24\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/MarkdownProcessors/AgileDisplayMarkdownProcessor.ts#L302-L302)[\[25\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateEpicModal.ts#L25-L25)[\[26\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateNewAgileFileModal.ts#L38-L38)[\[27\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateNewAgileFileModal.ts#L39-L39)[\[28\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateStoryModal.ts#L27-L27)[\[29\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateStructureModal.ts#L31-L31)[\[30\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateStructureModal.ts#L32-L32)[\[31\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateStructureModal.ts#L34-L34)[\[32\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateStructureModal.ts#L35-L35)[\[33\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateTaskModal.ts#L29-L29)[\[34\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/HelpScreenModal.ts#L29-L29)[\[35\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/HelpScreenModal.ts#L32-L32)[\[36\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/HelpScreenModal.ts#L38-L38)[\[37\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/HelpScreenModal.ts#L42-L42)[\[38\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/HelpScreenModal.ts#L43-L43)[\[39\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/HelpScreenModal.ts#L52-L52)[\[40\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/HelpScreenModal.ts#L73-L73)[\[41\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/PluginStructureManager.ts#L37-L37)
Use sentence case for UI text.

[\[1\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/main.ts#L56-L56)[\[2\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/MarkdownProcessors/AgileDisplayMarkdownProcessor.ts#L54-L54)[\[3\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/MarkdownProcessors/AgileDisplayMarkdownProcessor.ts#L70-L70)[\[4\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/MarkdownProcessors/AgileDisplayMarkdownProcessor.ts#L222-L222)[\[5\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/PluginFileFactory.ts#L76-L76)[\[6\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/PluginFileFactory.ts#L113-L113)[\[7\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/PluginFileFactory.ts#L156-L156)[\[8\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/PluginStructureManager.ts#L37-L37)[\[9\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/PluginStructureManager.ts#L74-L74)[\[10\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/PluginStructureManager.ts#L98-L98)
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/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/AgilePluginSettingTab.ts#L34-L34)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/MarkdownProcessors/AgileDisplayMarkdownProcessor.ts#L90-L95)[\[2\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/MarkdownProcessors/AgileDisplayMarkdownProcessor.ts#L127-L132)[\[3\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/MarkdownProcessors/AgileDisplayMarkdownProcessor.ts#L165-L170)
Unexpected iterable of non-Promise (non-"Thenable") values passed to promise aggregator.

[\[1\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/MarkdownProcessors/AgileDisplayMarkdownProcessor.ts#L119-L119)[\[2\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/MarkdownProcessors/AgileDisplayMarkdownProcessor.ts#L154-L154)[\[3\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/MarkdownProcessors/AgileDisplayMarkdownProcessor.ts#L200-L200)
Avoid using the main plugin instance as a component. Its lifecycle is too long, which can cause memory leaks.

[\[1\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/MarkdownProcessors/AgileDisplayMarkdownProcessor.ts#L219-L223)[\[2\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateEpicModal.ts#L31-L34)[\[3\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateStoryModal.ts#L35-L38)[\[4\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateTaskModal.ts#L40-L43)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/MarkdownProcessors/AgileDisplayMarkdownProcessor.ts#L220-L220)
Unexpected `await` of a non-Promise (non-"Thenable") value.

[\[1\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateEpicModal.ts#L31-L31)[\[2\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateStoryModal.ts#L35-L35)[\[3\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateTaskModal.ts#L40-L40)
Async arrow function has no 'await' expression.

[\[1\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateStructureModal.ts#L34-L34)[\[2\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateStructureModal.ts#L34-L34)[\[3\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateStructureModal.ts#L34-L34)[\[4\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateStructureModal.ts#L34-L34)
Unnecessary escape character: \".



---

### Optional

[\[1\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateFileModal.ts#L41-L41)[\[2\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateFileModal.ts#L56-L56)[\[3\]](https://github.com/Nano-DNA-Studios/visual-agile/blob/cd23837201cb000d2f47f42ed8786d1dac424230/src/Modals/CreateFileModal.ts#L71-L71)
'label' is assigned a value but never used.

