GodSpeed / .env.example
Samyuktha24's picture
feat: add Zustand stores for filters and UI state management
9dfccd9
Raw
History Blame Contribute Delete
5.77 kB
# =============================================================================
# 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://<your-org>.atlassian.net
# The email address you log into Atlassian with
JIRA_EMAIL=<you@your-org.com>
# API token from https://id.atlassian.com/manage-profile/security/api-tokens
JIRA_API_TOKEN=<your-jira-api-token>
# Comma-separated Jira project keys to sync (e.g. BACKEND,INFRA,DATA)
JIRA_PROJECT_KEYS=<PROJECT1,PROJECT2>
# 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=<random-secret-string>
# -----------------------------------------------------------------------------
# CONFLUENCE AGENT
# Same API token as Jira β€” Atlassian uses one token for both services.
# -----------------------------------------------------------------------------
# Same domain as JIRA_BASE_URL
CONFLUENCE_BASE_URL=https://<your-org>.atlassian.net
# Same email as JIRA_EMAIL
CONFLUENCE_EMAIL=<you@your-org.com>
# Same API token as JIRA_API_TOKEN
CONFLUENCE_TOKEN=<your-jira-api-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=<SPACE1,SPACE2>
# 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=<random-secret-string>
# -----------------------------------------------------------------------------
# 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