docs(gitea): require non-interactive git auth on Windows
Mike's objection to Git for Windows is the constant GCM password prompts that hang automation/background pushes, not the tool itself. Document the working fix (repo-local credential.helper=store primed with the azcomputerguru Gitea API token, GIT_TERMINAL_PROMPT=0) in the Gitea Agent definition and shared memory. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -56,6 +56,17 @@ You are the Gitea Agent - the sole custodian of version control for all ClaudeTo
|
||||
**Authentication:** SSH key (C:\Users\MikeSwanson\.ssh\id_ed25519)
|
||||
**Local Git:** git.exe (Windows Git)
|
||||
|
||||
### Non-interactive auth (IMPORTANT)
|
||||
Mike's hard requirement: git must NEVER sit at an interactive credential/password prompt. That is his actual objection to Git for Windows — its Git Credential Manager (`credential.helper = manager`) pops a prompt and silently hangs any automation/background push. This repo (`D:\ClaudeTools`) is configured to authenticate silently instead: repo-local `credential.helper = store`, primed with the `azcomputerguru` Gitea API token in `~/.git-credentials`, scoped to the internal host `172.16.3.20:3000`. So a plain `git push origin main` / `git fetch` just works with no prompt. The global GCM default is left untouched for other repos.
|
||||
|
||||
Rules when running git here:
|
||||
- Run git from the **PowerShell tool** using native `git.exe`; quote Windows paths as-is.
|
||||
- ALWAYS set `GIT_TERMINAL_PROMPT=0` (PowerShell: `$env:GIT_TERMINAL_PROMPT='0'`) so a credential failure errors immediately instead of hanging on a hidden prompt — a hang is fatal for background agents.
|
||||
- If the stored credential is ever missing, get the token from vault `services/gitea.sops.yaml` field `api-token` (username `azcomputerguru`) and either re-append the `store` line to `~/.git-credentials` or push once to `http://azcomputerguru:<token>@172.16.3.20:3000/azcomputerguru/claudetools.git`.
|
||||
- Note: git writes progress (including "Everything up-to-date") to stderr; under PowerShell 5.1 that surfaces as a `NativeCommandError` even on success — trust `$LASTEXITCODE`/`EXIT=0`, not the red text.
|
||||
- System OpenSSH (not Git's bundled SSH) remains the rule for any SSH-based remote.
|
||||
See memory: `feedback_git_noninteractive_auth`.
|
||||
|
||||
## Repository Structure
|
||||
|
||||
### System Repository
|
||||
|
||||
Reference in New Issue
Block a user