rill icon indicating copy to clipboard operation
rill copied to clipboard

[PLAT-308] Rill validate

Open pjain1 opened this issue 1 month ago • 0 comments

Adds a new rill validate command that validates and reconciles Rill projects without starting the UI. Useful for CI/CD or AI agent development workflows.

  # Human-readable validation
  rill validate
  # JSON output on cmd line
  rill validate --output-format json
  # Save results to file
  rill validate --output validation-results.json
  # Custom timeout
  rill validate --reconcile-timeout 2m

Json output is of format

{
    "success": false,
    "timeout": false,
    "summary": {
      "total_resources": 15,
      "parse_errors": 2,
      "reconcile_errors": 1
    },
    "parse_errors": [
      {
        "message": "syntax error at line 10",
        "file_path": "models/bad.sql",
        "start_location": { "line": 10 }
      }
    ],
    "resources": [
      {
        "kind": "model",
        "name": "user_metrics",
        "status": "error",
        "error": "column 'email' does not exist",
        "file_path": "models/user_metrics.sql"
      }
    ]
  }

Checklist:

  • [ ] Covered by tests
  • [x] Ran it and it works as intended
  • [x] Reviewed the diff before requesting a review
  • [ ] Checked for unhandled edge cases
  • [x] Linked the issues it closes
  • [ ] Checked if the docs need to be updated. If so, create a separate Linear DOCS issue
  • [ ] Intend to cherry-pick into the release branch
  • [ ] I'm proud of this work!

pjain1 avatar Dec 01 '25 08:12 pjain1