-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
161 lines (124 loc) · 5.54 KB
/
.env.example
File metadata and controls
161 lines (124 loc) · 5.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# =============================================================================
# Telegram Code Analyzer Configuration
# =============================================================================
# Telegram Bot (Required)
TELEGRAM_BOT_TOKEN=your_telegram_bot_token
AUTHORIZED_USERS=123456789,987654321
# Admin users who can run /index command (comma-separated Telegram IDs)
# Admins automatically have access to all bot functions (no need to add to AUTHORIZED_USERS)
ADMIN_USERS=123456789
# Project to analyze (Required)
PROJECT_PATH=/path/to/your/project
# Claude CLI Settings
CLAUDE_TIMEOUT=300000
# Claude CLI Path (optional, auto-detected if not specified)
# The bot will automatically search for Claude CLI in standard locations:
# 1. npx @anthropic-ai/claude-code (recommended)
# 2. ~/.claude/local/claude (local installation)
# 3. Global 'claude' command
# Only set this if you have Claude CLI installed in a custom location
CLAUDE_CLI_PATH=
# Examples:
# CLAUDE_CLI_PATH=/usr/local/bin/claude
# CLAUDE_CLI_PATH=/custom/path/to/claude
# =============================================================================
# LLM Provider API Keys (At least one required for RAG)
# =============================================================================
# OpenAI (embeddings: text-embedding-3-large/small)
OPENAI_API_KEY=sk-...
# Google Gemini (embeddings: gemini-embedding-001)
GEMINI_API_KEY=AIza...
# Jina AI (embeddings: jina-embeddings-v3, optimized for code)
JINA_API_KEY=jina_...
# Anthropic Claude API (no embeddings support)
ANTHROPIC_API_KEY=sk-ant-...
# Perplexity (no embeddings support)
PERPLEXITY_API_KEY=pplx-...
# Default LLM provider for completions (openai, gemini, anthropic, perplexity)
DEFAULT_LLM_PROVIDER=openai
# Default embedding provider for RAG (jina, openai, gemini)
# Jina is recommended for code analysis
DEFAULT_EMBEDDING_PROVIDER=jina
# =============================================================================
# RAG Configuration
# =============================================================================
# Path to store RAG index
RAG_STORE_PATH=./rag-index
# Chunk settings (optional, defaults shown)
# RAG_CHUNK_SIZE=300
# RAG_CHUNK_OVERLAP=50
# RAG_TOP_K=15
# RAG_RERANK_TOP_K=5
# RAG_VECTOR_WEIGHT=0.3
# RAG_LLM_WEIGHT=0.7
# =============================================================================
# Documentation RAG (ai-docs/)
# =============================================================================
# The RAG pipeline automatically indexes documentation from ai-docs/ folder.
# Documents are parsed by sections (## headings) and indexed alongside code.
# Naming Conventions for ai-docs/:
#
# Folder structure:
# ai-docs/
# ├── prd/ # Product Requirements Documents (ТЗ)
# │ ├── PRD-001-feature-name.md
# │ └── PRD-002-another-feature.md
# ├── adr/ # Architecture Decision Records
# │ ├── ADR-001-framework-choice.md
# │ └── ADR-002-database-design.md
# ├── api/ # API Specifications
# │ ├── API-auth-endpoints.md
# │ └── API-user-management.md
# └── notes/ # Analysis & Research Notes
# ├── ANALYSIS-performance-review.md
# └── RESEARCH-llm-providers.md
#
# File naming: PREFIX-short-description.md
# Prefixes: PRD-, ADR-, API-, ANALYSIS-, RESEARCH-, SPEC-, NOTES-
#
# Frontmatter (optional but recommended):
# ---
# type: prd | adr | api | notes
# status: draft | review | accepted | deprecated
# date: 2024-01-15
# ---
# =============================================================================
# Rate Limiting (optional)
# =============================================================================
# Maximum requests per user per minute (default: 10)
# RATE_LIMIT_MAX_REQUESTS=10
# Rate limiting time window in milliseconds (default: 60000 = 1 minute)
# RATE_LIMIT_WINDOW_MS=60000
# Cleanup interval for rate limiter memory management in milliseconds (default: 300000 = 5 minutes)
# RATE_LIMIT_CLEANUP_INTERVAL_MS=300000
# =============================================================================
# Validation (optional)
# =============================================================================
# Minimum message length in characters (default: 5)
# VALIDATION_MESSAGE_MIN_LENGTH=5
# Maximum message length in characters (default: 2000)
# VALIDATION_MESSAGE_MAX_LENGTH=2000
# Maximum users to track in rate limiter memory (default: 10000)
# RATE_LIMITER_MAX_TRACKED_USERS=10000
# =============================================================================
# Display (optional)
# =============================================================================
# Max code sources to show in RAG response (default: 3)
# RAG_MAX_SOURCES_DISPLAY=3
# =============================================================================
# RAG Internal (optional)
# =============================================================================
# Maximum directory depth for file scanning (default: 20)
# RAG_MAX_DIRECTORY_DEPTH=20
# Embedding batch size for indexing (default: 10)
# RAG_EMBEDDING_BATCH_SIZE=10
# Approximate characters per token ratio (default: 4)
# TOKENS_CHARS_RATIO=4
# Claude CLI availability check timeout in ms (default: 5000)
# CLAUDE_AVAILABILITY_CHECK_TIMEOUT=5000
# =============================================================================
# Logging
# =============================================================================
# Logging Level: DEBUG, INFO, WARN, ERROR (default: INFO, production forces WARN)
# LOG_LEVEL=INFO
# NODE_ENV=development