/statelint

Public fork of awslabs' statelint that can be run by the pre-commit framework

Primary LanguageRubyApache License 2.0Apache-2.0

statelint

A Ruby gem that provides a command-line validator for Amazon States Language JSON files.

Installation

Add this line to your application's Gemfile:

gem 'statelint'

And then execute:

$ bundle

Or install it yourself as:

$ gem install statelint

Usage

statelint state-machine-spec, state-machinespec...

There are no options. If you see no output, your state machine is fine.

To do

Currently covers most of the grammatical constraints for state-machine definitions. The checking of JsonPath syntax is hand-built and probably imperfect.

The Ruby JSON parser unfortunately does not detect duplicate keys in objects, so neither does statelint.

Contributing

Bug reports and pull requests are welcome on GitHub