Project

statelint

0.13
Low commit activity in last 3 years
There's a lot of open issues
A long-lived project that still receives updates
Validates a JSON object representing a State Machine
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

~> 0.4, >= 0.4.0
 Project Readme

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

Testing

All changes should be covered by unit tests in the spec directory. To run tests, execute the following from the package root:

bundle exec rspec