<commit_before>## Provisioning SparkleFormations

### JSON Templates

Generating JSON from a SparkleFormation template is as simple as
calling `SparkleFormation.compile()` on the template file. Here's a simple
script to output a JSON template from a supplied
SparkeFormation template:

```ruby
#!/usr/bin/env ruby
require 'sparkle_formation'
require 'json'

puts SparkleFormation.compile(ARGV[0])
```

The output can be written to a file and uploaded to the provider using
the method of your choice. For a more legible template:

```ruby
puts JSON.pretty_generate(SparkleFormation.compile(ARGV[0]))
```

Note: The output from this command may not be usable with cloud providers,
as the many spaces and newlines may exceed the cloudformation character limit.<commit_msg>Spacing<commit_after>## Provisioning SparkleFormations

### JSON Templates

Generating JSON from a SparkleFormation template is as simple as
calling `SparkleFormation.compile()` on the template file. Here's a simple
script to output a JSON template from a supplied
SparkeFormation template:

```ruby
#!/usr/bin/env ruby
require 'sparkle_formation'
require 'json'

puts SparkleFormation.compile(ARGV[0])
```

The output can be written to a file and uploaded to the provider using
the method of your choice. 

For a more legible template:

```ruby
puts JSON.pretty_generate(SparkleFormation.compile(ARGV[0]))
```

Note: The output from this command may not be usable with cloud providers,
as the many spaces and newlines may exceed the cloudformation
character limit. However, it is much easier to read.
{'fraction_non_alphanumeric': 0.07133757961783439, 'fraction_numerical': 0.0025477707006369425, 'mean_word_length': 5.518672199170124, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '4637509', 'n_tokens_mistral': 472, 'n_tokens_neox': 436, 'n_words': 198}