-
Notifications
You must be signed in to change notification settings - Fork 86
Expand file tree
/
Copy pathconfig.example.yaml
More file actions
88 lines (75 loc) · 1.95 KB
/
Copy pathconfig.example.yaml
File metadata and controls
88 lines (75 loc) · 1.95 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
# Minimal safe ContribAI configuration.
# Secrets are intentionally omitted; use environment variables.
github:
token: "" # GITHUB_TOKEN or `gh auth token`
rate_limit_buffer: 100
max_prs_per_day: 2
llm:
provider: gemini # gemini | openai | anthropic | ollama | vertex
model: gemini-3-flash-preview
api_key: "" # provider-specific environment variable preferred
temperature: 0.2
max_tokens: 65536
cache_enabled: true
cache_ttl_days: 7
analysis:
enabled_analyzers: [security, code_quality, performance]
max_file_size_kb: 100
max_context_tokens: 30000
skip_patterns: ["*.min.js", "*.min.css", "vendor/**", "node_modules/**"]
contribution:
max_changes_per_pr: 3
sign_off: false
commit_convention: conventional
pr_style: descriptive
sign_commits: false
max_pr_body_length: 4000
include_tests: true
discovery:
languages: [rust, python, typescript, go]
stars_min: 50
stars_max: 10000
max_results: 5
watchlist: []
pipeline:
dry_run: true
agent_mode: plan
max_retries: 2
min_quality_score: 0.7
max_repos_per_run: 5
max_concurrent_repos: 2
risk_tolerance: low
skip_docs_prs: true
require_bug_verification: true
skip_repos_with_open_pr: true
sandbox:
enabled: true
mode: local # docker for isolation; local/ast are validation only
timeout_seconds: 30
require_validation: true
lsp_enabled: false
lsp_timeout_secs: 10
lsp_accept_warnings: false
scheduler:
enabled: false
cron: "0 */6 * * *"
storage:
db_path: "~/.contribai/memory.db"
quotas:
github_daily: 1000
llm_daily: 500
llm_tokens_daily: 1000000
multi_model:
enabled: false
strategy: cost_optimized
web:
api_keys: [] # required when binding to a non-loopback address
webhook_secret: null
tls_enabled: false
tls_cert_path: null
tls_key_path: null
notifications:
slack_webhook: null
discord_webhook: null
telegram_token: null
telegram_chat_id: null