Metalsmith is a Node.js static site generator and static content processor that transforms source files into websites, eBooks, or technical documentation. It functions as a file-to-object transformer, converting directory trees into plain JavaScript objects that can be programmatically manipulated in memory.
The project is built around a pluggable build pipeline where files are passed through a sequence of custom functions to transform content and metadata incrementally. This architecture allows users to extend functionality by writing their own plugins or using third-party modules to define the processing chain.
The system covers broad capability areas including frontmatter metadata management, project scaffolding from templates, and automated build workflows. It provides tools for managing file structures, optimizing assets, and integrating external data, alongside a command line interface for managing builds via JSON configuration.