Erstwhile bundles Components into Themes. At the moment, there is a simple and incomplete one called Mazer (based on the MIT licensed Mazer Dashboard Bootstrap theme) to serve as a starting point.
Themes live in directories (Mazer is here) which in turn contain child directories for each component, as well as a reserved directory called /theme (that contains things like SCSS and Javascript files used theme-wide) and a file called theme.js that contains the subclass of ErstwhileTheme needed to compile the theme.
Each component directory typically contains at least two files, component.js (which contains the subclass of ErstwhileComponent that defines the theme) and component.ejs that contains the EJS template of the component. Only component.js is required. For custom components you can add additional files like SCSS if needed, or additional Javascript files.