The party file is a YAML file, named party.yaml that can be located anywhere.
Within the party file, all paths are relative to the party file directory.
An attendee is a fancy name for a third-party software to build.
A party file can contain as many attendees as you like, and different attendees can even represent the same third-party software if that makes sense in your situation.
A fetcher is the entity that is responsible for handling a specific type of source.
Usually, fetchers are smart enough to recognize sources from their format and you should not have to care too much about them.
A builder is the list of commands to execute in order to transform the attendee source into a compiled set of binaries (or whatever a build process can produce).
Builders rely a lot on environments.
An environment is a set of environment variables, shell value and inheritance parameters that wraps one or several builds.
Environments define the tools to use for a given build, and their options.
A filter is an entity whose role is to check if the current execution environment matches a series of criterias.
For instance, the windows filter checks that teapot has been run on Windows. Another example is the mingw filter whose role is to check that MinGW is currently available in the execution environment.
An extension is an entity the resides in builder commands and that gets replaced when the command is evaluated.
Extension are python function that can optionally take parameters.