API for Tool Integrations
Fetching reports programmatically
Reports are plain JSON stored in each repository. Fetch them directly from GitHub raw content:
GET https://raw.githubusercontent.com/<user>/<repo>/refs/heads/<branch>/.refactorfirst/refactor-first.jsonURL patterns
/<user>/<repo>— rendered report (default branch)/<user>/<repo>/<branch>— rendered report for a branch/<user>— all listed repositories of a user
JSON schema
The report contains projectName, version,totalClasses, classesToRefactor and apriorities array with per-class rank,className, priority, effort,disharmonies and recommendation fields.
Webhooks & third-party tools
Trigger report regeneration from any CI system by callingmvn refactorfirst:jsonReport and committing the.refactorfirst directory.
Rate limiting & caching
GitHub raw and API endpoints are rate-limited (5000 requests/hour authenticated, 60/hour unauthenticated). Cache responses client-side and respect theX-RateLimit-* headers.