     enum PluginError: Error {
         /// Indicates that the target where the plugin was applied to was not `SourceModuleTarget`.
         case invalidTarget
-        /// Indicates that no config file was present in the root of the target directory.
-        case noConfigFile
+        /// Indicates that the file extension of an input file was not `.proto`.
+        case invalidInputFileExtension
     }
 
     /// The configuration of the plugin.

        var inputFiles = [Path]()
        var outputFiles = [Path]()

        for file in invocation.protoFiles {
            // Append the file to the protoc args so that it is used for generating
            protocArgs.append("\(file)")
            inputFiles.append(target.directory.appending(file))

            // The name of the output file is based on the name of the input file.
            let protobufOutputName = file.replacingOccurrences(of: ".proto", with: ".pb.swift")
            let protobufOutputPath = outputDirectory.appending(protobufOutputName)

            // Add the outputPath as an output file
            outputFiles.append(protobufOutputPath)

            outputFiles: outputFiles
        )
    }

    /// Validates the configuration file for various user errors.
    private func validateConfiguration(_ configuration: Configuration) throws {
        for invocation in configuration.invocations {
            for protoFile in invocation.protoFiles {
                if !protoFile.hasSuffix(".proto") {
                    throw PluginError.invalidInputFileExtension
                }
            }
        }
    }
}
