# Spec Documents

Skypager is capable of treating markdown documents as runnable test code.  This allows you to write documentation about your project that you can actually run, making assertions along the way. 

## Document Structure Requirements

- A Spec document should be named `something.spec.md`
- A Spec document can contain `Setup` or `Teardown` section headings (h2) 
- A Spec document should contain a `Specs` section heading (h2)
- A Spec document should contain one or more h3 headings that contain a javascript code block underneath them.

## Example Spec Document

```markdown
# Spec Document Title

Write whatever you like

## Setup

This code will be run first

## Specs

### Explain something

javascript code.

### Explain something else

javascript code.

## Teardown

This code will be run last
```