Skip to main content

Finding Authentication Patterns

Search for authentication implementation in Next.js with middleware:
search_documentation({
  sdk_name: "next",
  registry: "npm",
  semantic_queries: [
    "How to implement authentication with middleware and session management?"
  ],
  pattern: "middleware|auth|session|cookie"
})
What this does:
  • Searches Next.js documentation semantically for auth + middleware concepts
  • Filters results to show code containing middleware, auth, session, or cookie keywords
  • Returns relevant documentation sections with code examples

Async Function Usage

Find async/await patterns in the Anthropic Python SDK:
search_documentation({
  sdk_name: "anthropic",
  registry: "pip",
  semantic_queries: [
    "How to use async client for streaming responses?"
  ],
  pattern: "async\\s+def|await\\s+|AsyncAnthropic"
})
Pattern breakdown:
  • async\s+def - Matches async function definitions in Python
  • await\s+ - Matches await statements
  • AsyncAnthropic - Matches the async client class name

Error Handling

Find error handling patterns in React:
search_documentation({
  sdk_name: "react",
  registry: "npm",
  semantic_queries: [
    "How to handle errors in components and async operations?"
  ],
  pattern: "(?i)(error|exception|try|catch|throw)"
})
Key features:
  • (?i) makes the pattern case-insensitive
  • Alternation | matches any of the error-related terms
  • Finds Error Boundaries, try-catch blocks, and error handling patterns

React Hooks Patterns

Search for specific React hooks usage:
search_documentation({
  sdk_name: "react",
  registry: "npm",
  semantic_queries: [
    "How to use useEffect for data fetching?"
  ],
  pattern: "useEffect|useState|useMemo|useCallback"
})

Database Operations

Find Prisma database query patterns:
search_documentation({
  sdk_name: "prisma",
  registry: "npm",
  semantic_queries: [
    "How to perform complex database queries with relations?"
  ],
  pattern: "prisma\\.(findMany|findUnique|create|update|delete|include)"
})
Pattern explanation:
  • Escapes the dot: prisma\.
  • Matches common Prisma methods
  • Includes include for relation queries

API Route Creation

Find Express.js route creation patterns:
search_documentation({
  sdk_name: "express",
  registry: "npm",
  semantic_queries: [
    "How to create REST API endpoints with Express?"
  ],
  pattern: "app\\.(get|post|put|delete|patch)|router\\."
})

Testing Patterns

Search for testing patterns with Jest:
search_documentation({
  sdk_name: "jest",
  registry: "npm",
  semantic_queries: [
    "How to write unit tests for async functions?"
  ],
  pattern: "(test|describe|it|expect)\\s*\\(.*async"
})
Matches:
  • Test blocks with async functions
  • Async testing patterns
  • Promise-based test cases

TypeScript Type Definitions

Find TypeScript type usage in a package:
search_documentation({
  sdk_name: "next",
  registry: "npm",
  semantic_queries: [
    "What are the TypeScript types for API routes?"
  ],
  pattern: "type\\s+\\w+|interface\\s+\\w+|NextApiRequest|NextApiResponse"
})

Environment Configuration

Find environment variable configuration patterns:
search_documentation({
  sdk_name: "next",
  registry: "npm",
  semantic_queries: [
    "How to configure environment variables?"
  ],
  pattern: "process\\.env|NEXT_PUBLIC_|env\\s*:|dotenv"
})

Streaming Responses

Search for streaming patterns in the Anthropic SDK:
search_documentation({
  sdk_name: "anthropic",
  registry: "pip",
  semantic_queries: [
    "How to implement streaming for real-time responses?"
  ],
  pattern: "stream|streaming|yield|async\\s+for"
})

Workflow: Complete Feature Implementation

Here’s a complete workflow for implementing a new feature:
1

Find Setup Instructions

search_documentation({
  sdk_name: "next-auth",
  registry: "npm",
  semantic_queries: ["How to set up next-auth?"],
  pattern: "configure|setup|initialize"
})
2

Find Specific Implementation

search_documentation({
  sdk_name: "next-auth",
  registry: "npm",
  semantic_queries: ["How to add Google OAuth provider?"],
  pattern: "GoogleProvider|providers|oauth"
})
3

Find Session Management

search_documentation({
  sdk_name: "next-auth",
  registry: "npm",
  semantic_queries: ["How to protect routes with session?"],
  pattern: "getSession|useSession|session|protected"
})

Multi-Framework Comparison

Compare authentication approaches across frameworks:

Next.js

search_documentation({
  sdk_name: "next",
  registry: "npm",
  semantic_queries: ["How to implement authentication?"],
  pattern: "middleware.*auth|auth.*middleware"
})

Express

search_documentation({
  sdk_name: "express",
  registry: "npm",
  semantic_queries: ["How to implement authentication?"],
  pattern: "passport|jwt|middleware|authenticate"
})

Debugging Patterns

Find debugging and logging patterns:
search_documentation({
  sdk_name: "winston",
  registry: "npm",
  semantic_queries: [
    "How to configure logging levels and transports?"
  ],
  pattern: "logger\\.(info|error|warn|debug)|transport|level"
})

Performance Optimization

Search for performance optimization techniques:
search_documentation({
  sdk_name: "react",
  registry: "npm",
  semantic_queries: [
    "How to optimize component performance?"
  ],
  pattern: "memo|useMemo|useCallback|React\\.lazy|Suspense"
})

WebSocket Implementation

Find WebSocket patterns:
search_documentation({
  sdk_name: "socket.io",
  registry: "npm",
  semantic_queries: [
    "How to set up real-time bidirectional communication?"
  ],
  pattern: "io\\(|socket\\.|emit|on\\(|connect"
})

Tips for Effective Examples

Start Specific

Begin with specific use cases, then broaden if needed

Use Technical Terms

Include framework-specific terminology in queries

Combine Patterns

Use alternation (|) to match related patterns

Test Incrementally

Start with simple patterns, add complexity gradually

Next Steps