Simple search for repos and persons (UI + API) #8
Feature
Add simple search across repositories and persons (users). Available both via REST API and the server-rendered UI.
Scope
- Search targets: repositories (owner/name, description) and persons (username, display name).
- Match: simple case-insensitive substring match on the fields above. No ranking/full-text needed for v1.
- API: search endpoint returning both repo and person hits (e.g.
GET /api/search?q=<term>), JSON payload with separaterepositoriesandpersonsarrays. Respect visibility rules (only public repos + caller's own private repos). - UI: search input (e.g. in the top nav) → results page grouping repo hits and person hits, each linking to the respective page.
Acceptance criteria
- Query matches repos by owner, name, description.
- Query matches persons by username and display name.
- API and UI return the same underlying results.
- Private repos not owned by the caller are excluded.
- Empty/blank query returns empty results (no error).
Notes
- Follow test-first: failing test before implementation.
- Update docs:
docs/users/(search UI/usage),docs/admins/(new endpoint), and root README feature list.