artifact-app 1.0.1

Artifact is a design doc tool made for developers. It allows anyone to easily write and link their design docs both to each other and to source code, making it easy to track how complete their project is. Documents are revision controllable, can be rendered as a static web page and have a full suite of command line tools for searching, formatting and displaying them.
Documentation
[SPC-load]
partof = 'SPC-cmd'
text = '''
### CSV Format
The format of the csv file **shall** be a csv file of the form:
```
City, Capitol
```
> Note: whitespace will be ignored

### Design
The load function will accept a path to the csv file and will
deserialize and validate it using:
- [[SPC-question]] for handling deserialization of each row.
- [[SPC-validate]] to validate the data against other requirements.
'''

[SPC-question]
partof = 'SPC-load'
text = '''
The `Question` class shall be the primary datatype used for questions in the
application. Quetions shall:
- store the question and answer
- provide a method `ask` to ask the user the question
  and validate the answer
'''

[SPC-validate]
partof = [
    'REQ-learning', 
    'SPC-load',
]
text = '''
input questions **shall** be validated to:
- guarantee against duplicates
- guarantee that the data format is correct
'''

[TST-invalid]
partof = 'SPC-validate'
text = '''
At least the following unit tests **will** be implemented:
- test invalid number of columns
- test duplicate names
'''

[TST-load]
partof = 'SPC-question'
text = '''
Validating shall encompase:
- all question objects exist and data is as expected

The unit tests for load shall include:
- loading a raw string and validating it
- loading a valid csv file path and validating it
- try to load a csv file with 3 columns, expect error
'''