# Subplot
Capture and communicate acceptance criteria for software and systems,
and how they are verified, in a way that's understood by all project
stakeholders.
**Status:** Subplot is very much not finished and is not usable yet.
We're working on a minimum viable product which can be used for a
simple web API project.
## When all stakeholders really need to understand acceptance criteria
Subplot is a set of tools for specifying, documenting, and
implementing automated acceptance tests for systems and software.
Subplot tools aim to produce a human-readable document of acceptance
criteria and a program that automatically tests a system against those
criteria. The goal is for every stakeholder in a project to understand
the project’s acceptance criteria and how they’re verified.
See for the home page.
## Hacking Subplot
Subplot is written using the Rust programming language, so the usual
workflow for Rust applies. To build run `cargo build`, to run tests in
Rust run `cargo test`.
To run the whole test suite, including testing all examples and
Subplot self tests, run `./check` at the root of the source tree.
# Building Debian package
To build a subplot.deb package, run the `build-deb` script, on a
Debian machine with the necessary packages installed, in a git
checkout of the source tree:
~~~sh
$ ./build-deb /tmp/where/built/package/should/go
~~~
You'll need the following packages installed:
> build-essential
> git
Additionally, any packages reported by running the following command:
~~~sh
$ dpkg-checkbuilddeps
~~~
# Legalese
Copyright 2019-2020 Lars Wirzenius
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .