beardofedu / beardofedu/copilot-cli-fun-times

feat: task search and filtering by title keyword

Open
#5 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.