gitcontribute healthChecks SQLite database integrity, GitHub API connectivity, and local filesystem state.
CI Pipeline: https://github.com/morluto/gitcontribute/actions
Monitor the CI workflow for build status, test coverage trends, and lint results. Coverage reports are uploaded as artifacts on each run.
Release Dashboard: https://github.com/morluto/gitcontribute/releases
Track version history and release notes. Each release is built via GoReleaser with cross-platform binaries and checksums.
If SQLite corruption is detected:
- Stop all running gitcontribute processes
- Run integrity check:
sqlite3 ~/.gitcontribute/corpus.db "PRAGMA integrity_check;" - If corruption confirmed, restore from latest backup:
cp ~/.gitcontribute/corpus.db.bak ~/.gitcontribute/corpus.db - Re-run health check
If GitHub API rate limits are hit:
- Check current limits:
gh api /rate_limit - Wait for the reset window (shown in
X-RateLimit-Resetheader) - Reduce concurrent operations via
--concurrencyflag
The GitHub client uses a circuit breaker that opens after 5 consecutive failures.
When the circuit is open, all requests fail fast with ErrCircuitOpen rather
than retrying. After a 30-second cooldown, a single probe request is allowed.
If the probe succeeds, the circuit closes; if it fails, the circuit re-opens.
To check circuit status, enable debug logging:
GITCONTRIBUTE_LOG_LEVEL=debug gitcontribute sync owner/repoIf jobs appear stuck:
- List active jobs:
gitcontribute jobs list --status running - Check for lock conflicts:
gitcontribute jobs reconcile - Force-release stale locks if the owning process is confirmed dead
If a Goose migration fails:
- Check the migration version:
gitcontribute db version - Rollback the failed migration:
goose -dir internal/corpus/migrations down - Fix the migration SQL
- Re-apply:
goose -dir internal/corpus/migrations up