Skip to content
Draft
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
11 changes: 11 additions & 0 deletions .env.backend
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Application
DEBUG=false
HOST=0.0.0.0
PORT=8000

# Database
DATABASE_URL=postgresql://wingman:wingman@postgres:5432/wingman

# Chroma
CHROMA_HOST=chroma
CHROMA_PORT=8000
1 change: 1 addition & 0 deletions .env.chroma
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
IS_PERSISTENT=TRUE
103 changes: 103 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Wingman Environment Configuration
# Copy this file to .env and fill in your values

# ============================================================================
# Slack Configuration
# ============================================================================

# Required: Bot User OAuth Token (starts with xoxb-)
# Used for: Posting messages, reading channels, bot operations
# Scope: See SLACK_AUTH.md for required scopes
SLACK_BOT_TOKEN=xoxb-your-bot-token-here

# Required: App-Level Token (starts with xapp-)
# Used for: Socket Mode connection (recommended for development)
# Note: Only needed if using Socket Mode
SLACK_APP_TOKEN=xapp-your-app-token-here

# Required: Signing Secret
# Used for: Verifying requests from Slack
# Found in: Slack App Settings > Basic Information
SLACK_SIGNING_SECRET=your-signing-secret-here

# Optional: User OAuth Token (starts with xoxp-)
# Used for: User-level actions (reading private messages, etc.)
# Note: Only needed for specific user actions
SLACK_USER_TOKEN=

# Optional: OAuth Credentials (for OAuth flow)
# Used for: Installing the app via OAuth
SLACK_CLIENT_ID=
SLACK_CLIENT_SECRET=

# ============================================================================
# AI/LLM Configuration
# ============================================================================

# Option 1: OpenRouter (Recommended)
# Get your API key from: https://openrouter.ai/keys
OPENROUTER_API_KEY=sk-or-your-openrouter-key-here

# Option 2: OpenAI (Alternative)
# Get your API key from: https://platform.openai.com/api-keys
OPENAI_API_KEY=

# LLM Model to use
# OpenRouter format: "openai/gpt-4-turbo-preview", "anthropic/claude-3-opus"
# OpenAI format: "gpt-4-turbo-preview", "gpt-3.5-turbo"
LLM_MODEL=openai/gpt-4-turbo-preview

# LLM Settings
LLM_TEMPERATURE=0.7
LLM_MAX_TOKENS=2000

# ============================================================================
# Database Configuration
# ============================================================================

# PostgreSQL connection (docker-compose handles this automatically)
DATABASE_URL=postgresql://wingman:wingman@postgres:5432/wingman

# For local development outside Docker:
# DATABASE_URL=postgresql://wingman:wingman@localhost:5432/wingman

# ============================================================================
# Vector Store Configuration
# ============================================================================

# Chroma settings (docker-compose handles this automatically)
CHROMA_HOST=chroma
CHROMA_PORT=8000
CHROMA_COLLECTION=slack_messages

# For local development outside Docker:
# CHROMA_HOST=localhost
# CHROMA_PORT=8001

# ============================================================================
# RAG Configuration
# ============================================================================

# Embedding model for vector search
EMBEDDING_MODEL=text-embedding-ada-002

# Text chunking settings
CHUNK_SIZE=1000
CHUNK_OVERLAP=200

# Retrieval settings
RETRIEVAL_TOP_K=5

# ============================================================================
# Application Configuration
# ============================================================================

# Debug mode (set to true for development)
DEBUG=false

# Server settings
HOST=0.0.0.0
PORT=8000

# Frontend API URL
NEXT_PUBLIC_API_URL=http://localhost:8000
1 change: 1 addition & 0 deletions .env.frontend
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
NEXT_PUBLIC_API_URL=http://localhost:8000
3 changes: 3 additions & 0 deletions .env.postgres
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
POSTGRES_DB=wingman
POSTGRES_USER=wingman
POSTGRES_PASSWORD=wingman
77 changes: 77 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# Keep .env.* templates but ignore local overrides
.env.*.local

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
*.log

# Virtual environments
venv/
env/
ENV/
.venv

# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/

# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
package-lock.json
yarn.lock

# Next.js
.next/
out/
.vercel

# Database
*.db
*.sqlite
*.sqlite3

# Docker
*.log

# IDEs
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store

# OS
Thumbs.db
Loading