Fix: Always auto-detect Gitea URL from current directory

- Remove all user prompts for repository URL
- URL is now always constructed from folder name
- Add CRITICAL section highlighting auto-detection
- Simplify Step 5 to make auto-detection foolproof
- Update QA checklist to verify URL was auto-detected
- Never ask user for URL - this is a bug if it happens
This commit is contained in:
root
2025-11-23 21:24:50 +00:00
parent a2c098805f
commit 658e1cd567

View File

@@ -32,6 +32,23 @@ This agent systematically preserves your work and context at the end of developm
## Execution Protocol
### Important: Automatic Repository URL Detection
**The Gitea repository URL is ALWAYS automatically detected based on the current working directory. NEVER ask the user to manually enter the URL.**
The URL is constructed as:
```
http://100.120.125.113:3000/pdm/{folder-name}.git
```
Where `{folder-name}` is obtained from `basename "$PWD"`. For example:
- Current directory: `/home/user/projects/my-app` → Repository: `http://100.120.125.113:3000/pdm/my-app.git`
- Current directory: `/home/user/.homelab-agents` → Repository: `http://100.120.125.113:3000/pdm/homelab-agents.git` (special case)
If the user is prompted for a URL, this is a bug in the agent implementation.
---
### Step 1: Create Comprehensive Session Summary
Analyze the **entire conversation history** to extract:
@@ -124,21 +141,31 @@ Add new timestamped entry:
### Step 5: Ensure Git Remote & Auto-Create Repository (Gitea-Optimized)
**CRITICAL: Always auto-detect the repository URL based on current directory. NEVER prompt the user for the URL.**
Handle Git remote configuration and auto-create Gitea repository if needed:
#### Detect Repository Type:
#### Auto-Detect Repository Type & URL (Always):
```bash
# Check if this is homelab-agents (shared) or a VPS project
# GITEA base configuration (never changes)
GITEA_URL="http://100.120.125.113:3000"
GITEA_ORG="pdm"
# Always auto-detect from current directory
if [[ "$PWD" == *"homelab-agents"* ]]; then
REPO_TYPE="homelab-agents"
REPO_URL="http://100.120.125.113:3000/pdm/homelab-agents.git"
REPO_NAME="homelab-agents"
else
REPO_TYPE="vps-project"
PROJECT_NAME=$(basename "$PWD")
REPO_URL="http://100.120.125.113:3000/pdm/$PROJECT_NAME.git"
REPO_NAME="$PROJECT_NAME"
REPO_NAME=$(basename "$PWD")
fi
# Construct URL automatically (NO USER PROMPT)
REPO_URL="$GITEA_URL/$GITEA_ORG/$REPO_NAME.git"
echo "✅ Detected repository: $REPO_NAME"
echo " Type: $REPO_TYPE"
echo " URL: $REPO_URL"
```
#### Auto-Create Repository if Missing (Optional - Requires API Token):
@@ -165,25 +192,24 @@ elif [[ -z "$GITEA_TOKEN" && "$REPO_TYPE" == "vps-project" ]]; then
fi
```
#### Configure Git Remote:
#### Configure Git Remote (Always Use Auto-Detected URL):
```bash
# Check if origin already exists
if git remote get-url origin &>/dev/null; then
CURRENT_REMOTE=$(git remote get-url origin)
if [[ "$CURRENT_REMOTE" != *"100.120.125.113"* ]]; then
git remote set-url origin "$REPO_URL"
fi
else
# Always set origin to the auto-detected URL
git remote remove origin 2>/dev/null || true
git remote add origin "$REPO_URL"
fi
# Verify it's set correctly
git remote -v
```
#### Verify Configuration:
#### Save Repository Configuration:
```bash
git remote -v
echo "GITEA_URL=http://100.120.125.113:3000" > .gitconfig.local
# Document the repository configuration for future reference
echo "GITEA_URL=$GITEA_URL" > .gitconfig.local
echo "GITEA_ORG=$GITEA_ORG" >> .gitconfig.local
echo "REPOSITORY_TYPE=$REPO_TYPE" >> .gitconfig.local
echo "REPOSITORY_PATH=pdm/$REPO_NAME.git" >> .gitconfig.local
echo "REPOSITORY_NAME=$REPO_NAME" >> .gitconfig.local
echo "REPOSITORY_URL=$REPO_URL" >> .gitconfig.local
git add .gitconfig.local
```
@@ -280,6 +306,7 @@ Before declaring a session closed, verify:
- [ ] README.md is updated and professional
- [ ] All modified code/config files are saved
- [ ] CLAUDE.md accurately reflects current state
- [ ] **Git remote URL was auto-detected (no user prompt)** ← Critical
- [ ] Git remote is correctly configured to Gitea
- [ ] Git commit succeeded with descriptive message
- [ ] Git push succeeded to Gitea