Minimal project.json - rpapub/PropulsiveForce GitHub Wiki

Minimal Fixture Projects for Custom Workflow Analyzer Rules

This repository contains minimal UiPath Studio projects used to develop, verify, and reason about custom Workflow Analyzer rules. Each rule is represented by a pair of simple, focused projects: one compliant and one violating.

Structure

Each rule folder follows this structure:

RuleIdentifier_DescriptiveName/
β”œβ”€β”€ NoViolation/
β”‚   β”œβ”€β”€ project.json
β”‚   └── Main.xaml
β”œβ”€β”€ Violation/
β”‚   β”œβ”€β”€ project.json
β”‚   └── Main.xaml
└── README.md (optional)

Violation

{
  "name": "RuleIdentifier-Violating",
  "description": "Demonstrates a UiPath project that omits the … activity, thereby violating rule …. This project is intended to trigger the rule’s error condition.",
  "dependencies": {
    "UiPath.System.Activities": "[22.10.4]",
    "UiPath.Testing.Activities": "[22.10.3]"
  },
  "main": "Main.xaml",
  "projectType": "Process",
  "schemaVersion": "4.0",
  "studioVersion": "22.10.5.0",
  "targetFramework": "Windows"
}

NoViolation

{
  "name": "RuleIdentifier-Compliant",
  "description": "Demonstrates a UiPath project that includes a … activity as required by rule …. This project complies with the custom Workflow Analyzer rule.",
  "dependencies": {
    "UiPath.System.Activities": "[22.10.4]",
    "UiPath.Testing.Activities": "[22.10.3]"
  },
  "main": "Main.xaml",
  "projectType": "Process",
  "schemaVersion": "4.0",
  "studioVersion": "22.10.5.0",
  "targetFramework": "Windows"
}

Purpose

These projects are not production workflows or test cases. They are:

  • Input artifacts for authoring custom Workflow Analyzer rules.
  • Minimal reproducible contexts that isolate specific rule behaviors.
  • Useful for manual inspection, rule debugging, or automated CI checks.

Project Conventions

Each project includes:

  • A minimal Main.xaml demonstrating presence or absence of the target pattern.

  • A project.json with:

    • Rule-aligned name (RuleID-Compliant, RuleID-Violating)
    • Short, descriptive description
    • Pinned, stable dependency versions
    • Target framework: Windows

All .xaml files are treated as binary and linguist-detectable in .gitattributes.

Use Cases

  • Rule authors use these to test detection logic against known inputs.
  • Reviewers inspect these to understand expected rule behavior.
  • CI systems may use these to validate rule correctness and stability.

Contribution Guidelines

  • Follow naming convention: RuleID_Description/
  • Always include both Violation/ and NoViolation/
  • Keep workflows minimal and readable
  • Use meaningful activity labels and consistent layout