e59d5bbd29
On startup the app runs git config --global to set a commit identity (GIT_USER_NAME/GIT_USER_EMAIL), safe.directory=* for host-owned mounts, and http.<GITEA_URL>.extraheader with the Gitea token so push/fetch/pull authenticate over HTTPS without an SSH key. New git.CLI.SetGlobalConfig and config fields. Verified: fetch via the app works and the identity/header are set. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
81 lines
3.5 KiB
Bash
81 lines
3.5 KiB
Bash
# ---------------------------------------------------------------------------
|
|
# GitManager configuration. Copy this file to `.env` and fill in values.
|
|
# NEVER commit a real `.env` (it is git-ignored). See AGENT.md §1.5.
|
|
# ---------------------------------------------------------------------------
|
|
|
|
# Address the HTTP server binds to. Localhost-only by default: there is NO
|
|
# authentication (AGENT.md §0). Only bind to a non-local interface deliberately.
|
|
LISTEN_ADDR=127.0.0.1:8080
|
|
|
|
# HTTPS (optional, but REQUIRED for the MCP connector — Claude Desktop only
|
|
# accepts https:// URLs). When HTTPS_ADDR and both cert/key are set, an HTTPS
|
|
# listener starts alongside HTTP. docker-compose sets these to the mounted certs.
|
|
# Generate a locally-trusted cert on the HOST with mkcert (installs a local CA
|
|
# your OS — and Claude Desktop — will trust), from the project root:
|
|
# winget install FiloSottile.mkcert
|
|
# mkcert -install # trust step (adds the local CA)
|
|
# mkdir certs
|
|
# mkcert -cert-file certs/localhost.pem -key-file certs/localhost-key.pem localhost 127.0.0.1 ::1
|
|
# Then connect Claude Desktop to https://localhost:8443/mcp
|
|
HTTPS_ADDR=
|
|
TLS_CERT_FILE=
|
|
TLS_KEY_FILE=
|
|
|
|
# Roots to scan for Git repositories, comma-separated (absolute paths).
|
|
# Inside Docker these must be the *container* paths that the host roots are
|
|
# mounted to (see docker-compose.yml). Example: /repos,/work/other
|
|
GIT_REPO_ROOTS=/repos
|
|
|
|
# DOCKER ONLY: the HOST folder that holds your repositories. docker-compose
|
|
# mounts it to /repos inside the container (which GIT_REPO_ROOTS points at).
|
|
# Ignored when running the binary directly. Example: C:/Users/you/Projects
|
|
REPOS_HOST_PATH=./repos
|
|
|
|
# Path to the git binary. "git" resolves it from PATH (git is installed in the
|
|
# container image).
|
|
GIT_BIN=git
|
|
|
|
# --- Repo scanner (read-only; AGENT.md §5) ---------------------------------
|
|
|
|
# How often the background scanner refreshes repo state.
|
|
SCAN_INTERVAL=30s
|
|
|
|
# Max directory depth to descend under each root when discovering repos.
|
|
SCAN_MAX_DEPTH=4
|
|
|
|
# Directory names to skip during discovery, comma-separated.
|
|
SCAN_IGNORE=node_modules,vendor,.cache
|
|
|
|
# Allow the scanner to run `git fetch` (network) to keep ahead/behind counts
|
|
# current. OFF by default — no unsolicited network. (AGENT.md §5)
|
|
SCAN_FETCH_ENABLED=false
|
|
|
|
# --- Logging (AGENT.md §7) --------------------------------------------------
|
|
|
|
# "dev" uses a readable console handler; anything else uses structured JSON.
|
|
APP_ENV=dev
|
|
|
|
# Commit identity for git actions the app runs (commit/etc.). Without these,
|
|
# commits inside the container fail with "empty ident". Set to your name/email.
|
|
GIT_USER_NAME=
|
|
GIT_USER_EMAIL=
|
|
# Note: when GITEA_URL + GITEA_TOKEN are set, the app also configures git to
|
|
# authenticate to that host over HTTPS (an http.extraheader), so push/fetch/pull
|
|
# work from the container without a separate SSH key or credential helper.
|
|
|
|
# Optional: also append structured logs to this file. Leave empty to disable.
|
|
LOG_FILE=
|
|
|
|
# --- Forge integration — token-gated, READ + WRITE (AGENT.md §8.4) ----------
|
|
# The primary host is a self-hosted Gitea/Forgejo. Set BOTH the base URL and a
|
|
# token to enable PRs + "Merge & clean up"; with neither, the forge features are
|
|
# simply absent and the rest of the app is unaffected. A repo is forge-enabled
|
|
# when its origin remote host matches GITEA_URL's host. Writes (merge PR + delete
|
|
# branch) are confirmed per AGENT.md §1.4. Token scope: repo read + PR write +
|
|
# branch delete.
|
|
GITEA_URL=
|
|
GITEA_TOKEN=
|
|
# Later providers, behind the same interface (unused for now):
|
|
GITHUB_TOKEN=
|
|
GITLAB_TOKEN=
|