I'm just starting to write the documentation on this.
Note that bashsteps is good for some types of scripts, not good for others. And there are a bunch of scripts in between for which it is experimental. If you are considering using bashsteps (or forced to use bashsteps), you should discuss directly with me about whether to use it and how to get the most out of it.
An introduction that focuses on motivation is now at ./doc/intro-to-core.md. It keeps the discussion to the parts of bashsteps that are stable.
An example that exercises the core is at ./examples/new/with-temporary-state.sh. Probably the next step in documentation is to annotate this example and show how to give a demo with it.
Also there are comments in ./bashctrl.sh and ./simple-defaults-for-bashsteps.source that may give useful hints.