     |> Result.aggregate(:clean_dest)
   end
 
-  @spec copy_files(binary(), binary(), Theme.t()) :: Result.t()
-  defp copy_files(src, dest, theme) do
-    case copy_theme_assets(theme, dest) do
+  @spec copy_files(binary(), binary()) :: Result.t()
+  defp copy_files(src, dest) do
+    case copy_theme_assets(dest) do
       :ok ->
         copy_assets(src, dest)
         do_copy_files(src, dest)

    end
  end

  @spec copy_theme_assets(Theme.t(), binary()) :: Result.t()
  defp copy_theme_assets(theme, dest) do
    case Theme.get_assets(theme) do
      {:ok, false} -> :ok
      {:ok, path} -> try_copy(path, Path.join(dest, "assets"))
      {:error, _} = error -> error

         :ok <- Plugin.build_started(src, dest),
         :ok <- pre_check(dest),
         :ok <- do_build(proj),
         :ok <- copy_files(src, dest),
         :ok <- Plugin.build_succeeded(src, dest),
         :ok <- Plugin.finalizing(src, dest) do
      {:ok, dest}
