# ============================================================================= # Godspeed — Environment Variables # Copy this file to .env and fill in the values marked with <...> # Lines with defaults already set can be left as-is unless you need to change them. # ============================================================================= # ----------------------------------------------------------------------------- # JIRA AGENT # Docs: https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/ # ----------------------------------------------------------------------------- # Your Atlassian Cloud domain — same for both Jira and Confluence JIRA_BASE_URL=https://.atlassian.net # The email address you log into Atlassian with JIRA_EMAIL= # API token from https://id.atlassian.com/manage-profile/security/api-tokens JIRA_API_TOKEN= # Comma-separated Jira project keys to sync (e.g. BACKEND,INFRA,DATA) JIRA_PROJECT_KEYS= # Random secret you choose — must match what you enter in the Jira webhook form # Generate with: python -c "import secrets; print(secrets.token_hex(32))" JIRA_WEBHOOK_SECRET= # ----------------------------------------------------------------------------- # CONFLUENCE AGENT # Same API token as Jira — Atlassian uses one token for both services. # ----------------------------------------------------------------------------- # Same domain as JIRA_BASE_URL CONFLUENCE_BASE_URL=https://.atlassian.net # Same email as JIRA_EMAIL CONFLUENCE_EMAIL= # Same API token as JIRA_API_TOKEN CONFLUENCE_TOKEN= # Comma-separated Confluence space keys to sync (e.g. ENG,PROD,HR) # Find space keys: in Confluence, go to a space → Space Settings → Space Key shown at top CONFLUENCE_SPACES= # Random secret for webhook signature verification (can be different from Jira's) # Generate with: python -c "import secrets; print(secrets.token_hex(32))" CONFLUENCE_WEBHOOK_SECRET= # ----------------------------------------------------------------------------- # FILE AGENT # ----------------------------------------------------------------------------- # Folder to watch for new files (relative or absolute path) FILE_WATCH_FOLDER=./data_sources # Optional: max words per text chunk (default 400) MAX_WORDS_PER_CHUNK=400 # ----------------------------------------------------------------------------- # TEAM / RBAC # Identifies which team owns the ingested documents. # Use any string — e.g. your team name, org slug, or "default". # ----------------------------------------------------------------------------- TEAM_ID=default # ----------------------------------------------------------------------------- # QDRANT (vector database) # Default assumes Qdrant running locally via Docker. # ----------------------------------------------------------------------------- QDRANT_HOST=localhost QDRANT_PORT=6333 QDRANT_COLLECTION=knowledge_base # ----------------------------------------------------------------------------- # REDIS (Celery broker + result backend + session store + analytics) # Default assumes Redis running locally via Docker. # ----------------------------------------------------------------------------- REDIS_URL=redis://localhost:6379/0 # ----------------------------------------------------------------------------- # AUTH (dev credentials — change in production) # Login at /login with these credentials. # DEMO user gets role=engineer; ADMIN user gets role=admin. # Generate AUTH_SECRET with: python -c "import secrets; print(secrets.token_hex(32))" # ----------------------------------------------------------------------------- AUTH_SECRET=change-me-in-production DEMO_EMAIL=demo@godspeed.local DEMO_PASSWORD=demo ADMIN_EMAIL=admin@godspeed.local ADMIN_PASSWORD=admin # ----------------------------------------------------------------------------- # CORS (comma-separated allowed origins for the frontend) # Add your prod frontend URL here when deploying. # ----------------------------------------------------------------------------- CORS_ORIGINS=http://localhost:5173,http://localhost:3000 # ----------------------------------------------------------------------------- # SUPABASE (metadata storage — optional for agents, required for full pipeline) # ----------------------------------------------------------------------------- SUPABASE_URL=https://your-project.supabase.co SUPABASE_KEY=your-anon-or-service-role-key # ----------------------------------------------------------------------------- # GOOGLE AI (CAG / Gemini models — not needed for agent ingestion tests) # ----------------------------------------------------------------------------- GOOGLE_API_KEY= # ----------------------------------------------------------------------------- # GITHUB (optional — not used by the three new agents) # ----------------------------------------------------------------------------- GITHUB_TOKEN= GITHUB_PATH_FILTER=docs/ GITHUB_BRANCH=main # Jira JIRA_BASE_URL=https://your-org.atlassian.net JIRA_API_TOKEN= JIRA_PROJECT_KEY= # Neo4j NEO4J_URI=bolt://localhost:7687 NEO4J_USERNAME=neo4j NEO4J_PASSWORD=password NEO4J_DATABASE=neo4j GRAPH_EXTRACTION_MODEL=gemini-2.5-flash GRAPH_EXTRACTION_BATCH_SIZE=20 # ----------------------------------------------------------------------------- # Model overrides (optional — defaults shown) # ----------------------------------------------------------------------------- PLANNER_MODEL=gemini-2.5-pro SYNTHESISER_MODEL=gemini-2.5-pro SUMMARISER_MODEL=gemini-2.5-flash GUARDRAIL_MODEL=gemini-2.5-flash CAG_MODEL=gemini-2.5-pro