feat(list): filter by --on / --from / --to date ranges#81
Merged
Conversation
Add date filters to `things list` so agents and humans can ask "which tasks are scheduled this weekend?" in one query rather than parsing human output or post-filtering JSON. Filters apply to startDate by default and to deadline on the deadlines view; not supported on inbox/trash/logbook. --on is mutually exclusive with --from/--to.
2 tasks
ryanlewis
added a commit
that referenced
this pull request
May 10, 2026
## Summary - Spell out `things open`'s flags (`-p`/`-a`/`-t`/`-q`/`--filter`/`--background`) — the bundled SKILL.md previously showed only `things open <ref|list>`, leaving every flag invisible to agents that read the skill. - Replace the trailing `...` on `things edit` / `things project edit` with the actual flag list — adds `--prepend-notes`, `--append-notes`, `--checklist`, `--prepend-checklist`, `--append-checklist`, `--list-id`, `--heading-id` to edit and `--prepend-notes` / `--append-notes` to project edit. The recent `--on / --from / --to` list filters (#81) were already documented in #80, so no change needed there. ## Test plan - [x] \`make test\` passes - [ ] After merge, \`things skill show\` reflects the new lines
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--on YYYY-MM-DD,--from,--toflags tothings list(and view shortcuts likethings upcoming).t.startDatefor most views and tot.deadlineon thedeadlinesview.inbox/trash/logbook.--onis mutually exclusive with--from/--to. Inputs acceptYYYY-MM-DDor RFC3339 (date portion); invalid input fails fast in the same style as--when/--deadline.ThingsDate is bit-encoded (
year<<16 | month<<12 | day<<7) and monotonic across calendar order, so the SQL filter compares the encodedint64directly — no decode round-trip.Closes #77.
Test plan
go test -race ./...(234 passing)golangci-lint run ./...clean--from, inclusive--to, range, deadlines-view-targets-deadline--on todayreturns the seeded task,--on tomorrowreturns nothing; rejects on inbox view; rejects--onmixed with--from; rejects bad date strings; rejects inverted rangeinternal/skill/SKILL.mdper CLAUDE.md mandate