AddThisFeature

Global Search

One search box that finds anything in your app.

involved Search & Discovery

What it adds

Search across every meaningful entity in the application from a single input.

What your agent is told to do

4
  1. 1

    Identify every entity worth searching, and report them before building.

  2. 2

    Use the database's own search capability first (for example Postgres full-text search). Do not add Elasticsearch or a search SaaS unless the project already has one.

  3. 3

    Return results grouped by entity type, strongest match first.

  4. 4

    Debounce input and cancel in-flight requests, so results never arrive out of order.

Edge cases it handles

5
  • Results MUST be scoped to what the user is permitted to see. This is the most common security bug in search — verify it explicitly by searching as a low-privilege user.
  • An empty query must not trigger a full table scan.
  • Out-of-order responses must not overwrite newer results.
  • Handle typos gracefully, or at least fail to a useful empty state.
  • Very large result sets must be paginated or capped.

Definition of done

8
  • One input searches every relevant entity.
  • Results are grouped and ranked sensibly.
  • Results only ever include records the current user may see.
  • Fast typing never produces stale or flickering results.
  • The empty state suggests what to do next.
  • Search is fully keyboard-navigable.
  • The feature matches the existing design system.
  • No existing functionality is broken.

Related features

How it works

  1. 1

    Copy the link

    Grab the Markdown instruction URL for this feature.

  2. 2

    Give it to your AI

    Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.

  3. 3

    It inspects, then implements

    Your agent reads your existing app first, then adds the feature to fit it.

Works with your stack

These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.

Need it tighter than that? Customize the feature and tell it exactly what you're running.