         site.run(plugins: plugins, completionHandler: completionHandler)
     }
 
-    public func build(completionHandler: @escaping BuildCompletionHandler) {
+    public func build(shouldClean: Bool = true, completionHandler: @escaping BuildCompletionHandler) {
         process { previousError, site in
             guard previousError == nil else {
                 completionHandler(previousError, site)

    public var metadata = Metadata()

    public var parsesFrontmatter = true

    public var shouldCleanBeforeBuild = true

    public var ignoreFilters = [IgnoreFilter]()


            }

            do {
                if shouldClean {
                    try self.removeDestination()
                }

                for path in site.paths {
                    try self.write(path: path, file: site.memoizedFiles[path])
