Documentation
¶
Overview ¶
Package config provides subcommands for managing the eng CLI configuration. It allows users to view and modify settings stored in the $HOME/.eng.yaml file.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ConfigCmd = &cobra.Command{ Use: "config", Short: "Manage the cli's config file.", Long: `This command is used to facilitate the management of the config file specific to this cli. It should be located at $HOME/.eng.yaml`, Run: func(cmd *cobra.Command, _args []string) { headerStyle := lipgloss.NewStyle(). Bold(true). Foreground(theme.Primary). MarginBottom(1) if !ui.DisableProgress { fmt.Fprintln(log.Out, headerStyle.Render("⚙️ CLI Configuration Inspector")) } config.Email() config.DotfilesRepo() config.RepoURL() config.Branch() config.BareRepoPath() config.GitDevPath() config.Verbose() }, }
ConfigCmd represents the base command for all configuration related operations.
var DotfilesBareRepoPathCmd = &cobra.Command{ Use: "dotfiles-bare-repo-path", Short: "Update config dotfiles bare repo path", Long: `Get or set the path where the bare dotfiles repository should be stored.`, Run: func(cmd *cobra.Command, args []string) { config.BareRepoPath() }, }
DotfilesBareRepoPathCmd represents the command to manage the bare repository path configuration.
var DotfilesBranchCmd = &cobra.Command{ Use: "dotfiles-branch", Short: "Update config dotfiles branch", Long: `Get or set the dotfiles branch (main/work/server) in the configuration file.`, Run: func(cmd *cobra.Command, _args []string) { config.Branch() }, }
DotfilesBranchCmd represents the command to manage the dotfiles branch configuration.
var DotfilesRepoCmd = &cobra.Command{ Use: "dotfiles-repo", Short: "Update config dotfiles repo path", Long: `This command sets the path to the local dotfiles repository in the config file.`, Run: func(cmd *cobra.Command, args []string) { log.Start("Checking for dotfile repo path in config file...") config.DotfilesRepo() }, }
DotfilesRepoCmd defines the command for setting the local dotfiles repository path.
var DotfilesRepoURLCmd = &cobra.Command{ Use: "dotfiles-repo-url", Short: "Update config dotfiles repo URL", Long: `Get or set the dotfiles repository URL in the configuration file.`, Run: func(cmd *cobra.Command, args []string) { config.RepoURL() }, }
DotfilesRepoURLCmd represents the command to manage the dotfiles repository URL configuration.
var DotfilesTargetRepoPathCmd = &cobra.Command{ Use: "dotfiles-target-repo-path [path]", Short: "Show or set the dotfiles target repo path for copy-changes", Long: `Show or set the explicit destination git repository used by 'eng dotfiles copy-changes'. With a path argument, validates that it exists and saves it, so future copies no longer depend on dev-folder heuristics. Without arguments, prints the currently effective path and where it came from.`, Example: ` eng config dotfiles-target-repo-path eng config dotfiles-target-repo-path ~/Development/dotfiles`, Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { if len(args) > 0 { if err := config.SetTargetRepoPath(args[0]); err != nil { log.Error("%s", err) return } log.Success("Target repository path set successfully") return } if explicit := config.GetDotfilesConfig().TargetRepoPath; explicit != "" { log.Info("Target repository path (explicit config): %s", os.ExpandEnv(explicit)) return } log.Info( "No explicit target set (heuristic would resolve: %s). Pass a path to pin it.", config.TargetRepoPath(config.GetGitConfig().DevPath), ) }, }
DotfilesTargetRepoPathCmd represents the command to manage the target repository path.
var EditCmd = &cobra.Command{ Use: "edit", Short: "Interactively edit the eng CLI configuration", Long: `Launch a beautiful TUI wizard to easily update your .eng.yaml configuration settings. By default, this command launches the interactive editor. Use --interactive=false if you want to bypass the wizard in the future (though currently, the interactive editor is the primary function of this command).`, Example: ` eng config edit eng config edit --interactive`, RunE: func(cmd *cobra.Command, args []string) error { headerStyle := lipgloss.NewStyle(). Bold(true). Foreground(theme.Primary). MarginBottom(1) if !ui.DisableProgress { fmt.Fprintln(log.Out, headerStyle.Render("📝 Interactive Configuration Editor")) } if !interactiveMode { return config.RunInteractiveEditor() } return config.RunInteractiveEditor() }, }
EditCmd represents the edit command.
var EmailCmd = &cobra.Command{ Use: "email", Short: "Update config email", Long: `This command should validate and update the email config.`, Run: func(cmd *cobra.Command, args []string) { log.Start("Checking for email in config file...") config.Email() }, }
EmailCmd defines the command for setting the user's email in the configuration.
var GitDevPathCmd = &cobra.Command{ Use: "git-dev-path", Short: "Update config git dev path", Long: `This command sets the path to the development folder containing git repositories in the config file.`, Run: func(cmd *cobra.Command, _args []string) { log.Start("Checking for development folder path in config file...") config.GitDevPath() }, }
GitDevPathCmd defines the command for setting the development folder path.
var IdeURLCmd = &cobra.Command{ Use: "ide-url [url]", Aliases: []string{"antigravity-url", "antigravity-ide-url", "ide-download-url"}, Short: "Update Antigravity IDE download URL", Long: `This command configures the direct download URL for Antigravity IDE updates in $HOME/.eng.yaml.`, Run: func(cmd *cobra.Command, args []string) { log.Start("Checking Antigravity IDE download URL in config file...") if len(args) > 0 { config.IdeURL(args[0]) } else { config.IdeURL() } }, }
IdeURLCmd defines the command for setting the Antigravity IDE download URL.
var ListCmd = &cobra.Command{ Use: "list", Aliases: []string{"show", "ls"}, Short: "Display a summary of all active configuration settings", Long: `Renders a formatted overview of all current configuration keys, values, and file paths.`, Run: func(cmd *cobra.Command, _args []string) { PrintConfigSummary() }, }
ListCmd represents the config list/show command.
var TelemetryCmd = &cobra.Command{ Use: "telemetry", Aliases: []string{"analytics", "metrics"}, Short: "Manage OpenPanel telemetry and analytics settings", Long: `Configure anonymous telemetry reporting to your OpenPanel instance. Telemetry helps track command usage, execution performance, and reliability insights. Privacy respects: The DO_NOT_TRACK=1 and ENG_TELEMETRY_DISABLED=1 environment variables are honored globally.`, Run: func(cmd *cobra.Command, _args []string) { config.Telemetry() }, }
TelemetryCmd defines the command for managing telemetry and analytics preferences.
var VerboseCmd = &cobra.Command{ Use: "verbose", Short: "Update config verbose setting", Long: `This command should validate and update the verbose config setting.`, Run: func(cmd *cobra.Command, _args []string) { log.Start("Checking for verbose setting in config file...") config.Verbose() }, }
VerboseCmd defines the command for managing the verbose output setting.
Functions ¶
func PrintConfigSummary ¶ added in v1.41.0
func PrintConfigSummary()
PrintConfigSummary renders a stylized card of all current settings.
func PrintTelemetryStatus ¶ added in v1.48.0
func PrintTelemetryStatus()
PrintTelemetryStatus prints a styled summary card of telemetry configuration.
Types ¶
This section is empty.