Skip to content

Feature: Natural-language quick-add #72

Description

@manucompiles

What we're building

Re-scoped (v2.15.0, minor - new capability, NO migration, FRONTEND-ONLY). Todoist-style natural-language quick-add: the add-task title field parses inline tokens - free-form date (chrono-node), recurrence ("every week"), #project, @Label, p1-p4 - highlights them live, autosuggests #/@, and saves a clean title.

Scope

In scope (web AddTaskForm only): pure parser quickAdd.ts; parse-on-submit + live-fill of the structured controls; QuickAddInput backdrop-overlay highlight; #/@ autosuggest with keyboard nav; captured-chips row (type label + remove/unlink); chrono-node dep. Bare multi-weekday ("friday and saturday") = those days once via a UNTIL end date.

Out of scope: backend/MCP (Claude already does NL->rule), EditTaskModal, +assignee / !reminder / /section, a migration, inline contenteditable pills (used a backdrop overlay + chips instead).

Key decisions: chrono-node for one-off dates (first frontend dep, MIT) + hand-rolled recurrence/tokens; frontend-only; date-only vs timed via chrono isCertain; unknown #/@ left in title; controls live-fill from the parse + chips show what was captured ("both"); multi-weekday-once via UNTIL (user's insight, reuses v2.14.1 end conditions).

Plan

docs/plans/_archive/P72-natural-language-quick-add.md

Outcome

What was built:

  • quickAdd.ts pure parser (chrono dates + hand-rolled recurrence/#/@/pN; cleaned title + token spans).
  • AddTaskForm parse-on-submit + live-fill of Deadline/Project/Priority/Repeat controls.
  • QuickAddInput: backdrop tint overlay, #/@ autosuggest (arrow keys + click), removable captured chips.
  • Bare multi-weekday -> FREQ=WEEKLY;BYDAY=...;UNTIL= (those days once).
  • chrono-node added (first frontend runtime dep).

Verified:

  • 118 frontend tests; backend/MCP unchanged (216/92). Clean tsc + next build.
  • Deployed to the phone (no migration; 25 tasks before/after). First deploy was broken by the committed doppel file:vendor dependency; fixed deploy-phone.sh to copy frontend/vendor into the standalone bundle; re-deploy succeeded, all 4 services fresh, frontend+MCP HTTP 200.

Issues raised during this work: none (deploy-script fix for vendored deps landed with this version).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions