<commit_before>AppSeeds, the utility-belt toolkit for your JavaScript application
========

## AppSeeds.StateManager

Library-agnostic state manager for your schemes & machinations.

### Quick start guide

#### 1. Create your state manager
`var stateManager = new AppSeeds.StateManager();`

#### 2. Add your states

  stateManager.add([
    'root -> loggedIn loggedOut', // the root state has two sub-states
    'loggedIn -> home users profile settings' // the `loggedIn` state has four sub-states
  ]);
  
  stateManager.goTo('loggedOut'); // this will be our initial state
  
### 3. Add your state-specific actions

  stateManger.whenIn('loggedOut', {
    logIn: function() {
      this.goTo('loggedIn'); // transition to state `loggedIn`
    }
  });

  stateManager.whenIn('loggedIn', {
    logOut: function() {
      this.goTo('loggedOut'); // transition to state `loggedOut`
    }
  });
  
### 4. Make your app do things

  stateManager.act('logIn'); // will call the `logIn` action
  
<commit_msg>Fixed tutorial indentation<commit_after>AppSeeds, the utility-belt toolkit for your JavaScript application
========

## AppSeeds.StateManager

Library-agnostic state manager for your schemes & machinations.

### Quick start guide

#### 1. Create your state manager

    var stateManager = new AppSeeds.StateManager();

#### 2. Add your states

    stateManager.add([
      'root -> loggedIn loggedOut', // the root state has two sub-states
      'loggedIn -> home users profile settings' // the `loggedIn` state has four sub-states
    ]);
  
    stateManager.goTo('loggedOut'); // this will be our initial state
  
### 3. Add your state-specific actions

    stateManger.whenIn('loggedOut', {
      logIn: function() {
        this.goTo('loggedIn'); // transition to state `loggedIn`
      }
    });

    stateManager.whenIn('loggedIn', {
      logOut: function() {
        this.goTo('loggedOut'); // transition to state `loggedOut`
      }
    });
  
### 4. Make your app do things

    stateManager.act('logIn'); // will call the `logIn` action
  

{'fraction_non_alphanumeric': 0.13242453748782862, 'fraction_numerical': 0.0038948393378773127, 'mean_word_length': 3.193877551020408, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '276446', 'n_tokens_mistral': 622, 'n_tokens_neox': 604, 'n_words': 188}