summaryrefslogtreecommitdiffhomepage
path: root/.rules/plan/calendar-phase-5.md
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-03-28 19:26:58 +0900
committerAdam Malczewski <[email protected]>2026-03-28 19:26:58 +0900
commitab6d09df695c5cdfa21aa8005f00ebf2bd37df2b (patch)
treeae4f994a85b2ba52a9c8e8626c6d8ae9dd2e4cf4 /.rules/plan/calendar-phase-5.md
parent80b35f3a606753ba804445e120eb9a7f05afef85 (diff)
downloadai-pulse-obsidian-plugin-ab6d09df695c5cdfa21aa8005f00ebf2bd37df2b.tar.gz
ai-pulse-obsidian-plugin-ab6d09df695c5cdfa21aa8005f00ebf2bd37df2b.zip
split of big plan
Diffstat (limited to '.rules/plan/calendar-phase-5.md')
-rw-r--r--.rules/plan/calendar-phase-5.md54
1 files changed, 54 insertions, 0 deletions
diff --git a/.rules/plan/calendar-phase-5.md b/.rules/plan/calendar-phase-5.md
new file mode 100644
index 0000000..d4caf53
--- /dev/null
+++ b/.rules/plan/calendar-phase-5.md
@@ -0,0 +1,54 @@
+# Phase 5: Settings Integration (`src/calendar/calendar-settings.ts` + `src/settings.ts`)
+
+**Status:** Not started
+**Depends on:** Nothing (can be implemented independently, but wired in Phase 6)
+**Output files:** `src/calendar/calendar-settings.ts`, modifications to `src/settings.ts`
+
+---
+
+## Overview
+
+Add calendar-specific settings to the plugin's settings interface and settings UI.
+
+---
+
+## New Settings Fields
+
+Add to `AIPulseSettings` interface in `src/settings.ts`:
+
+```
+- calendarRootFolder: string (default: "Calendar")
+- calendarConfirmBeforeCreate: boolean (default: true)
+- calendarWeekStart: "locale" | "sunday" | "monday" | ... (default: "locale")
+- calendarShowWeekNumbers: boolean (default: false)
+- calendarShowWeekNumbersRight: boolean (default: false) — from fork: option to display week numbers on the right side
+- calendarShowQuarter: boolean (default: false) — from fork: toggle quarter display (Q1–Q4)
+- calendarCtrlClickOpensInNewTab: boolean (default: false) — from fork: Ctrl+Click opens in new tab instead of new split
+- calendarShowWordCountDots: boolean (default: true)
+- calendarWordsPerDot: number (default: 250)
+- calendarDailyNoteTemplate: string (default: "")
+```
+
+---
+
+## Settings UI (`CalendarSettingsSection`)
+
+In `src/calendar/calendar-settings.ts`, create a function or class that adds a "Calendar" section to the settings modal:
+
+- Root folder picker (text field)
+- Week start dropdown
+- Confirm before create toggle
+- Ctrl+Click behavior dropdown ("Open in new tab" vs "Open in new split") — from fork
+- Show week numbers toggle
+- Show week numbers on right side toggle — from fork
+- Show quarter toggle — from fork
+- Word count dots toggle + words per dot number
+- Daily note template path (text field)
+
+---
+
+## Notes
+
+- Settings must be added to the default settings object so existing users get sane defaults on upgrade.
+- The settings UI section should be visually grouped under a "Calendar" heading in the settings tab.
+- The template path field should accept a vault-relative path to a markdown file.