Meet Ric, the Fab Inspector.
This is a community project and is not supported by Microsoft.
Power BI report testing supports enhanced metadata format (PBIR). PBIX files are not currently supported; use PBIP or {my-report}.Report folders.
Fab Inspector validates Fabric artifacts with declarative JSON rules. You can run the same rules:
- Locally against checked-out item definitions
- In CI/CD pipelines (ADO or GitHub log formats)
- Against published Fabric workspace items with authentication
Beyond artifact structure, Fab Inspector can also inspect:
- Tenant and capacity configurations — validate tenant posture against your governance policies through API operators
- Data-based checks — use DAX query and T-SQL query operators as rule conditions to enforce data quality, semantic model correctness, and lakehouse health
Outputs can be written as Console, JSON, HTML, ADO, or GitHub formats or combined e.g. "GitHub,JSON"
The cross-platform FabInspector.AvaloniaUI desktop application lets you run inspections without the CLI. Point it at a local Fabric item folder or a Fabric workspace, choose a rules file and output format, and click Run. Results are written to a local folder or directly to OneLake, and can auto-open in the browser as HTML. See the GUI Reference for a full walkthrough.
Local mode:
fab-inspector -fabricitem "C:\Files\Sales.Report" -rules ".\Files\Base-rules.json" -formats ConsoleWorkspace mode (with interactive auth):
fab-inspector -fabricworkspace "<workspace-guid>" -rules ".\Files\Base-rules.json" -authmethod interactive -formats ConsoleWorkspace mode scoped to a Fabric item (with azurecli auth):
fab-inspector -fabricworkspace "<workspace-guid>" -fabricitem "<item-guid>" -rules ".\Files\Base-rules.json" -authmethod azurecli -formats ConsoleShow all CLI options:
fab-inspector -helpRelease binaries for the CLI and GUI are published at: https://github.com/NatVanG/fab-inspector/releases
| Document | Description |
|---|---|
| Intro | Conceptual overview of Fab Inspector and why declarative JSON rules matter |
| Usage Scenarios | Common local, CI/CD, workspace, and hybrid validation patterns |
| GUI Reference | Cross-platform Avalonia desktop application walkthrough |
| CLI Reference | Full CLI parameters, auth options, and command examples |
| Rules Guide | Rule schema and test logic |
| Operators Overview | When to use Ric vs FabInspector operators |
| Examples Index | Catalog of rule files in ExampleRules by use case |
| Ric Operators | Local/query/transformation/file-system operators |
| FabInspector Operators | API, DAX, SQL, and DFS operators |
| Architecture | Inspection engine and DI/concurrency internals |
Fab Inspector ships with base rules at Rules/Base-rules.json, focused on report visual quality checks.
To customize:
- Copy the base rules file.
- Edit parameter values or set
"disabled": trueon unwanted rules. - Point
-rulesto your customized file.
The creation of rules for Fab Inspector can feel unfamiliar, luckily an AI agent is available via this repo: https://github.com/NatVanG/fab-inspector-test-harness/blob/main/README.md. This capability is being actively developed and improved, always review AI generated output for accuracy.
Fab Inspector supports CI/CD pipeline integration:
-formats ADOfor Azure DevOps task commands-formats GitHubfor GitHub Actions annotations/logging
Tutorial and sample links are documented in CLI Reference.
For deep-dive guidance and advanced operator/rule examples, see the Fab Inspector wiki.
Thanks to Michael Kovalsky, Rui Romano, Luke Young, and David Mitchell for support and feedback.
Please report issues at https://github.com/NatVanG/fab-inspector/issues.


