config

package
v0.0.0-...-f2e6f42 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package config provides configuration management for the MCP GitHub Server.

Index

Constants

View Source
const (
	// DefaultConfigPath is the default location for safety.json
	DefaultConfigPath = "./safety.json"
)

Variables

This section is empty.

Functions

func CreateDefaultConfig

func CreateDefaultConfig(configPath string) error

CreateDefaultConfig creates a default safety.json file

func LoadConfig

func LoadConfig(configPath string) (*safety.SafetyConfig, error)

LoadConfig loads configuration from safety.json or returns default config

func SaveConfig

func SaveConfig(configPath string, safetyConfig *safety.SafetyConfig) error

SaveConfig saves configuration to a file

func ValidateConfig

func ValidateConfig(cfg *Config) error

ValidateConfig validates configuration settings

Types

type Config

type Config struct {
	Version            string                       `json:"version"`
	SafetyMode         string                       `json:"safetyMode"`
	GlobalSettings     GlobalSettings               `json:"globalSettings"`
	Modes              map[string]ModeSettings      `json:"modes,omitempty"`
	OperationOverrides map[string]OperationOverride `json:"operationOverrides,omitempty"`
}

Config represents the complete MCP server configuration

type GlobalSettings

type GlobalSettings struct {
	EnableAuditLog           bool   `json:"enableAuditLog"`
	AuditLogPath             string `json:"auditLogPath"`
	RequireConfirmationAbove string `json:"requireConfirmationAbove"`
	EnableAutoBackup         bool   `json:"enableAutoBackup"`
	BackupPath               string `json:"backupPath"`
}

GlobalSettings contains global configuration settings

type ModeSettings

type ModeSettings struct {
	BlockCriticalOperations  bool   `json:"blockCriticalOperations,omitempty"`
	ForceDryRunAll           bool   `json:"forceDryRunAll,omitempty"`
	RequireConfirmationAbove string `json:"requireConfirmationAbove,omitempty"`
}

ModeSettings contains settings for a specific safety mode

type OperationOverride

type OperationOverride struct {
	RequireConfirmation bool   `json:"requireConfirmation,omitempty"`
	RequireBackup       bool   `json:"requireBackup,omitempty"`
	RequireDryRun       bool   `json:"requireDryRun,omitempty"`
	CustomMessage       string `json:"customMessage,omitempty"`
}

OperationOverride allows per-operation custom settings

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL