### Required

[\[1\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/main.ts#L28-L28)[\[2\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/main.ts#L36-L36)[\[3\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/main.ts#L44-L44)[\[4\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/main.ts#L52-L52)[\[5\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/main.ts#L60-L60)[\[6\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/main.ts#L68-L68)
The command ID should not include the plugin ID.

[\[1\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/main.ts#L31-L31)[\[2\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/main.ts#L39-L39)
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/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/main.ts#L76-L78)
Promise-returning method provided where a void return was expected by extended/implemented type 'Plugin'.

[\[1\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/CreateDeckModal.ts#L48-L48)[\[2\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/CreateDeckModal.ts#L53-L53)[\[3\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/CreateTagModal.ts#L49-L49)[\[4\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/CreateTagModal.ts#L54-L54)[\[5\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/CreateTemplateModal.ts#L60-L60)[\[6\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/CreateTemplateModal.ts#L79-L79)[\[7\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/CreateTemplateModal.ts#L88-L88)[\[8\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/CreateTemplateModal.ts#L93-L93)[\[9\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/UpdateDeckModal.ts#L97-L97)[\[10\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/UpdateDeckModal.ts#L102-L102)[\[11\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/UpdateTagModal.ts#L96-L96)[\[12\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/UpdateTagModal.ts#L101-L101)[\[13\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/UpdateTemplateModal.ts#L133-L133)[\[14\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/UpdateTemplateModal.ts#L157-L157)[\[15\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/UpdateTemplateModal.ts#L166-L166)[\[16\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/UpdateTemplateModal.ts#L171-L171)
Async arrow function has no 'await' expression.

[\[1\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/CreateDeckModal.ts#L53-L58)[\[2\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/CreateTagModal.ts#L54-L59)[\[3\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/CreateTemplateModal.ts#L93-L98)[\[4\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/UpdateDeckModal.ts#L102-L107)[\[5\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/UpdateTagModal.ts#L101-L106)[\[6\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/UpdateTemplateModal.ts#L171-L176)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/FlashcardReviewModal.ts#L51-L51)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/settings/I_CyclearnSettings.ts#L1-L1)
An empty interface declaration allows any non-nullish value, including literals like `0` and `""`.
- If that's what you want, disable this lint rule with an inline comment or configure the 'allowInterfaces' rule option.
- If you want a type meaning "any object", you probably want `object` instead.
- If you want a type meaning "any value", you probably want `unknown` instead.

[\[1\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/views/CyclearnStudioView.ts#L57-L57)[\[2\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/views/CyclearnStudyView.ts#L40-L40)
Use sentence case for UI text.

[\[1\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/views/CyclearnStudioView.ts#L64-L64)[\[2\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/views/CyclearnStudyView.ts#L47-L47)
Async method 'onOpen' has no 'await' expression.



---

### Optional

[\[1\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/main.ts#L6-L6)
'CyclearnSettingTab' is defined but never used.

[\[1\]](https://github.com/NoahBoos/obsidian-cyclearn/blob/ce5af4991d38c49f58657021a85469bb6668ef1a/src/modals/CyclearnCreateObjectModal.ts#L41-L41)
'title' is assigned a value but never used.

