diff --git a/cmd/semantic-release/main.go b/cmd/semantic-release/main.go
index b7d15e3d80d2638ef3e3daca057d32ce8eb4c5ec..60cd0e16444aed3bff1d1427b433abc7a6115823 100644
--- a/cmd/semantic-release/main.go
+++ b/cmd/semantic-release/main.go
@@ -183,14 +183,14 @@ func cliHandler(cmd *cobra.Command, _ []string) {
 
 	exitIfError(hooksExecutor.Init(hooksConfig))
 
-	if !conf.NoCI {
+	if !conf.NoCi {
 		logger.Println("running CI condition...")
 		conditionConfig := map[string]string{
 			"token":         conf.Token,
 			"defaultBranch": repoInfo.DefaultBranch,
 			"private":       fmt.Sprintf("%t", repoInfo.Private),
 		}
-		mergeConfigWithDefaults(conditionConfig, conf.CIConditionOpts)
+		mergeConfigWithDefaults(conditionConfig, conf.CiConditionOpts)
 
 		err = ci.RunCondition(conditionConfig)
 		if err != nil {
diff --git a/pkg/analyzer/commit_analyzer.pb.go b/pkg/analyzer/commit_analyzer.pb.go
index 27707ffcf186d580907a963fe3dd6f88e454161d..e845185bb640485a997fce1bb6a52643ef7461e2 100644
--- a/pkg/analyzer/commit_analyzer.pb.go
+++ b/pkg/analyzer/commit_analyzer.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // 	protoc-gen-go v1.31.0
-// 	protoc        v4.24.3
+// 	protoc        v4.24.4
 // source: pkg/analyzer/commit_analyzer.proto
 
 package analyzer
diff --git a/pkg/analyzer/commit_analyzer_grpc.pb.go b/pkg/analyzer/commit_analyzer_grpc.pb.go
index 4e792f6f70dcb74611e761e9bab825a0e31d0963..7296fd7fd9df39ac10835d9805cf3c8687551f82 100644
--- a/pkg/analyzer/commit_analyzer_grpc.pb.go
+++ b/pkg/analyzer/commit_analyzer_grpc.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
 // - protoc-gen-go-grpc v1.3.0
-// - protoc             v4.24.3
+// - protoc             v4.24.4
 // source: pkg/analyzer/commit_analyzer.proto
 
 package analyzer
diff --git a/pkg/condition/ci_condition.pb.go b/pkg/condition/ci_condition.pb.go
index ebcd3ea58c3e2baf442f1b7062a9b639bfc985fe..a37e4524214d3644355af80d4fa7bd680da7617d 100644
--- a/pkg/condition/ci_condition.pb.go
+++ b/pkg/condition/ci_condition.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // 	protoc-gen-go v1.31.0
-// 	protoc        v4.24.3
+// 	protoc        v4.24.4
 // source: pkg/condition/ci_condition.proto
 
 package condition
diff --git a/pkg/condition/ci_condition_grpc.pb.go b/pkg/condition/ci_condition_grpc.pb.go
index a95da9026871c2615fe695f4d450d8d8f6ecd148..07ec6de780539c12092ea06cd04b2836b33c990f 100644
--- a/pkg/condition/ci_condition_grpc.pb.go
+++ b/pkg/condition/ci_condition_grpc.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
 // - protoc-gen-go-grpc v1.3.0
-// - protoc             v4.24.3
+// - protoc             v4.24.4
 // source: pkg/condition/ci_condition.proto
 
 package condition
diff --git a/pkg/config/config.go b/pkg/config/config.go
index 0d5f0ed98d642fe2001fed3a14952901db108ea5..032774744dad5258d22c38622454ec85bc34f0d3 100644
--- a/pkg/config/config.go
+++ b/pkg/config/config.go
@@ -9,42 +9,6 @@ import (
 	"github.com/spf13/viper"
 )
 
-// Config is a complete set of app configuration
-type Config struct {
-	Token                                 string
-	ProviderPlugin                        string
-	ProviderOpts                          map[string]string
-	CommitAnalyzerPlugin                  string
-	CommitAnalyzerOpts                    map[string]string
-	CIConditionPlugin                     string
-	CIConditionOpts                       map[string]string
-	ChangelogGeneratorPlugin              string
-	ChangelogGeneratorOpts                map[string]string
-	Changelog                             string
-	FilesUpdaterPlugins                   []string
-	FilesUpdaterOpts                      map[string]string
-	HooksPlugins                          []string
-	HooksOpts                             map[string]string
-	UpdateFiles                           []string
-	Match                                 string
-	VersionFile                           bool
-	Prerelease                            bool
-	Ghr                                   bool
-	NoCI                                  bool
-	Dry                                   bool
-	AllowInitialDevelopmentVersions       bool
-	AllowNoChanges                        bool
-	ForceBumpPatchVersion                 bool
-	MaintainedVersion                     string
-	PrependChangelog                      bool
-	DownloadPlugins                       bool
-	ShowProgress                          bool
-	AllowMaintainedVersionOnDefaultBranch bool
-	PluginResolver                        string
-	PluginResolverEndpoint                string
-	PluginResolverDisableBatchPrefetch    bool
-}
-
 func mustGetString(cmd *cobra.Command, name string) string {
 	res, err := cmd.Flags().GetString(name)
 	if err != nil {
@@ -110,8 +74,8 @@ func NewConfig(cmd *cobra.Command) (*Config, error) {
 		ProviderOpts:                          provOpts,
 		CommitAnalyzerPlugin:                  viper.GetString("plugins.commit-analyzer.name"),
 		CommitAnalyzerOpts:                    caOpts,
-		CIConditionPlugin:                     viper.GetString("plugins.ci-condition.name"),
-		CIConditionOpts:                       ciOpts,
+		CiConditionPlugin:                     viper.GetString("plugins.ci-condition.name"),
+		CiConditionOpts:                       ciOpts,
 		ChangelogGeneratorPlugin:              viper.GetString("plugins.changelog-generator.name"),
 		ChangelogGeneratorOpts:                cgOpts,
 		Changelog:                             mustGetString(cmd, "changelog"),
@@ -124,7 +88,7 @@ func NewConfig(cmd *cobra.Command) (*Config, error) {
 		VersionFile:                           mustGetBool(cmd, "version-file"),
 		Prerelease:                            mustGetBool(cmd, "prerelease"),
 		Ghr:                                   mustGetBool(cmd, "ghr"),
-		NoCI:                                  mustGetBool(cmd, "no-ci"),
+		NoCi:                                  mustGetBool(cmd, "no-ci"),
 		Dry:                                   mustGetBool(cmd, "dry"),
 		AllowInitialDevelopmentVersions:       mustGetBool(cmd, "allow-initial-development-versions"),
 		AllowNoChanges:                        mustGetBool(cmd, "allow-no-changes"),
diff --git a/pkg/config/config.pb.go b/pkg/config/config.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..8e635ba92908ac07fe48c38b6277e412292a3662
--- /dev/null
+++ b/pkg/config/config.pb.go
@@ -0,0 +1,530 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// 	protoc-gen-go v1.31.0
+// 	protoc        v4.24.4
+// source: pkg/config/config.proto
+
+package config
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	reflect "reflect"
+	sync "sync"
+)
+
+const (
+	// Verify that this generated code is sufficiently up-to-date.
+	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+	// Verify that runtime/protoimpl is sufficiently up-to-date.
+	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// Config is a complete set of app configuration
+type Config struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	Token                                 string            `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
+	ProviderPlugin                        string            `protobuf:"bytes,2,opt,name=provider_plugin,json=providerPlugin,proto3" json:"provider_plugin,omitempty"`
+	ProviderOpts                          map[string]string `protobuf:"bytes,3,rep,name=provider_opts,json=providerOpts,proto3" json:"provider_opts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	CommitAnalyzerPlugin                  string            `protobuf:"bytes,4,opt,name=commit_analyzer_plugin,json=commitAnalyzerPlugin,proto3" json:"commit_analyzer_plugin,omitempty"`
+	CommitAnalyzerOpts                    map[string]string `protobuf:"bytes,5,rep,name=commit_analyzer_opts,json=commitAnalyzerOpts,proto3" json:"commit_analyzer_opts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	CiConditionPlugin                     string            `protobuf:"bytes,6,opt,name=ci_condition_plugin,json=ciConditionPlugin,proto3" json:"ci_condition_plugin,omitempty"`
+	CiConditionOpts                       map[string]string `protobuf:"bytes,7,rep,name=ci_condition_opts,json=ciConditionOpts,proto3" json:"ci_condition_opts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	ChangelogGeneratorPlugin              string            `protobuf:"bytes,8,opt,name=changelog_generator_plugin,json=changelogGeneratorPlugin,proto3" json:"changelog_generator_plugin,omitempty"`
+	ChangelogGeneratorOpts                map[string]string `protobuf:"bytes,9,rep,name=changelog_generator_opts,json=changelogGeneratorOpts,proto3" json:"changelog_generator_opts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	Changelog                             string            `protobuf:"bytes,10,opt,name=changelog,proto3" json:"changelog,omitempty"`
+	FilesUpdaterPlugins                   []string          `protobuf:"bytes,11,rep,name=files_updater_plugins,json=filesUpdaterPlugins,proto3" json:"files_updater_plugins,omitempty"`
+	FilesUpdaterOpts                      map[string]string `protobuf:"bytes,12,rep,name=files_updater_opts,json=filesUpdaterOpts,proto3" json:"files_updater_opts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	HooksPlugins                          []string          `protobuf:"bytes,13,rep,name=hooks_plugins,json=hooksPlugins,proto3" json:"hooks_plugins,omitempty"`
+	HooksOpts                             map[string]string `protobuf:"bytes,14,rep,name=hooks_opts,json=hooksOpts,proto3" json:"hooks_opts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	UpdateFiles                           []string          `protobuf:"bytes,15,rep,name=update_files,json=updateFiles,proto3" json:"update_files,omitempty"`
+	Match                                 string            `protobuf:"bytes,16,opt,name=match,proto3" json:"match,omitempty"`
+	VersionFile                           bool              `protobuf:"varint,17,opt,name=version_file,json=versionFile,proto3" json:"version_file,omitempty"`
+	Prerelease                            bool              `protobuf:"varint,18,opt,name=prerelease,proto3" json:"prerelease,omitempty"`
+	Ghr                                   bool              `protobuf:"varint,19,opt,name=ghr,proto3" json:"ghr,omitempty"`
+	NoCi                                  bool              `protobuf:"varint,20,opt,name=no_ci,json=noCi,proto3" json:"no_ci,omitempty"`
+	Dry                                   bool              `protobuf:"varint,21,opt,name=dry,proto3" json:"dry,omitempty"`
+	AllowInitialDevelopmentVersions       bool              `protobuf:"varint,22,opt,name=allow_initial_development_versions,json=allowInitialDevelopmentVersions,proto3" json:"allow_initial_development_versions,omitempty"`
+	AllowNoChanges                        bool              `protobuf:"varint,23,opt,name=allow_no_changes,json=allowNoChanges,proto3" json:"allow_no_changes,omitempty"`
+	ForceBumpPatchVersion                 bool              `protobuf:"varint,24,opt,name=force_bump_patch_version,json=forceBumpPatchVersion,proto3" json:"force_bump_patch_version,omitempty"`
+	MaintainedVersion                     string            `protobuf:"bytes,25,opt,name=maintained_version,json=maintainedVersion,proto3" json:"maintained_version,omitempty"`
+	PrependChangelog                      bool              `protobuf:"varint,26,opt,name=prepend_changelog,json=prependChangelog,proto3" json:"prepend_changelog,omitempty"`
+	DownloadPlugins                       bool              `protobuf:"varint,27,opt,name=download_plugins,json=downloadPlugins,proto3" json:"download_plugins,omitempty"`
+	ShowProgress                          bool              `protobuf:"varint,28,opt,name=show_progress,json=showProgress,proto3" json:"show_progress,omitempty"`
+	AllowMaintainedVersionOnDefaultBranch bool              `protobuf:"varint,29,opt,name=allow_maintained_version_on_default_branch,json=allowMaintainedVersionOnDefaultBranch,proto3" json:"allow_maintained_version_on_default_branch,omitempty"`
+	PluginResolver                        string            `protobuf:"bytes,30,opt,name=plugin_resolver,json=pluginResolver,proto3" json:"plugin_resolver,omitempty"`
+	PluginResolverEndpoint                string            `protobuf:"bytes,31,opt,name=plugin_resolver_endpoint,json=pluginResolverEndpoint,proto3" json:"plugin_resolver_endpoint,omitempty"`
+	PluginResolverDisableBatchPrefetch    bool              `protobuf:"varint,32,opt,name=plugin_resolver_disable_batch_prefetch,json=pluginResolverDisableBatchPrefetch,proto3" json:"plugin_resolver_disable_batch_prefetch,omitempty"`
+}
+
+func (x *Config) Reset() {
+	*x = Config{}
+	if protoimpl.UnsafeEnabled {
+		mi := &file_pkg_config_config_proto_msgTypes[0]
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		ms.StoreMessageInfo(mi)
+	}
+}
+
+func (x *Config) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Config) ProtoMessage() {}
+
+func (x *Config) ProtoReflect() protoreflect.Message {
+	mi := &file_pkg_config_config_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use Config.ProtoReflect.Descriptor instead.
+func (*Config) Descriptor() ([]byte, []int) {
+	return file_pkg_config_config_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Config) GetToken() string {
+	if x != nil {
+		return x.Token
+	}
+	return ""
+}
+
+func (x *Config) GetProviderPlugin() string {
+	if x != nil {
+		return x.ProviderPlugin
+	}
+	return ""
+}
+
+func (x *Config) GetProviderOpts() map[string]string {
+	if x != nil {
+		return x.ProviderOpts
+	}
+	return nil
+}
+
+func (x *Config) GetCommitAnalyzerPlugin() string {
+	if x != nil {
+		return x.CommitAnalyzerPlugin
+	}
+	return ""
+}
+
+func (x *Config) GetCommitAnalyzerOpts() map[string]string {
+	if x != nil {
+		return x.CommitAnalyzerOpts
+	}
+	return nil
+}
+
+func (x *Config) GetCiConditionPlugin() string {
+	if x != nil {
+		return x.CiConditionPlugin
+	}
+	return ""
+}
+
+func (x *Config) GetCiConditionOpts() map[string]string {
+	if x != nil {
+		return x.CiConditionOpts
+	}
+	return nil
+}
+
+func (x *Config) GetChangelogGeneratorPlugin() string {
+	if x != nil {
+		return x.ChangelogGeneratorPlugin
+	}
+	return ""
+}
+
+func (x *Config) GetChangelogGeneratorOpts() map[string]string {
+	if x != nil {
+		return x.ChangelogGeneratorOpts
+	}
+	return nil
+}
+
+func (x *Config) GetChangelog() string {
+	if x != nil {
+		return x.Changelog
+	}
+	return ""
+}
+
+func (x *Config) GetFilesUpdaterPlugins() []string {
+	if x != nil {
+		return x.FilesUpdaterPlugins
+	}
+	return nil
+}
+
+func (x *Config) GetFilesUpdaterOpts() map[string]string {
+	if x != nil {
+		return x.FilesUpdaterOpts
+	}
+	return nil
+}
+
+func (x *Config) GetHooksPlugins() []string {
+	if x != nil {
+		return x.HooksPlugins
+	}
+	return nil
+}
+
+func (x *Config) GetHooksOpts() map[string]string {
+	if x != nil {
+		return x.HooksOpts
+	}
+	return nil
+}
+
+func (x *Config) GetUpdateFiles() []string {
+	if x != nil {
+		return x.UpdateFiles
+	}
+	return nil
+}
+
+func (x *Config) GetMatch() string {
+	if x != nil {
+		return x.Match
+	}
+	return ""
+}
+
+func (x *Config) GetVersionFile() bool {
+	if x != nil {
+		return x.VersionFile
+	}
+	return false
+}
+
+func (x *Config) GetPrerelease() bool {
+	if x != nil {
+		return x.Prerelease
+	}
+	return false
+}
+
+func (x *Config) GetGhr() bool {
+	if x != nil {
+		return x.Ghr
+	}
+	return false
+}
+
+func (x *Config) GetNoCi() bool {
+	if x != nil {
+		return x.NoCi
+	}
+	return false
+}
+
+func (x *Config) GetDry() bool {
+	if x != nil {
+		return x.Dry
+	}
+	return false
+}
+
+func (x *Config) GetAllowInitialDevelopmentVersions() bool {
+	if x != nil {
+		return x.AllowInitialDevelopmentVersions
+	}
+	return false
+}
+
+func (x *Config) GetAllowNoChanges() bool {
+	if x != nil {
+		return x.AllowNoChanges
+	}
+	return false
+}
+
+func (x *Config) GetForceBumpPatchVersion() bool {
+	if x != nil {
+		return x.ForceBumpPatchVersion
+	}
+	return false
+}
+
+func (x *Config) GetMaintainedVersion() string {
+	if x != nil {
+		return x.MaintainedVersion
+	}
+	return ""
+}
+
+func (x *Config) GetPrependChangelog() bool {
+	if x != nil {
+		return x.PrependChangelog
+	}
+	return false
+}
+
+func (x *Config) GetDownloadPlugins() bool {
+	if x != nil {
+		return x.DownloadPlugins
+	}
+	return false
+}
+
+func (x *Config) GetShowProgress() bool {
+	if x != nil {
+		return x.ShowProgress
+	}
+	return false
+}
+
+func (x *Config) GetAllowMaintainedVersionOnDefaultBranch() bool {
+	if x != nil {
+		return x.AllowMaintainedVersionOnDefaultBranch
+	}
+	return false
+}
+
+func (x *Config) GetPluginResolver() string {
+	if x != nil {
+		return x.PluginResolver
+	}
+	return ""
+}
+
+func (x *Config) GetPluginResolverEndpoint() string {
+	if x != nil {
+		return x.PluginResolverEndpoint
+	}
+	return ""
+}
+
+func (x *Config) GetPluginResolverDisableBatchPrefetch() bool {
+	if x != nil {
+		return x.PluginResolverDisableBatchPrefetch
+	}
+	return false
+}
+
+var File_pkg_config_config_proto protoreflect.FileDescriptor
+
+var file_pkg_config_config_proto_rawDesc = []byte{
+	0x0a, 0x17, 0x70, 0x6b, 0x67, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x0f, 0x0a, 0x06, 0x43, 0x6f,
+	0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72,
+	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x75,
+	0x67, 0x69, 0x6e, 0x12, 0x3e, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f,
+	0x6f, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x43, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x73,
+	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4f,
+	0x70, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x6e,
+	0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79,
+	0x7a, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x51, 0x0a, 0x14, 0x63, 0x6f, 0x6d,
+	0x6d, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74,
+	0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x4f,
+	0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
+	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x13,
+	0x63, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6c, 0x75,
+	0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x69, 0x43, 0x6f, 0x6e,
+	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x48, 0x0a, 0x11,
+	0x63, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74,
+	0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x2e, 0x43, 0x69, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x73,
+	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
+	0x6c, 0x6f, 0x67, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x6c,
+	0x75, 0x67, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x63, 0x68, 0x61, 0x6e,
+	0x67, 0x65, 0x6c, 0x6f, 0x67, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6c,
+	0x75, 0x67, 0x69, 0x6e, 0x12, 0x5d, 0x0a, 0x18, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f,
+	0x67, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x73,
+	0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+	0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+	0x6f, 0x72, 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x63, 0x68, 0x61,
+	0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4f,
+	0x70, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67,
+	0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f,
+	0x67, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74,
+	0x65, 0x72, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09,
+	0x52, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x50, 0x6c,
+	0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x4b, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x75,
+	0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28,
+	0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x73,
+	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
+	0x52, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x4f, 0x70,
+	0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x5f, 0x70, 0x6c, 0x75, 0x67,
+	0x69, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x6f, 0x6f, 0x6b, 0x73,
+	0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x68, 0x6f, 0x6f, 0x6b, 0x73,
+	0x5f, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x6f,
+	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e,
+	0x74, 0x72, 0x79, 0x52, 0x09, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x4f, 0x70, 0x74, 0x73, 0x12, 0x21,
+	0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0f,
+	0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65,
+	0x73, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69,
+	0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x76,
+	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72,
+	0x65, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
+	0x70, 0x72, 0x65, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x68,
+	0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x67, 0x68, 0x72, 0x12, 0x13, 0x0a, 0x05,
+	0x6e, 0x6f, 0x5f, 0x63, 0x69, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6e, 0x6f, 0x43,
+	0x69, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x72, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03,
+	0x64, 0x72, 0x79, 0x12, 0x4b, 0x0a, 0x22, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x69,
+	0x74, 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74,
+	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52,
+	0x1f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x76,
+	0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+	0x12, 0x28, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x6f, 0x5f, 0x63, 0x68, 0x61,
+	0x6e, 0x67, 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f,
+	0x77, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x66, 0x6f,
+	0x72, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x6d, 0x70, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x76,
+	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x66, 0x6f,
+	0x72, 0x63, 0x65, 0x42, 0x75, 0x6d, 0x70, 0x50, 0x61, 0x74, 0x63, 0x68, 0x56, 0x65, 0x72, 0x73,
+	0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
+	0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x11, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69,
+	0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x68,
+	0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70,
+	0x72, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x12,
+	0x29, 0x0a, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x6c, 0x75, 0x67,
+	0x69, 0x6e, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
+	0x6f, 0x61, 0x64, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68,
+	0x6f, 0x77, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28,
+	0x08, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12,
+	0x59, 0x0a, 0x2a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69,
+	0x6e, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x6e, 0x5f, 0x64,
+	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x1d, 0x20,
+	0x01, 0x28, 0x08, 0x52, 0x25, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x61,
+	0x69, 0x6e, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x44, 0x65, 0x66,
+	0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6c,
+	0x75, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x18, 0x1e, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6c,
+	0x76, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x18, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65,
+	0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18,
+	0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73,
+	0x6f, 0x6c, 0x76, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x52, 0x0a,
+	0x26, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72,
+	0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70,
+	0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x70,
+	0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x44, 0x69, 0x73,
+	0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63,
+	0x68, 0x1a, 0x3f, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x74,
+	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+	0x38, 0x01, 0x1a, 0x45, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x6e, 0x61, 0x6c,
+	0x79, 0x7a, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x43, 0x69, 0x43,
+	0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72,
+	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x49, 0x0a,
+	0x1b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
+	0x74, 0x6f, 0x72, 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
+	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x46, 0x69, 0x6c, 0x65,
+	0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72,
+	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a,
+	0x0e, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x3f, 0x5a, 0x3d, 0x67,
+	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2d, 0x73, 0x65, 0x6d,
+	0x61, 0x6e, 0x74, 0x69, 0x63, 0x2d, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x2f, 0x73, 0x65,
+	0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x2d, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x2f, 0x76,
+	0x32, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+	file_pkg_config_config_proto_rawDescOnce sync.Once
+	file_pkg_config_config_proto_rawDescData = file_pkg_config_config_proto_rawDesc
+)
+
+func file_pkg_config_config_proto_rawDescGZIP() []byte {
+	file_pkg_config_config_proto_rawDescOnce.Do(func() {
+		file_pkg_config_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_config_config_proto_rawDescData)
+	})
+	return file_pkg_config_config_proto_rawDescData
+}
+
+var file_pkg_config_config_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
+var file_pkg_config_config_proto_goTypes = []interface{}{
+	(*Config)(nil), // 0: Config
+	nil,            // 1: Config.ProviderOptsEntry
+	nil,            // 2: Config.CommitAnalyzerOptsEntry
+	nil,            // 3: Config.CiConditionOptsEntry
+	nil,            // 4: Config.ChangelogGeneratorOptsEntry
+	nil,            // 5: Config.FilesUpdaterOptsEntry
+	nil,            // 6: Config.HooksOptsEntry
+}
+var file_pkg_config_config_proto_depIdxs = []int32{
+	1, // 0: Config.provider_opts:type_name -> Config.ProviderOptsEntry
+	2, // 1: Config.commit_analyzer_opts:type_name -> Config.CommitAnalyzerOptsEntry
+	3, // 2: Config.ci_condition_opts:type_name -> Config.CiConditionOptsEntry
+	4, // 3: Config.changelog_generator_opts:type_name -> Config.ChangelogGeneratorOptsEntry
+	5, // 4: Config.files_updater_opts:type_name -> Config.FilesUpdaterOptsEntry
+	6, // 5: Config.hooks_opts:type_name -> Config.HooksOptsEntry
+	6, // [6:6] is the sub-list for method output_type
+	6, // [6:6] is the sub-list for method input_type
+	6, // [6:6] is the sub-list for extension type_name
+	6, // [6:6] is the sub-list for extension extendee
+	0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_pkg_config_config_proto_init() }
+func file_pkg_config_config_proto_init() {
+	if File_pkg_config_config_proto != nil {
+		return
+	}
+	if !protoimpl.UnsafeEnabled {
+		file_pkg_config_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Config); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_pkg_config_config_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   7,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_pkg_config_config_proto_goTypes,
+		DependencyIndexes: file_pkg_config_config_proto_depIdxs,
+		MessageInfos:      file_pkg_config_config_proto_msgTypes,
+	}.Build()
+	File_pkg_config_config_proto = out.File
+	file_pkg_config_config_proto_rawDesc = nil
+	file_pkg_config_config_proto_goTypes = nil
+	file_pkg_config_config_proto_depIdxs = nil
+}
diff --git a/pkg/config/config.proto b/pkg/config/config.proto
new file mode 100644
index 0000000000000000000000000000000000000000..61cbeba89b70d53d214d8f59cca50445aba13cb6
--- /dev/null
+++ b/pkg/config/config.proto
@@ -0,0 +1,38 @@
+syntax = "proto3";
+option go_package = "github.com/go-semantic-release/semantic-release/v2/pkg/config";
+
+// Config is a complete set of app configuration
+message Config {
+  string token = 1;
+  string provider_plugin = 2;
+  map<string, string> provider_opts = 3;
+  string commit_analyzer_plugin = 4;
+  map<string, string> commit_analyzer_opts = 5;
+  string ci_condition_plugin = 6;
+  map<string, string> ci_condition_opts = 7;
+  string changelog_generator_plugin = 8;
+  map<string, string> changelog_generator_opts = 9;
+  string changelog = 10;
+  repeated string files_updater_plugins = 11;
+  map<string, string> files_updater_opts = 12;
+  repeated string hooks_plugins = 13;
+  map<string, string> hooks_opts = 14;
+  repeated string update_files = 15;
+  string match = 16;
+  bool version_file = 17;
+  bool prerelease = 18;
+  bool ghr = 19;
+  bool no_ci = 20;
+  bool dry = 21;
+  bool allow_initial_development_versions = 22;
+  bool allow_no_changes = 23;
+  bool force_bump_patch_version = 24;
+  string maintained_version = 25;
+  bool prepend_changelog = 26;
+  bool download_plugins = 27;
+  bool show_progress = 28;
+  bool allow_maintained_version_on_default_branch = 29;
+  string plugin_resolver = 30;
+  string plugin_resolver_endpoint = 31;
+  bool plugin_resolver_disable_batch_prefetch = 32;
+}
diff --git a/pkg/generator/changelog_generator.pb.go b/pkg/generator/changelog_generator.pb.go
index 1a3a66b554f3ac4fea1e23ed29e7d619c6004945..1d2428c0cda64f807da78451551045e9b7054dec 100644
--- a/pkg/generator/changelog_generator.pb.go
+++ b/pkg/generator/changelog_generator.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // 	protoc-gen-go v1.31.0
-// 	protoc        v4.24.3
+// 	protoc        v4.24.4
 // source: pkg/generator/changelog_generator.proto
 
 package generator
diff --git a/pkg/generator/changelog_generator_grpc.pb.go b/pkg/generator/changelog_generator_grpc.pb.go
index 064f977bafed9af370bfa2d6c40610d01c96ae0b..fb76f8e1925b289d11fa7d7d4424a283335a2cc3 100644
--- a/pkg/generator/changelog_generator_grpc.pb.go
+++ b/pkg/generator/changelog_generator_grpc.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
 // - protoc-gen-go-grpc v1.3.0
-// - protoc             v4.24.3
+// - protoc             v4.24.4
 // source: pkg/generator/changelog_generator.proto
 
 package generator
diff --git a/pkg/hooks/hooks.pb.go b/pkg/hooks/hooks.pb.go
index 18d66d3557f553d648a17db346937626bd786c51..9f545edb3cad69ca34dd91d595769762d6140a9e 100644
--- a/pkg/hooks/hooks.pb.go
+++ b/pkg/hooks/hooks.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // 	protoc-gen-go v1.31.0
-// 	protoc        v4.24.3
+// 	protoc        v4.24.4
 // source: pkg/hooks/hooks.proto
 
 package hooks
diff --git a/pkg/hooks/hooks_grpc.pb.go b/pkg/hooks/hooks_grpc.pb.go
index d58626805420a8ad2811e415bfeacfad8d4a40d6..2b48ed34ca5c9091cd97bc2ca4856bee01bf70a5 100644
--- a/pkg/hooks/hooks_grpc.pb.go
+++ b/pkg/hooks/hooks_grpc.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
 // - protoc-gen-go-grpc v1.3.0
-// - protoc             v4.24.3
+// - protoc             v4.24.4
 // source: pkg/hooks/hooks.proto
 
 package hooks
diff --git a/pkg/plugin/manager/manager.go b/pkg/plugin/manager/manager.go
index 0b327ad5314ed33be61a69b4a652728bae00c449..388e7dbec53cf5d2f1ec01e453e0807c5e9d03ae 100644
--- a/pkg/plugin/manager/manager.go
+++ b/pkg/plugin/manager/manager.go
@@ -29,7 +29,7 @@ func New(config *config.Config) (*PluginManager, error) {
 }
 
 func (m *PluginManager) GetCICondition() (condition.CICondition, error) {
-	pluginInfo, err := m.discovery.FindPlugin(condition.CIConditionPluginName, m.config.CIConditionPlugin)
+	pluginInfo, err := m.discovery.FindPlugin(condition.CIConditionPluginName, m.config.CiConditionPlugin)
 	if err != nil {
 		return nil, err
 	}
@@ -127,7 +127,7 @@ func (m *PluginManager) Stop() {
 func (m *PluginManager) getAllPlugins() [][]string {
 	plugins := make([][]string, 0, 4)
 	// required plugins
-	plugins = append(plugins, []string{condition.CIConditionPluginName, m.config.CIConditionPlugin})
+	plugins = append(plugins, []string{condition.CIConditionPluginName, m.config.CiConditionPlugin})
 	plugins = append(plugins, []string{provider.PluginName, m.config.ProviderPlugin})
 	plugins = append(plugins, []string{analyzer.CommitAnalyzerPluginName, m.config.CommitAnalyzerPlugin})
 	plugins = append(plugins, []string{generator.ChangelogGeneratorPluginName, m.config.ChangelogGeneratorPlugin})
diff --git a/pkg/provider/provider.pb.go b/pkg/provider/provider.pb.go
index cc1c2368bedc70f4c54025bee593ba062498d456..48482ddd1031e1030cf8de0c3e8479aa976dc494 100644
--- a/pkg/provider/provider.pb.go
+++ b/pkg/provider/provider.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // 	protoc-gen-go v1.31.0
-// 	protoc        v4.24.3
+// 	protoc        v4.24.4
 // source: pkg/provider/provider.proto
 
 package provider
diff --git a/pkg/provider/provider_grpc.pb.go b/pkg/provider/provider_grpc.pb.go
index ad749b2754204fe6c2fc21c8f238dc1cf79f627f..84a5b1a4daa032cd385b4cacbd8d9c4af47f662d 100644
--- a/pkg/provider/provider_grpc.pb.go
+++ b/pkg/provider/provider_grpc.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
 // - protoc-gen-go-grpc v1.3.0
-// - protoc             v4.24.3
+// - protoc             v4.24.4
 // source: pkg/provider/provider.proto
 
 package provider
diff --git a/pkg/semrel/structs.pb.go b/pkg/semrel/structs.pb.go
index 3215eabe58caa1238be7aa175bb7f13db8be6097..85a5957601f1cf3d7f39bd569cf606ae3f39e1fd 100644
--- a/pkg/semrel/structs.pb.go
+++ b/pkg/semrel/structs.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // 	protoc-gen-go v1.31.0
-// 	protoc        v4.24.3
+// 	protoc        v4.24.4
 // source: pkg/semrel/structs.proto
 
 package semrel
diff --git a/pkg/updater/updater.pb.go b/pkg/updater/updater.pb.go
index a0a691f42bdae6d7f1a0471f570c52277d896e92..a899bf18c927066c630e9add554e4f77a9272aff 100644
--- a/pkg/updater/updater.pb.go
+++ b/pkg/updater/updater.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // 	protoc-gen-go v1.31.0
-// 	protoc        v4.24.3
+// 	protoc        v4.24.4
 // source: pkg/updater/updater.proto
 
 package updater
diff --git a/pkg/updater/updater_grpc.pb.go b/pkg/updater/updater_grpc.pb.go
index f473329132e74a5ef7b1fb87e367dc5b931cae75..23785a9b80c168bb08f72f25608f00be5dc5c644 100644
--- a/pkg/updater/updater_grpc.pb.go
+++ b/pkg/updater/updater_grpc.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
 // - protoc-gen-go-grpc v1.3.0
-// - protoc             v4.24.3
+// - protoc             v4.24.4
 // source: pkg/updater/updater.proto
 
 package updater