Skip to content

Commit 10c6a5f

Browse files
Merge pull request #253 from Deodat-Lawson/main
Update Mar 23rd
2 parents 7563a3f + a569bce commit 10c6a5f

46 files changed

Lines changed: 3884 additions & 437 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 56 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,79 @@
1-
# Since the ".env" file is gitignored, you can use the ".env.example" file to
2-
# build a new ".env" file when you clone the repo. Keep this file up-to-date
3-
# when you add new variables to `.env`.
1+
# Server environment variables
2+
DATABASE_URL="postgresql://user:password@localhost:5432/pdr_ai"
3+
4+
# Clerk Authentication
5+
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_test_..."
6+
CLERK_SECRET_KEY="sk_test_..."
7+
8+
# OpenAI API
9+
OPENAI_API_KEY="sk-..."
10+
11+
# NextJS client environment variables
12+
NEXT_PUBLIC_UPLOADTHING_ENABLED="true"
13+
14+
# Trend / web search (optional — leave keys unset if you do not use trend search)
15+
# SEARCH_PROVIDER default when unset is tavily-only (same as tavily).
16+
# tavily → requires TAVILY_API_KEY
17+
# serper → requires SERPER_API_KEY
18+
# fallback → Serper first, then Tavily if Serper returns no results; set both keys for full behavior
19+
# parallel → merge Serper + Tavily; set both keys for full behavior (Serper-only works with SERPER_API_KEY only)
20+
# If a required key is missing, the pipeline no-ops that provider; providerUsed may be "none" when no key backs the active path.
21+
TAVILY_API_KEY="tvly-..."
22+
SERPER_API_KEY="..."
23+
SEARCH_PROVIDER="tavily" # "tavily" | "serper" | "fallback" | "parallel"
24+
25+
# Platform API Keys for Marketing Pipeline
26+
REDDIT_CLIENT_ID="your_reddit_client_id"
27+
REDDIT_CLIENT_SECRET="your_reddit_client_secret"
28+
REDDIT_USER_AGENT="your_reddit_user_agent"
29+
TWITTER_BEARER_TOKEN="your_twitter_bearer_token"
30+
LINKEDIN_ACCESS_TOKEN="your_linkedin_access_token"
31+
BLUESKY_HANDLE="your_bluesky_handle"
32+
BLUESKY_APP_PASSWORD="your_bluesky_app_password"
33+
34+
# Document Processing (Optional)
35+
AZURE_DOC_INTELLIGENCE_ENDPOINT="https://..."
36+
AZURE_DOC_INTELLIGENCE_KEY="..."
37+
LANDING_AI_API_KEY="..."
438

5-
# This file will be committed to version control, so make sure not to have any
6-
# secrets in it. If you are cloning this repo, create a copy of this file named
7-
# ".env" and populate it with your secrets.
8-
9-
# When adding additional environment variables, the schema in "/src/env.js"
10-
# should be updated accordingly.
11-
12-
# Database
13-
DATABASE_URL=""
14-
15-
# Docker Compose: password for PostgreSQL (used by db service)
16-
# POSTGRES_PASSWORD=password
17-
18-
# Clerk Authentication (get from https://clerk.com/)
19-
20-
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
21-
CLERK_SECRET_KEY=
39+
# Anthropic API (optional — enables Claude models, get from https://console.anthropic.com/)
40+
ANTHROPIC_API_KEY=
41+
ANTHROPIC_MODEL=
2242

2343
# OpenAI API (get from https://platform.openai.com/)
2444
OPENAI_API_KEY=
2545
OPENAI_MODEL="gpt-5-mini"
2646

27-
# Anthropic API (optional — enables Claude models, get from https://console.anthropic.com/)
28-
ANTHROPIC_API_KEY=
29-
3047
# Google AI API (optional — enables Gemini models, get from https://aistudio.google.com/apikey)
3148
GOOGLE_AI_API_KEY=
49+
GOOGLE_MODEL=
3250

3351
# Ollama (optional — enables local models via Ollama, see https://ollama.com/)
3452
OLLAMA_BASE_URL="http://localhost:11434"
3553
OLLAMA_MODEL="llama3.1:8b"
3654

37-
# UploadThing (get from https://uploadthing.com/)
55+
# LangSmith Tracing (Optional)
56+
LANGCHAIN_TRACING_V2="false"
57+
LANGCHAIN_API_KEY="..."
58+
LANGCHAIN_PROJECT="pdr_ai_v2"
59+
60+
# File Uploading (Optional)
3861
UPLOADTHING_SECRET="your_uploadthing_secret"
3962
UPLOADTHING_APP_ID="your_uploadthing_app_id"
63+
UPLOADTHING_TOKEN="..."
4064

41-
# Datalab OCR API (optional - get from https://www.datalab.to/)
42-
# Required only if you want to enable OCR processing for scanned documents
43-
DATALAB_API_KEY="your_datalab_api_key"
44-
45-
# Landing.AI OCR API (optional - get from https://www.landing.ai/)
46-
LANDING_AI_API_KEY="your_landing_ai_api_key"
47-
48-
# Tavily API (optional - get from https://www.tavily.com/)
49-
TAVILY_API_KEY="your_tavily_api_key"
50-
51-
# Azure Document Intelligence OCR API (optional - get from https://learn.microsoft.com/en-us/azure/applied-ai-services/document-intelligence/quickstarts/get-started-with-rest-api?pivots=programming-language-rest-api)
52-
AZURE_DOC_INTELLIGENCE_ENDPOINT="your_azure_doc_intelligence_endpoint"
53-
AZURE_DOC_INTELLIGENCE_KEY="your_azure_doc_intelligence_key"
65+
# Data APIs (Optional)
66+
DATALAB_API_KEY="..."
5467

55-
# Inngest (required for background document processing - https://inngest.com/)
56-
INNGEST_EVENT_KEY="dev_placeholder"
68+
# Background Jobs
69+
JOB_RUNNER="inngest"
70+
INNGEST_EVENT_KEY="local"
5771
INNGEST_SIGNING_KEY="signkey-dev-xxxxx"
5872

59-
# Sidecar (optional - get from https://github.com/pdr-ai/sidecar)
60-
SIDECAR_URL="your_sidecar_url"
73+
# Sidecar ML Compute (Optional)
74+
SIDECAR_URL="http://localhost:8080"
6175

62-
# Neo4j (optional - get from https://neo4j.com/)
76+
# Neo4j (optional)
6377
NEO4J_URI="your_neo4j_uri"
6478
NEO4J_USERNAME="your_neo4j_username"
6579
NEO4J_PASSWORD="your_neo4j_password"

0 commit comments

Comments
 (0)