Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Firecrawl Web Agent — root env example
#
# ⚠️ This file is documentation only. No code at the repo root reads .env —
# each template loads its own. Copy the per-template example into the
# template you're running:
# agent-templates/next/.env.local.example → .env.local
# agent-templates/express/.env.example → .env
# agent-templates/library/.env.example → .env

# --- Required ---

# Firecrawl API key — get one at https://www.firecrawl.dev/app/api-keys
FIRECRAWL_API_KEY=

# --- Model provider (pick one) ---

# Shorthand: provider:model_id. Overrides MODEL_PROVIDER + MODEL_ID when set.
# Default matches agent-templates/express/server.ts:defaultModel().
# MODEL=google:gemini-3-flash-preview

# Or split form — same default.
# MODEL_PROVIDER=google
# MODEL_ID=gemini-3-flash-preview

# --- Provider keys — set at least one matching MODEL_PROVIDER ---

ANTHROPIC_API_KEY=
OPENAI_API_KEY=
GOOGLE_GENERATIVE_AI_API_KEY=

# --- Optional ---

# AI_GATEWAY_API_KEY=
# CUSTOM_OPENAI_API_KEY=
# CUSTOM_OPENAI_BASE_URL=

# --- Security (next template) ---
#
# Required in hosted environments (Vercel, Railway, Fly, Render) to allow
# the /api/config endpoint to write API keys. Requests must supply a
# matching "Authorization: Bearer <token>" header. Leave unset for local
# development (the endpoint stays open only when not running hosted).
# CONFIG_ADMIN_TOKEN=
4 changes: 4 additions & 0 deletions .internal/scripts/sync-agent-core.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ const RSYNC_EXCLUDES = [
".turbo",
"*.tsbuildinfo",
".DS_Store",
// Templates vendor agent-core as source; they don't install from the
// vendored package.json and its lockfile would just be dead weight
// polluting diffs. Keep agent-core's own pnpm-lock.yaml out of the sync.
"pnpm-lock.yaml",
];

function parseArgs() {
Expand Down
1 change: 1 addition & 0 deletions agent-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@
"@langchain/google": "^0.1.10",
"@langchain/google-genai": "^2.1.26",
"@langchain/openai": "^1.4.4",
"@types/node": "^20.10.4",
"tsup": "^8.0.0",
"tsx": "^4.19.0",
"typescript": "^5.3.3",
Expand Down
60 changes: 19 additions & 41 deletions agent-core/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion agent-templates/express/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ OPENAI_API_KEY=
# AI_GATEWAY_API_KEY=
# CUSTOM_OPENAI_API_KEY=
# CUSTOM_OPENAI_BASE_URL=
# CORS_ORIGIN=*
# CORS — opt-in. Unset = same-origin only (safe default). Set to a specific
# origin (https://app.example.com) to allow that origin, or "*" to open fully.
# CORS_ORIGIN=
# PORT=3000
# LOG=0 # disable request logging
# BODY_LIMIT=1mb # max request body size
1 change: 1 addition & 0 deletions agent-templates/express/agent-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@
"@langchain/google": "^0.1.10",
"@langchain/google-genai": "^2.1.26",
"@langchain/openai": "^1.4.4",
"@types/node": "^20.10.4",
"tsup": "^8.0.0",
"tsx": "^4.19.0",
"typescript": "^5.3.3",
Expand Down
Loading