securegit 0.8.5

Zero-trust git replacement with 12 built-in security scanners, LLM redteam bridge, universal undo, durable backups, and a 50-tool MCP server
Documentation
# securegit-workflows.conf — Default configuration for SecureGit workflow scripts
#
# Loading order (later overrides earlier):
#   1. workflows/securegit-workflows.conf   (this file — shipped defaults)
#   2. ~/.config/securegit/workflows.conf   (user global)
#   3. .securegit/workflows.conf            (per-project)
#   4. Environment variables                (runtime override)
#
# All settings are optional. Uncomment and modify as needed.

# ─── Branch conventions ─────────────────────────────────────────────────────
# Space-separated list of branches that cannot be deleted or force-pushed
SG_PROTECTED_BRANCHES="${SG_PROTECTED_BRANCHES:-main master develop staging production}"

# Valid branch name prefixes (used by branch manager for suggestions)
SG_BRANCH_PREFIXES="${SG_BRANCH_PREFIXES:-feature bugfix hotfix release experiment refactor docs test chore}"

# Default branch name (auto-detected from remote if empty)
SG_DEFAULT_BRANCH="${SG_DEFAULT_BRANCH:-}"

# ─── Commit conventions ─────────────────────────────────────────────────────
# Conventional commit types (space-separated)
SG_COMMIT_TYPES="${SG_COMMIT_TYPES:-feat fix docs style refactor perf test build ci chore revert}"

# Allowed scopes (empty = any scope accepted)
SG_COMMIT_SCOPES="${SG_COMMIT_SCOPES:-}"

# Require a ticket reference in commit messages
SG_REQUIRE_TICKET="${SG_REQUIRE_TICKET:-false}"

# Regex pattern for ticket references (e.g., JIRA-123, GH-42)
SG_TICKET_PATTERN="${SG_TICKET_PATTERN:-[A-Z]+-[0-9]+}"

# ─── Merge preferences ──────────────────────────────────────────────────────
# Default merge strategy: merge, squash, rebase, ff-only
SG_DEFAULT_MERGE_STRATEGY="${SG_DEFAULT_MERGE_STRATEGY:-squash}"

# Days before a branch is considered stale
SG_STALE_BRANCH_DAYS="${SG_STALE_BRANCH_DAYS:-30}"

# ─── Remote ──────────────────────────────────────────────────────────────────
# Primary remote name
SG_PRIMARY_REMOTE="${SG_PRIMARY_REMOTE:-origin}"

# ─── Quality gates ──────────────────────────────────────────────────────────
# Run securegit scan before committing
SG_PRE_COMMIT_SCAN="${SG_PRE_COMMIT_SCAN:-true}"

# Run securegit scan before pushing
SG_PRE_PUSH_SCAN="${SG_PRE_PUSH_SCAN:-true}"

# Maximum diff lines before suggesting a split
SG_MAX_DIFF_LINES="${SG_MAX_DIFF_LINES:-200}"

# ─── Project (auto-detected if empty) ───────────────────────────────────────
# Override auto-detected language: rust, go, python, js, java, ruby, php, c, generic
SG_LANGUAGE="${SG_LANGUAGE:-}"

# Override auto-detected commands (empty = auto-detect)
SG_TEST_CMD="${SG_TEST_CMD:-}"
SG_LINT_CMD="${SG_LINT_CMD:-}"
SG_FMT_CMD="${SG_FMT_CMD:-}"
SG_BUILD_CMD="${SG_BUILD_CMD:-}"

# ─── Release ─────────────────────────────────────────────────────────────────
# Release branch pattern (regex)
SG_RELEASE_BRANCH_PATTERN="${SG_RELEASE_BRANCH_PATTERN:-^release/}"

# Version file paths to update (space-separated, auto-detected if empty)
SG_VERSION_FILES="${SG_VERSION_FILES:-}"

# ─── Environment pipeline ───────────────────────────────────────────────────
# Space-separated ordered list of environments
SG_ENVIRONMENTS="${SG_ENVIRONMENTS:-development staging production}"

# Branch mapping: environment=branch (space-separated pairs)
SG_ENV_BRANCHES="${SG_ENV_BRANCHES:-development=develop staging=staging production=main}"

# ─── Multi-repo ──────────────────────────────────────────────────────────────
# Base directory for related repos (empty = parent directory)
SG_WORKSPACE_DIR="${SG_WORKSPACE_DIR:-}"

# Space-separated list of repo directories to manage together
SG_REPO_GROUP="${SG_REPO_GROUP:-}"

# ─── Worktree ────────────────────────────────────────────────────────────────
# Base directory for worktrees (relative to repo root)
SG_WORKTREE_DIR="${SG_WORKTREE_DIR:-.worktrees}"