Initial scaffold: tooling, plan, task briefs
- pnpm 10 workspace + TypeScript strict + ESLint flat + Prettier - CLAUDE.md as canonical brief - docs/tasks/ — 22 task briefs broken out by phase for sub-sessions - docs/decisions/ — ADR scaffold Implements task 01 (repo-init).
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# 12 — Notes module
|
||||
|
||||
## Goal
|
||||
|
||||
Lightweight shared notes with optional reminders.
|
||||
|
||||
## Depends on
|
||||
|
||||
- 04, 07
|
||||
|
||||
## Scope
|
||||
|
||||
- Schema: `notes` (`id`, `household_id`, `author_id`, `title`, `body` markdown, `pinned` bool, `remind_at` timestamptz nullable, `created_at`, `updated_at`).
|
||||
- `/notes` index: pinned first, then by updated_at desc.
|
||||
- `/notes/[id]` editor — minimal markdown (use `@uiw/react-md-editor` or similar; live preview optional).
|
||||
- `remind_at` writes a row to `reminders` (table comes from `_core`; reminder firing comes from task 41).
|
||||
- Manifest: shareable, remindable, searchable (title + body).
|
||||
- Dashboard widget: pinned notes.
|
||||
|
||||
## Out of scope
|
||||
|
||||
- Rich text / WYSIWYG.
|
||||
- Attachments (separate later module).
|
||||
- Collaborative editing.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- [ ] Create / edit / pin / delete works.
|
||||
- [ ] Setting `remind_at` creates a `reminders` row scoped to entity `notes.note`.
|
||||
- [ ] Markdown renders safely (no raw HTML injection).
|
||||
Reference in New Issue
Block a user