Files
famapp/docs/tasks/21-quick-add.md
ginnoir b89690a9f2 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).
2026-05-06 00:05:50 -05:00

885 B

21 — Quick-add registry

Goal

A single global + button on the dashboard (and a cmd+k palette anywhere) that lists actions contributed by modules.

Depends on

  • 20

Scope

  • QuickAddAction type: { id, label, icon?, shortcut?, run: () => void | Promise<void> }.
  • Modules register via manifest. Registry exposes a sorted list.
  • UI: floating + on dashboard opens a sheet of actions; cmd/ctrl+k opens a command-palette-style modal (use cmdk package).
  • Default actions: New event, Add to shopping, Add to tasks, New note.

Out of scope

  • Fuzzy search across data (search adapter is a later concern).
  • Action history / recents.

Acceptance criteria

  • Adding a new module that registers a quick-add appears in both the FAB sheet and the cmd-k palette without touching core.
  • Keyboard navigation works in the palette (arrows + enter + escape).