Back to list
jeremylongshore

exa-deploy-integration

by jeremylongshore

Hundreds of Claude Code plugins with embedded AI skills. Learn via interactive Jupyter tutorials.

1,042🍴 135📅 Jan 23, 2026

SKILL.md


name: exa-deploy-integration description: | Deploy Exa integrations to Vercel, Fly.io, and Cloud Run platforms. Use when deploying Exa-powered applications to production, configuring platform-specific secrets, or setting up deployment pipelines. Trigger with phrases like "deploy exa", "exa Vercel", "exa production deploy", "exa Cloud Run", "exa Fly.io". allowed-tools: Read, Write, Edit, Bash(vercel:), Bash(fly:), Bash(gcloud:*) version: 1.0.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io

Exa Deploy Integration

Overview

Deploy Exa-powered applications to popular platforms with proper secrets management.

Prerequisites

  • Exa API keys for production environment
  • Platform CLI installed (vercel, fly, or gcloud)
  • Application code ready for deployment
  • Environment variables documented

Vercel Deployment

Environment Setup

# Add Exa secrets to Vercel
vercel secrets add exa_api_key sk_live_***
vercel secrets add exa_webhook_secret whsec_***

# Link to project
vercel link

# Deploy preview
vercel

# Deploy production
vercel --prod

vercel.json Configuration

{
  "env": {
    "EXA_API_KEY": "@exa_api_key"
  },
  "functions": {
    "api/**/*.ts": {
      "maxDuration": 30
    }
  }
}

Fly.io Deployment

fly.toml

app = "my-exa-app"
primary_region = "iad"

[env]
  NODE_ENV = "production"

[http_service]
  internal_port = 3000
  force_https = true
  auto_stop_machines = true
  auto_start_machines = true

Secrets

# Set Exa secrets
fly secrets set EXA_API_KEY=sk_live_***
fly secrets set EXA_WEBHOOK_SECRET=whsec_***

# Deploy
fly deploy

Google Cloud Run

Dockerfile

FROM node:20-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
CMD ["npm", "start"]

Deploy Script

#!/bin/bash
# deploy-cloud-run.sh

PROJECT_ID="${GOOGLE_CLOUD_PROJECT}"
SERVICE_NAME="exa-service"
REGION="us-central1"

# Build and push image
gcloud builds submit --tag gcr.io/$PROJECT_ID/$SERVICE_NAME

# Deploy to Cloud Run
gcloud run deploy $SERVICE_NAME \
  --image gcr.io/$PROJECT_ID/$SERVICE_NAME \
  --region $REGION \
  --platform managed \
  --allow-unauthenticated \
  --set-secrets=EXA_API_KEY=exa-api-key:latest

Environment Configuration Pattern

// config/exa.ts
interface ExaConfig {
  apiKey: string;
  environment: 'development' | 'staging' | 'production';
  webhookSecret?: string;
}

export function getExaConfig(): ExaConfig {
  const env = process.env.NODE_ENV || 'development';

  return {
    apiKey: process.env.EXA_API_KEY!,
    environment: env as ExaConfig['environment'],
    webhookSecret: process.env.EXA_WEBHOOK_SECRET,
  };
}

Health Check Endpoint

// api/health.ts
export async function GET() {
  const exaStatus = await checkExaConnection();

  return Response.json({
    status: exaStatus ? 'healthy' : 'degraded',
    services: {
      exa: exaStatus,
    },
    timestamp: new Date().toISOString(),
  });
}

Instructions

Step 1: Choose Deployment Platform

Select the platform that best fits your infrastructure needs and follow the platform-specific guide below.

Step 2: Configure Secrets

Store Exa API keys securely using the platform's secrets management.

Step 3: Deploy Application

Use the platform CLI to deploy your application with Exa integration.

Step 4: Verify Health

Test the health check endpoint to confirm Exa connectivity.

Output

  • Application deployed to production
  • Exa secrets securely configured
  • Health check endpoint functional
  • Environment-specific configuration in place

Error Handling

IssueCauseSolution
Secret not foundMissing configurationAdd secret via platform CLI
Deploy timeoutLarge buildIncrease build timeout
Health check failsWrong API keyVerify environment variable
Cold start issuesNo warm-upConfigure minimum instances

Examples

Quick Deploy Script

#!/bin/bash
# Platform-agnostic deploy helper
case "$1" in
  vercel)
    vercel secrets add exa_api_key "$EXA_API_KEY"
    vercel --prod
    ;;
  fly)
    fly secrets set EXA_API_KEY="$EXA_API_KEY"
    fly deploy
    ;;
esac

Resources

Next Steps

For webhook handling, see exa-webhooks-events.

Score

Total Score

85/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 1000以上

+15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon