Install with AI Assistants

Let Claude Code, GitHub Copilot, or ChatGPT install IssueCapture for you automatically

Installation in under 5 minutes with intelligent placement decisions

Claude Code
In IDE
Copilot
In IDE
Cursor
In IDE
ChatGPT
Web Chat

For Claude Code / Copilot / Cursor

Simply ask your AI assistant:

"Help me install the IssueCapture widget"
1

AI detects your framework automatically

Next.js, React, Vue, or Vanilla JS

2

AI analyzes your codebase

Searches for existing feedback buttons, navigation structure

3

AI recommends best placement

Use existing button, auto-positioned, or custom trigger

4

AI generates and applies code

Framework-specific, TypeScript-ready, SSR-safe

For ChatGPT / Claude Web

Copy this prompt and paste into your AI chat:

Installation Prompt
I need help installing the IssueCapture widget into my [FRAMEWORK] application.

API Key: [GET FROM https://issuecapture.com/dashboard/widgets]

Step 1: Analyze my codebase structure
- Look for layout/navigation components
- Search for existing feedback/bug report buttons or links
  - Text patterns: "feedback", "report bug", "help", "support"
  - ID/class patterns: feedback-btn, bug-report, support-link
- Identify the best placement strategy

Step 2: Recommend integration approach
Based on what you find, choose one:
- Option A: Use existing element (if found with confidence ≥60%)
- Option B: Auto-positioned floating button (if no existing element)
- Option C: Custom trigger in navigation (if consistent nav pattern)

Provide reasoning and alternatives.

Step 3: Generate installation code
- Follow [FRAMEWORK] best practices
- For Next.js: use 'use client', handle SSR properly
- For React: initialize in useEffect
- For Vanilla JS: use ES module imports
- Include TypeScript types if applicable
- Add environment variable for API key
- **If the app has authentication, prefill user data:**
  - Get user name and email from auth session
  - Pass to widget via 'user' config object
  - Listen for auth state changes to update widget
- Provide testing instructions

Step 4: Output format

Analysis:
- Detected structure: [describe]
- Existing elements found: [list with file paths]
- Recommendation: [Option A/B/C with reasoning]

Implementation:
[Code blocks with file paths]

Environment Variables:
[Where to add API key]

Testing:
[Step-by-step instructions]

Tip: Replace [FRAMEWORK] with your framework (Next.js, React, Vue, etc.)

Tip: For better results, share your package.json and main component files

What the AI Will Do

Framework Detection

Automatically identifies your framework by analyzing package.json, config files, and project structure

Supports: Next.js, React (Vite/CRA), Vue, Angular, Svelte, Vanilla JS

Existing Element Detection

Searches your codebase for existing feedback or bug report buttons to maintain your UI

Scans navigation, headers, and layout components

Smart Placement

Makes intelligent recommendations based on confidence scores and your codebase structure

3 approaches: Existing, Auto-positioned, or Custom trigger

Framework-Specific Code

Generates proper code following best practices for your specific framework and setup

Handles SSR, TypeScript, environment variables automatically

User Data Prefilling

Automatically detects auth systems and prefills user name/email in the widget form

Supports Supabase, Auth0, Firebase, Clerk, and custom auth

Example Output

Here's what the AI will generate for a Next.js project:

Analysis:
✓ Detected: Next.js 14 (App Router) with TypeScript
✓ Found: "Feedback" button in app/components/Navbar.tsx
  Confidence: 85% (High)
✓ Recommendation: Use existing element

Implementation:

// app/components/IssueCapture.tsx
'use client';
import { useEffect, useState } from 'react';
import { createClientComponentClient } from '@supabase/auth-helpers-nextjs';

export default function IssueCapture() {
  const [user, setUser] = useState<{ name: string; email: string } | null>(null);
  const supabase = createClientComponentClient();

  // Get user data from auth session
  useEffect(() => {
    const getUser = async () => {
      const { data: { session } } = await supabase.auth.getSession();
      if (session?.user) {
        setUser({
          name: session.user.user_metadata?.full_name || session.user.email?.split('@')[0] || 'User',
          email: session.user.email || ''
        });
      }
    };
    getUser();

    const { data: { subscription } } = supabase.auth.onAuthStateChange((event, session) => {
      if (session?.user) {
        setUser({
          name: session.user.user_metadata?.full_name || session.user.email?.split('@')[0] || 'User',
          email: session.user.email || ''
        });
      } else {
        setUser(null);
      }
    });

    return () => subscription.unsubscribe();
  }, [supabase]);

  useEffect(() => {
    import('https://issuecapture.com/widget.js').then((IC) => {
      const config: any = {
        apiKey: process.env.NEXT_PUBLIC_ISSUECAPTURE_API_KEY!,
        trigger: '#feedback-btn'
      };

      // Prefill user data if authenticated
      if (user) {
        config.user = {
          name: user.name,
          email: user.email
        };
      }

      IC.default.init(config);
    });
  }, [user]);

  return null;
}

// app/layout.tsx (add this import)
import IssueCapture from './components/IssueCapture';

Environment Variables:
Add to .env.local:
NEXT_PUBLIC_ISSUECAPTURE_API_KEY=your_api_key_here

Testing:
1. npm run dev
2. Open http://localhost:3000
3. Click the "Feedback" button
4. Verify widget opens

Why Use AI-Assisted Installation?

5x Faster

Under 5 minutes vs 10-30 minutes manual setup

Zero Errors

Framework-specific code generated correctly every time

Smart Placement

AI analyzes your UI and recommends best location

Ready to Install?

Get your API key and start installing with AI