beardofedu / beardofedu/copilot-cli-fun-times
feat: task search and filtering by title keyword
- Dominant language
- JavaScript
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Add a `search` query parameter to `GET /tasks` that performs a case-insensitive substring match against task titles.
## Motivation
Users need to find specific tasks quickly without scrolling through an entire list. Keyword search is a fundamental feature of any task management tool.
## Proposed Behavior
- `GET /tasks?search=ci` returns all tasks whose `title` contains "ci" (case-insensitive)
- Search is applied before pagination and after priority filtering
- An empty or omitted `search` param returns all tasks (no filtering)
- Search is limited to the `title` field for now
## Acceptance Criteria
- [ ] `GET /tasks?search=` returns only tasks whose title contains the keyword (case-insensitive)
- [ ] Search composes correctly with `minPriority`, `sort`, `limit`, and `offset` params
- [ ] Omitting `search` returns all tasks unchanged
- [ ] Search logic extracted into a `filterByTitleKeyword(tasks, keyword)` utility in `utils.js`
- [ ] Unit tests written for `filterByTitleKeyword`
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the GET /tasks entry point and inspect utils.js to understand the existing priority filtering, sorting, pagination, and task shape. Add unit tests for filterByTitleKeyword and run the existing test suite. Done means case-insensitive title search composes with the listed query parameters while an omitted or empty search leaves results unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100