How to get the Lead Generator running on a fresh machine after git clone.
The repo contains everything except the two .env files — those are gitignored on purpose because they hold secrets. You'll need to recreate them by hand using the values from each service's dashboard.
# Node 20+
node --version
# Supabase CLI — only if you'll push schema migrations from this machine
brew install supabase/tap/supabaseThe Trigger.dev CLI runs via npx, no install needed.
git clone https://github.com/zarahunter/lead-generator.git
cd lead-generator
# Two independent projects — install each
cd equipment/trigger && npm install && cd -
cd equipment/frontend && npm install && cd -Both gitignored. Both required. Copy the .env.example templates already in the repo and fill them in.
Used by the Trigger.dev task at runtime. The syncEnvVars extension in trigger.config.ts forwards these to the Trigger.dev cloud on every trigger deploy.
FIRECRAWL_API_KEY=fc-...
SUPABASE_URL=https://<projectref>.supabase.co
SUPABASE_SERVICE_ROLE_KEY=eyJ...
ANTHROPIC_API_KEY=sk-ant-...
# Only used locally for `supabase link`. Not synced to Trigger.dev.
SUPABASE_DB_PASSWORD=...| Variable | Where to find it |
|---|---|
FIRECRAWL_API_KEY |
https://www.firecrawl.dev/app/api-keys |
SUPABASE_URL |
Supabase dashboard → Project Settings → API → "Project URL" |
SUPABASE_SERVICE_ROLE_KEY |
Supabase dashboard → Project Settings → API → service_role secret (NOT the anon key — click "Reveal") |
SUPABASE_DB_PASSWORD |
Supabase dashboard → Project Settings → Database → "Database password" (reset if forgotten) |
ANTHROPIC_API_KEY |
https://console.anthropic.com/settings/keys |
Used by the Next.js app.
TRIGGER_SECRET_KEY=tr_prod_...
APP_PASSWORD=...| Variable | Where to find it |
|---|---|
TRIGGER_SECRET_KEY |
Trigger.dev dashboard → Lead_generator project → API Keys → environment toggle set to Prod → copy the secret key |
APP_PASSWORD |
Any string of your choice (32+ chars recommended). This is the shared password to access the UI — set it once, remember it, use it at /login. |
Use a
tr_prod_*key to trigger the deployed cloud task. Use atr_dev_*key if you'd rather runnpx trigger.dev@latest devin a second terminal and iterate on task code locally.
Skip both of these if you only plan to run the frontend locally against the already-deployed cloud task.
# Trigger.dev — needed for `trigger deploy`
npx trigger.dev@latest login
# Supabase — needed for `supabase db push`
supabase login
supabase link --project-ref <projectref># Frontend (against the cloud-deployed task)
cd equipment/frontend
npm run dev
# → http://localhost:3000Open the URL, log in with your APP_PASSWORD, fill the form, watch the run page light up.
# Terminal 1
cd equipment/trigger
npx trigger.dev@latest dev
# Terminal 2 (only needed if you swapped TRIGGER_SECRET_KEY to a tr_dev_* key)
cd equipment/frontend
npm run devThe system, contracts, and failure modes are documented in blueprints/lead-generation-workflow.md. Read it before changing anything in /equipment.