### Required

[\[1\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/habit-core.ts#L2-L2)
'moment' import is restricted from being used. The 'moment' package is bundled with Obsidian. Please import it from 'obsidian' instead.

[\[1\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/habit-core.ts#L59-L59)
Intersection type constituent is duplicated with NoMissingHabitBlockOptions.

[\[1\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/habit-core.ts#L78-L78)
Intersection type constituent is duplicated with NoMissingHabitGroupOptions.

[\[1\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/main.ts#L100-L100)
The command ID should not include the plugin ID.

[\[1\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/main.ts#L167-L167)
Creating and attaching "style" elements is not allowed. For loading CSS, use a "styles.css" file instead, which Obsidian loads for you.

[\[1\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/main.ts#L260-L260)
'MarkdownPostProcessorContext' is an 'error' type that acts as 'any' and overrides all other types in this union type.

[\[1\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/settings.ts#L57-L57)[\[2\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/settings.ts#L224-L224)[\[3\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/settings.ts#L286-L286)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[\[1\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/settings.ts#L178-L178)[\[2\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/settings.ts#L293-L293)
Use sentence case for UI text.



---

### Optional

[\[1\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/habit-core.ts#L59-L59)
'_HabitBlockOptionKeysCheck' is defined but never used.

[\[1\]](https://github.com/Quipex/obsidian-habit-tracking/blob/d41184ed5dd0178e802f4b5fee1f5d47cfa9bc3c/plugin/src/habit-core.ts#L78-L78)
'_HabitGroupOptionKeysCheck' is defined but never used.

