Converge specifications
Creates a commit after a file is changed
Only creates one commit when multiple changes occur within a 5 second window
Pulls changes from remote "origin" before pushing commits
Rebases when pulling changes from "origin"
Does not operate (stage, commit or push) on git repos when:
a rebase is in progess
a merge is in progess
a revert is in progess
a cherry-pick is in progess
a bisect is in progess
Supports configurable log levels (debug, info, warn, error)
Supports logging to a file instead of stderr via --log-file or log_file config
Can notify on pull: per-repo notify_on_pull setting sends a desktop notification when new commits are pulled from the remote
--sync / -s flag runs a single sync cycle (commit + pull + push) and exits
Can connect to a converge-relay SSE endpoint and automatically pull when push events arrive
Configured via --relay-url CLI flag or relay_url config file entry
Matches repos by gitea_repo field (Gitea repository full_name) and branch
Reconnects automatically with exponential backoff on disconnect or error