[[!meta title="FAQ or Frequently Asked Questions"]] # What is Subplot? Subplot a tool to document acceptance criteria and requirements, and how they're verified, in a way that all stakeholders can understand and sign off on. Almost as a side effect, it can generate code to do the verification automatically. The primary goal of Subplot is to make sure the software being built is the right software, and as a side effect to verify that at least the most important requirements that can be verified automatically are met. # How does Subplot work? Basically, you write a document, which embeds verification scenarios using a given/when/then type language. The document is then processed in one way to produce a human readable, formatted, typeset version that all stakeholders read and are asked to agree on. Processed another way, the document results in code that executes the verification scenario. Simplified: each given/when/then step is mapped to a function call that is given specific parts of the step text as arguments. # How does Subplot differ from Cucumber? [Cucumber]: https://en.wikipedia.org/wiki/Cucumber_(software) [Gherkin]: https://en.wikipedia.org/wiki/Cucumber_(software)#Gherkin_language [Cucumber][] is a tool for running test suites written in [Gherkin][]. Subplot is in some ways very similar to Cucumber and Gherkin, and borrows heavily from them. However, our primary emphasis is not the automated tests, but building mutual understanding among the stakeholders of a system. # How does Subplot use AI or large language models? It doesn't.