Add more examples where this pattern shines from the traditional imperative pattern.
Come up with your own interesting examples.
Form validations can be messy, maybe a good example around that.
You can check your current codebase if you find a messy if-else logic that can be converted to this pattern.
One example can be for a dynamic form, where while filling a field will determine the rest of the journey of the form. In that case, you can compose/extend rules on the fly to create a new dynamic rule.
Presently the test run is triggered even if there is a change outside the source directory. But ideally, it should trigger due to a change in the src directory and other relevant files.
Make changes in CI, CD workflow file in .github action directory.
Should not run workflows when changes are in readme files etc
When a rule has a function value in the key, the value of that key from the source object is passed to the function as the first param and the whole source object as the second param.