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
# forge-guard.toml — example configuration
#
# Copy this file to your project root and adjust the values. All fields are
# optional — every section can be omitted entirely and Forge Guard uses
# sensible defaults (shown in the comments).
#
# Docs: https://github.com/codetibo/forge-guard#configuration
# ── Project ──
= "ethereum" # Target chain: ethereum, base, arbitrum, ...
= ["src"] # Solidity source directories
= ["test", "mock"] # Exclude patterns (gitignore-style)
= false # Strict mode — fail on any finding
= false # Offline mode — skip RPC calls
= 70 # Scoring threshold for deployment (0-100)
= 4 # Max parallel workers
# ── Security Engine ──
[]
= true # Enable HIGH severity checks
= true # Enable MEDIUM severity checks
= true # Enable LOW severity checks
= false # Enable INFORMATIONAL checks
= true # Enable exploit path analysis
= false # Enable gas analysis
= 50 # Max findings per check
# enabled_checks = ["FA-H-011", "FA-H-016"] # Force-enable specific check IDs
# disabled_checks = ["FA-L-001"] # Force-disable specific check IDs
# severity_overrides = { "FA-M-001" = "high" } # Override a check's severity
# ── Deployment Guard ──
[]
= 70 # Minimum score to deploy (0-100)
= true # Block on high findings
= false # Block on medium findings
= true # Block on critical findings
= true # Require fuzzing to pass
= true # Require invariants to pass
= true # Run deployment simulation
= false # Require on-chain verification
= false # Auto-verify after deployment
# explorer_api_key = null # Explorer API key (reads env var when null)
# ── Report Settings ──
[]
= true # Include code snippets
= true # Include exploit demonstrations
= true # Include fix recommendations
= "reports" # Report output directory
# ── Caching ──
[]
= false # Enable caching (disable for CI)
= ".forge-guard-cache" # Cache directory
= 500 # Maximum cache size
= 3600 # Cache TTL (1 hour)
# ── Plugin Configuration ──
[]
= [".forge-guard/plugins"] # Plugin search paths
= ["forge-guard-example"] # Disable specific plugins
= false # Allow external plugin loading
# ── AI Auditors ──
[]
= "openai" # AI provider: openai, claude, ollama
= "gpt-5" # Model identifier
= 0.1 # Sampling temperature (0.0-1.0)
= 4000 # Max tokens per response
= 0.5 # Minimum confidence (0.0-1.0)
= false # Run all auditors (security + gas + logic)
# ── Webhook Notifications (M15) ──
#
# Both Slack and Discord are optional and independent. Notifications are sent
# when a command runs with `--notify` (audit / deploy / deploy-safe) or via
# `forge-guard notify`. `min_severity` gates what triggers a send:
# informational, low, medium, high, or critical.
#
# Slack: create an Incoming Webhook at
# https://api.slack.com/messaging/webhooks
# Discord: create a Webhook under Server Settings → Integrations → Webhooks.
#
# CLI override: `forge-guard notify --webhook <URL>` sends to any URL and
# auto-detects the platform from it.
[]
= "https://hooks.slack.com/services/T000/B000/XXXX" # Slack incoming webhook
= "high" # Notify when findings are at least this severe
[]
= "https://discord.com/api/webhooks/123/abc" # Discord webhook
= "critical"