Skip to main content

config.yml

Full Example

server:
port: 3456 # Listening port
cache_ttl_minutes: 90 # Data source cache TTL (minutes)
cache_dir: "cache" # Disk cache directory

datasources:
curseforge:
enabled: true # Fetch CurseForge download counts
concurrency: 5 # Max concurrent requests
github:
enabled: true # Fetch GitHub Issues/PRs
concurrency: 5

retry:
max_attempts: 3 # Max attempts (including the first)
base_delay_ms: 1000 # Base delay (ms, exponential backoff)

ignore_archived: true # Ignore Issues/PRs from archived repos

project_paths:
- "D:/Projects/mods" # Agent project search paths (searched in order)

codacy:
enabled: true # Enable Codacy code-quality analysis
concurrency: 2 # Concurrent analyses
cache_ttl_hours: 24 # Analysis cache TTL
provider: "gh" # Provider (gh = GitHub)
add_wait_minutes: 10 # Wait time after adding a repo

Field Reference

server

FieldTypeDefaultDescription
portint3456HTTP listening port
cache_ttl_minutesint90Data source cache duration
cache_dirstringcacheDisk cache directory path

datasources

Controls enable/disable and concurrency for the external data sources.

FieldTypeDescription
curseforgeobjectCurseForge API config (download counts)
githubobjectGitHub API config (Issues/PRs)

Sub-fields per data source:

FieldTypeDescription
enabledboolWhether to fetch this source
concurrencyintMax concurrent requests

Fetch results are cached on disk under cache/<source>/. When a source is disabled, existing cached values are kept and reused.

retry

Exponential-backoff retry strategy for failed upstream requests.

FieldTypeDefaultDescription
max_attemptsint3Max attempts (including the first)
base_delay_msint1000Base delay, doubles each attempt

ignore_archived

  • true: Skip Issues/PRs from archived repos in aggregate stats
  • false: Count all Issues/PRs

project_paths

List of directories where Agent projects live. When a user picks a project in the Agent UI, the system searches these paths in order; if a repo is missing, it is auto-cloned with git clone into the first writable path.

  • Leave empty to default to the current working directory

Example:

project_paths:
- "D:/Projects/mods"
- "E:/Workspace/forge"

codacy

Automatically analyses GitHub repos for code quality and feeds the maintenance difficulty score.

FieldTypeDefaultDescription
enabledbooltrueEnable analysis
concurrencyint2Concurrent analyses
cache_ttl_hoursint24Analysis cache duration (re-check after expiry)
providerstringghRepository host provider
add_wait_minutesint10Wait time after adding a repo for analysis to complete

The computed difficulty is cached inside data/mods.db (see rate.yml for the formula).