feat(cli): daily notes folder and format in the settings chooser - #433
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… README Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
umm-actually re-reviewed at No new findings (2 tracked finding(s) across all runs). umm-actually · deepseek/deepseek-v4-flash-0731 |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The placeholder field comment and function docstring restated code-readable behavior; compressed to non-obvious constraints only. The skip message hardcoded "daily notes" in a generic function — generalized so future optionalText settings get an accurate log. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The "set value + typed different value" branch of askOptionalText and the configure-level active-line replacement for daily notes were untested. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The type's JSDoc enumerated toggle, port, timezone, and choice but omitted folder (pre-existing) and optionalText (new with this PR). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…adicts a keep log Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
@CodeRabbit review |
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (8)
📝 WalkthroughWalkthroughThe CLI now supports daily-notes folder and format settings in initialization and configuration flows. Optional text prompts preserve blank or unchanged values without writing ChangesDaily notes settings
Estimated code review effort: 3 (Moderate) | ~20 minutes Mergeability Score: ⚪ Minimal · up to The PR adds daily-notes settings to the CLI chooser with localized behavior changes, and no actionable merge-blocking risk remains after normal checks. Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…li-daily-notes-settings
|
@coderabbitai review |
✅ Action performedReview finished.
|
…ings Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
What this adds
DAILY_NOTES_FOLDERandDAILY_NOTES_FORMAT(shipped in v0.36.2, #427) could only be set by hand-editing.env. This surfaces them in the init/configure settings chooser, the same convenience tier as the memory folder.Changes
optionalTextsetting kind — the first chooser settings whose default is "unset" (the server reads the vault's own.obsidian/daily-notes.json). The existingfolderkind requires a concretedefaultValueand pre-fills it, which is wrong here: accepting a pre-filled value would write an override that silently shadows the vault config.optionalTextcarries aquestion+placeholderand no default.NAME=line), with a log line making the skip legible..envedit; the README's configure section now says so.YYYY-MM-DDtoken example; the shared placeholder says "blank = use your vault's daily notes settings"). The existing hint machinery shows "currently not set" / the current value with no code change.Intl, port range) is "a local authoritative validator with zero drift risk exists" — none does here. A bad value fail-fasts at boot with a named-env-var error, and the restart path already health-probes and points at logs.askSettingValuewidens toPromise<string | undefined>; the collection loop skips undefined. Module-private, single caller; thePromptsinterface is untouched, so no test-stub churn.The write path needed no changes: both vars already exist as commented template lines in the generated
.env(drift-guarded againstdeploy/*/.env.example), soapplyOptionalSettings' existing uncomment branch lands the chosen value. Both vars already flow through every step of the env-var checklist — this PR adds no var and touches nothing outsidecli/.Tests
defaultValue: undefinedwas passed — the guard against pre-filling); blank-when-set keeps; typed value trimmed; whitespace-when-set doesn't clobber; mixed pick records only the typed setting.return answerfails 5 tests (the new blank-semantics tests plus the memory-folder empty-rejection test) for the intended reason.npm run build(both cli tsconfigs) green, full suite 2535 tests passing, lint clean.🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Bug Fixes
Documentation