### Required

[\[1\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L63-L63)
The command ID should not include the plugin ID.

[\[1\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L561-L561)
'error ?? ""' will use Object's default stringification format ('[object Object]') when stringified.

[\[1\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L654-L654)[\[2\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L679-L679)[\[3\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L706-L706)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L791-L791)[\[2\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L982-L982)
Avoid setting styles directly via `element.style.marginBottom`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L797-L797)
Avoid setting styles directly via `element.style.width`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L804-L804)
Avoid setting styles directly via `element.style.marginTop`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L849-L849)[\[2\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L893-L893)[\[3\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L1006-L1006)
Use sentence case for UI text.

[\[1\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L893-L893)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L1070-L1070)
Unexpected confirm.



---

### Optional

[\[1\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L3-L3)
'MarkdownView' is defined but never used.

[\[1\]](https://github.com/kuakeye/obsidian-auto-node/blob/63f41707b309bbaf44af8d06c62e7daf235aee2d/src/main.ts#L533-L533)
Use 'FileManager.trashFile()' instead of 'Vault.trash()' to respect the user's file deletion preference.

