artifact-app 0.6.3

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
[REQ-purpose]
text = '''
Write a flash card quizzer from scratch and learn about artifact
while doing so.

The example tutorial can be found here:
    http://wiki.openhatch.org/Flash_card_challenge
or at: {repo}/flash_card_challenge.htm

The program should be easy to understand and follow along so that it can
reach maximum audience for instructing in artifact
'''

[REQ-purpose-config]
text = '''
The command **shall** get the questions from a simple comma-separated
text file, allowing for any thing to be quizzed on easily
'''

[REQ-purpose-learning]
text = '''
The flash program should do things in a way that is most condusive to learning
the desired subject. This includes:
 - asking items in a random order
 - asking missed items more often
 - telling the correct answer after the user answers incorrectly
 - allow users to configure time limits, so they can
    compare results between quizzes.
'''

[REQ-load]
partof = "REQ-purpose"
text = '''
The user shall be able to easily configure the quiz questions through a simple
csv format consisting of two columns: the question and the answer.
'''

[SPC-cmd]
partof = "REQ-purpose"
text = '''
The minimum viable product shall be a command line utility that is given the
path to one or more question files as arguments.

Additional arguments will include:
- `-t`: specify the time allowed for each question
- `-T`: specify the total time allowed for the whole quiz
- `-r NUM`: repeat questions only a certain number of times.
    By default there is no limits.

The program will ask one question at a time, recording how many answers
the user got correct/incorrect.

When the program is complete:
- time taken, broken up by whole quiz and each question
- the user's score
'''

[SPC-response]
partof = "SPC-cmd"
text = '''
When an answer to a question is correct, a happy message **shall** be 
displayed. Otherwise, an error message with the correct answer **shall** be 
displayed.

TODO: detail how the message shall look.
'''

[SPC-random]
partof = "REQ-purpose"
text = '''
The questions **shall** be presented randomly.

Questions that are missed **shall** be given a higher weight to being asked 
again, to help the user learn.
'''